All functions:
  Elements:
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/fuzz_tok822.c:31,1
    - Dst: memcpy
      Src: /src/fuzz_tok822.c:35,1
    - Dst: vstring_alloc
      Src: /src/fuzz_tok822.c:38,1
    - Dst: tok822_parse_limit
      Src: /src/fuzz_tok822.c:40,1
    - Dst: tok822_internalize
      Src: /src/fuzz_tok822.c:41,1
    - Dst: tok822_externalize
      Src: /src/fuzz_tok822.c:42,1
    - Dst: tok822_externalize
      Src: /src/fuzz_tok822.c:43,1
    - Dst: tok822_free_tree
      Src: /src/fuzz_tok822.c:44,1
    - Dst: vstring_free
      Src: /src/fuzz_tok822.c:45,1
    - Dst: free
      Src: /src/fuzz_tok822.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 49
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_tok822.c
    functionUses: 0
    functionsReached:
    - free
    - vstring_alloc
    - tok822_externalize
    - memcpy
    - malloc
    - tok822_parse_limit
    - tok822_free_tree
    - vstring_free
    - tok822_internalize
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - context
    - class
    - unused_info
    - buf
    - offset
    argTypes:
    - void*
    - int
    - HEADER_OPTS*
    - VSTRING*
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: head_out
    functionSourceFile: /src/fuzz_mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void head_out(void *context, int class, const HEADER_OPTS *unused_info,\n
      \                    VSTRING *buf, off_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: head_end
    functionSourceFile: /src/fuzz_mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void head_end(void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: body_end
    functionSourceFile: /src/fuzz_mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void body_end(void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - unused_context
    - err_flag
    - text
    - len
    argTypes:
    - void*
    - int
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: err_print
    functionSourceFile: /src/fuzz_mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void err_print(void *unused_context, int err_flag, const char *text,\n
      \                     ssize_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - context
    - rec_type
    - buf
    - len
    - offset
    argTypes:
    - void*
    - int
    - char*
    - ssize_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: body_out
    functionSourceFile: /src/fuzz_mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void body_out(void *context, int rec_type, const char *buf, ssize_t
      len,\n                     off_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/fuzz_mime.c:50,1
    - Dst: memcpy
      Src: /src/fuzz_mime.c:54,1
    - Dst: msg_vstream_init
      Src: /src/fuzz_mime.c:67,1
    - Dst: mime_state_alloc
      Src: /src/fuzz_mime.c:68,1
    - Dst: mime_state_update
      Src: /src/fuzz_mime.c:70,1
    - Dst: mime_state_free
      Src: /src/fuzz_mime.c:71,1
    - Dst: free
      Src: /src/fuzz_mime.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_mime.c
    functionUses: 0
    functionsReached:
    - mime_state_alloc
    - mime_state_update
    - free
    - mime_state_free
    - msg_vstream_init
    - memcpy
    - malloc
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getaddrinfo.c:38,1
    - Dst: exit
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getaddrinfo.c:39,1
    - Dst: memset
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getaddrinfo.c:41,1
    - Dst: getaddrinfo
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getaddrinfo.c:45,1
    - Dst: fprintf
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getaddrinfo.c:46,1
    - Dst: gai_strerror
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getaddrinfo.c:46,1
    - Dst: exit
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getaddrinfo.c:47,1
    - Dst: printf
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getaddrinfo.c:49,1
    - Dst: printf
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getaddrinfo.c:50,1
    - Dst: inet_ntop
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getaddrinfo.c:55,1
    - Dst: perror
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getaddrinfo.c:56,1
    - Dst: exit
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getaddrinfo.c:57,1
    - Dst: printf
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getaddrinfo.c:59,1
    - Dst: printf
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getaddrinfo.c:61,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getaddrinfo.c:62,1
    - Dst: exit
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getaddrinfo.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/postfix/postfix/auxiliary/name-addr-test/getaddrinfo.c
    functionUses: 0
    functionsReached:
    - getaddrinfo
    - exit
    - freeaddrinfo
    - printf
    - gai_strerror
    - memset
    - inet_ntop
    - perror
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getnameinfo.c:39,1
    - Dst: exit
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getnameinfo.c:40,1
    - Dst: memset
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getnameinfo.c:47,1
    - Dst: strchr
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getnameinfo.c:48,1
    - Dst: getaddrinfo
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getnameinfo.c:51,1
    - Dst: fprintf
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getnameinfo.c:52,1
    - Dst: gai_strerror
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getnameinfo.c:52,1
    - Dst: exit
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getnameinfo.c:53,1
    - Dst: getnameinfo
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getnameinfo.c:60,1
    - Dst: fprintf
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getnameinfo.c:64,1
    - Dst: gai_strerror
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getnameinfo.c:64,1
    - Dst: exit
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getnameinfo.c:65,1
    - Dst: printf
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getnameinfo.c:67,1
    - Dst: inet_ntop
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getnameinfo.c:71,1
    - Dst: perror
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getnameinfo.c:72,1
    - Dst: exit
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getnameinfo.c:73,1
    - Dst: printf
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getnameinfo.c:75,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getnameinfo.c:77,1
    - Dst: exit
      Src: /src/postfix/postfix/auxiliary/name-addr-test/getnameinfo.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 79
    functionName: main
    functionSourceFile: /src/postfix/postfix/auxiliary/name-addr-test/getnameinfo.c
    functionUses: 0
    functionsReached:
    - strchr
    - getaddrinfo
    - exit
    - freeaddrinfo
    - printf
    - gai_strerror
    - memset
    - inet_ntop
    - getnameinfo
    - perror
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getchar
      Src: /src/postfix/postfix/mantools/comment.c:7,1
    - Dst: getchar
      Src: /src/postfix/postfix/mantools/comment.c:9,1
    - Dst: putchar
      Src: /src/postfix/postfix/mantools/comment.c:10,1
    - Dst: ungetc
      Src: /src/postfix/postfix/mantools/comment.c:14,1
    - Dst: putchar
      Src: /src/postfix/postfix/mantools/comment.c:15,1
    - Dst: putchar
      Src: /src/postfix/postfix/mantools/comment.c:17,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 20
    functionName: copy_comment
    functionSourceFile: /src/postfix/postfix/mantools/comment.c
    functionUses: 0
    functionsReached:
    - putchar
    - ungetc
    - getchar
    linkageType: ''
    returnType: void
    signature: void copy_comment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getchar
      Src: /src/postfix/postfix/mantools/comment.c:26,1
    - Dst: getchar
      Src: /src/postfix/postfix/mantools/comment.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - quote
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: skip_string
    functionSourceFile: /src/postfix/postfix/mantools/comment.c
    functionUses: 0
    functionsReached:
    - getchar
    linkageType: ''
    returnType: void
    signature: void skip_string(int quote)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getchar
      Src: /src/postfix/postfix/mantools/comment.c:39,1
    - Dst: getchar
      Src: /src/postfix/postfix/mantools/comment.c:42,1
    - Dst: copy_comment
      Src: /src/postfix/postfix/mantools/comment.c:43,1
    - Dst: getchar
      Src: /src/postfix/postfix/mantools/comment.c:45,1
    - Dst: putchar
      Src: /src/postfix/postfix/mantools/comment.c:46,1
    - Dst: ungetc
      Src: /src/postfix/postfix/mantools/comment.c:52,1
    - Dst: skip_string
      Src: /src/postfix/postfix/mantools/comment.c:57,1
    - Dst: getchar
      Src: /src/postfix/postfix/mantools/comment.c:60,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 66
    functionName: main
    functionSourceFile: /src/postfix/postfix/mantools/comment.c
    functionUses: 0
    functionsReached:
    - putchar
    - copy_comment
    - getchar
    - ungetc
    - skip_string
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - remote
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 354
    functionName: ANVIL_REMOTE_FIRST_CONN
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANVIL_REMOTE_FIRST_CONN(remote, id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - remote
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 362
    functionName: ANVIL_REMOTE_FREE
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANVIL_REMOTE_FREE(remote)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - remote
    - ','
    - _start
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 374
    functionName: ANVIL_REMOTE_RSET_RATE
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANVIL_REMOTE_RSET_RATE(remote, _start)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - remote
    - ','
    - _what
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: ANVIL_REMOTE_INCR_RATE
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANVIL_REMOTE_INCR_RATE(remote, _what)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - remote
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 393
    functionName: ANVIL_REMOTE_NEXT_CONN
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANVIL_REMOTE_NEXT_CONN(remote)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - remote
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 395
    functionName: ANVIL_REMOTE_INCR_MAIL
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANVIL_REMOTE_INCR_MAIL(remote)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - remote
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 397
    functionName: ANVIL_REMOTE_INCR_RCPT
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANVIL_REMOTE_INCR_RCPT(remote)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - remote
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 399
    functionName: ANVIL_REMOTE_INCR_NTLS
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANVIL_REMOTE_INCR_NTLS(remote)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - remote
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 401
    functionName: ANVIL_REMOTE_INCR_AUTH
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANVIL_REMOTE_INCR_AUTH(remote)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - remote
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 412
    functionName: ANVIL_REMOTE_DROP_ONE
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANVIL_REMOTE_DROP_ONE(remote)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - local
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 419
    functionName: ANVIL_LOCAL_INIT
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANVIL_LOCAL_INIT(local)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - local
    - ','
    - remote
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: ANVIL_LOCAL_REMOTE_LINKED
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANVIL_LOCAL_REMOTE_LINKED(local, remote)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _max
    - ','
    - _value
    - ','
    - _ident
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 496
    functionName: ANVIL_MAX_UPDATE
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANVIL_MAX_UPDATE(_max, _value, _ident)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _max
    - ','
    - _name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 506
    functionName: ANVIL_MAX_RATE_REPORT
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANVIL_MAX_RATE_REPORT(_max, _name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _max
    - ','
    - _name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 515
    functionName: ANVIL_MAX_COUNT_REPORT
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANVIL_MAX_COUNT_REPORT(_max, _name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 520
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - 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: 521
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 521
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x,y)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/anvil/anvil.c:530,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/anvil/anvil.c:533,1
    - Dst: htable_delete
      Src: /src/postfix/postfix/src/anvil/anvil.c:536,1
    - Dst: ANVIL_REMOTE_FREE
      Src: /src/postfix/postfix/src/anvil/anvil.c:538,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/anvil/anvil.c:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 543
    functionName: anvil_remote_expire
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - ANVIL_REMOTE_FREE
    - htable_delete
    - msg_info
    linkageType: ''
    returnType: void
    signature: void anvil_remote_expire(int unused_event, void *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/anvil/anvil.c:553,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/anvil/anvil.c:554,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/anvil/anvil.c:561,1
    - Dst: attr_print_plain
      Src: /src/postfix/postfix/src/anvil/anvil.c:562,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:563,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:564,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:565,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:566,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:567,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:568,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:569,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/anvil/anvil.c:577,1
    - Dst: ANVIL_REMOTE_RSET_RATE
      Src: /src/postfix/postfix/src/anvil/anvil.c:578,1
    - Dst: attr_print_plain
      Src: /src/postfix/postfix/src/anvil/anvil.c:579,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:580,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:581,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:582,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:583,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:584,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:585,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:586,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - client_stream
    - ident
    argTypes:
    - VSTREAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 589
    functionName: anvil_remote_lookup
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_INT
    - ANVIL_REMOTE_RSET_RATE
    - msg_info
    - event_time
    - attr_print_plain
    - vstream_fileno
    - htable_find
    linkageType: ''
    returnType: void
    signature: void anvil_remote_lookup(VSTREAM *client_stream, const char *ident)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/anvil/anvil.c:600,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/anvil/anvil.c:601,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/anvil/anvil.c:611,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/anvil/anvil.c:612,1
    - Dst: ANVIL_REMOTE_FIRST_CONN
      Src: /src/postfix/postfix/src/anvil/anvil.c:613,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/anvil/anvil.c:614,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/anvil/anvil.c:617,1
    - Dst: ANVIL_REMOTE_NEXT_CONN
      Src: /src/postfix/postfix/src/anvil/anvil.c:620,1
    - Dst: vstream_context
      Src: /src/postfix/postfix/src/anvil/anvil.c:627,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/anvil/anvil.c:628,1
    - Dst: ANVIL_LOCAL_INIT
      Src: /src/postfix/postfix/src/anvil/anvil.c:629,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/anvil/anvil.c:630,1
    - Dst: CA_VSTREAM_CTL_CONTEXT
      Src: /src/postfix/postfix/src/anvil/anvil.c:631,1
    - Dst: ANVIL_LOCAL_ADD_ONE
      Src: /src/postfix/postfix/src/anvil/anvil.c:634,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/anvil/anvil.c:636,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - client_stream
    - ident
    argTypes:
    - VSTREAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 640
    functionName: anvil_remote_conn_update
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached:
    - ANVIL_LOCAL_INIT
    - mymalloc
    - ANVIL_LOCAL_ADD_ONE
    - ANVIL_REMOTE_FIRST_CONN
    - ANVIL_REMOTE_NEXT_CONN
    - CA_VSTREAM_CTL_CONTEXT
    - msg_info
    - event_time
    - htable_enter
    - vstream_control
    - vstream_fileno
    - htable_find
    - vstream_context
    linkageType: ''
    returnType: ANVIL_REMOTE
    signature: ANVIL_REMOTE *anvil_remote_conn_update(VSTREAM *client_stream, const
      char *ident)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: anvil_remote_conn_update
      Src: /src/postfix/postfix/src/anvil/anvil.c:651,1
    - Dst: attr_print_plain
      Src: /src/postfix/postfix/src/anvil/anvil.c:656,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:657,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:658,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:659,1
    - Dst: ANVIL_MAX_UPDATE
      Src: /src/postfix/postfix/src/anvil/anvil.c:666,1
    - Dst: ANVIL_MAX_UPDATE
      Src: /src/postfix/postfix/src/anvil/anvil.c:668,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - client_stream
    - ident
    argTypes:
    - VSTREAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 644
    functionDepth: 2
    functionLinenumber: 644
    functionLinenumberEnd: 669
    functionName: anvil_remote_connect
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached:
    - anvil_remote_conn_update
    - SEND_ATTR_INT
    - ANVIL_MAX_UPDATE
    - attr_print_plain
    linkageType: ''
    returnType: void
    signature: void anvil_remote_connect(VSTREAM *client_stream, const char *ident)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htable_find
      Src: /src/postfix/postfix/src/anvil/anvil.c:681,1
    - Dst: anvil_remote_conn_update
      Src: /src/postfix/postfix/src/anvil/anvil.c:682,1
    - Dst: ANVIL_REMOTE_INCR_MAIL
      Src: /src/postfix/postfix/src/anvil/anvil.c:687,1
    - Dst: attr_print_plain
      Src: /src/postfix/postfix/src/anvil/anvil.c:688,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:689,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:690,1
    - Dst: ANVIL_MAX_UPDATE
      Src: /src/postfix/postfix/src/anvil/anvil.c:697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - client_stream
    - ident
    argTypes:
    - VSTREAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 698
    functionName: anvil_remote_mail
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached:
    - ANVIL_REMOTE_INCR_MAIL
    - ANVIL_MAX_UPDATE
    - SEND_ATTR_INT
    - anvil_remote_conn_update
    - attr_print_plain
    - htable_find
    linkageType: ''
    returnType: void
    signature: void anvil_remote_mail(VSTREAM *client_stream, const char *ident)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htable_find
      Src: /src/postfix/postfix/src/anvil/anvil.c:710,1
    - Dst: anvil_remote_conn_update
      Src: /src/postfix/postfix/src/anvil/anvil.c:711,1
    - Dst: ANVIL_REMOTE_INCR_RCPT
      Src: /src/postfix/postfix/src/anvil/anvil.c:716,1
    - Dst: attr_print_plain
      Src: /src/postfix/postfix/src/anvil/anvil.c:717,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:718,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:719,1
    - Dst: ANVIL_MAX_UPDATE
      Src: /src/postfix/postfix/src/anvil/anvil.c:726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - client_stream
    - ident
    argTypes:
    - VSTREAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 702
    functionDepth: 2
    functionLinenumber: 702
    functionLinenumberEnd: 727
    functionName: anvil_remote_rcpt
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached:
    - ANVIL_MAX_UPDATE
    - SEND_ATTR_INT
    - anvil_remote_conn_update
    - attr_print_plain
    - ANVIL_REMOTE_INCR_RCPT
    - htable_find
    linkageType: ''
    returnType: void
    signature: void anvil_remote_rcpt(VSTREAM *client_stream, const char *ident)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htable_find
      Src: /src/postfix/postfix/src/anvil/anvil.c:739,1
    - Dst: anvil_remote_conn_update
      Src: /src/postfix/postfix/src/anvil/anvil.c:740,1
    - Dst: ANVIL_REMOTE_INCR_AUTH
      Src: /src/postfix/postfix/src/anvil/anvil.c:745,1
    - Dst: attr_print_plain
      Src: /src/postfix/postfix/src/anvil/anvil.c:746,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:747,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:748,1
    - Dst: ANVIL_MAX_UPDATE
      Src: /src/postfix/postfix/src/anvil/anvil.c:755,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - client_stream
    - ident
    argTypes:
    - VSTREAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 731
    functionDepth: 2
    functionLinenumber: 731
    functionLinenumberEnd: 756
    functionName: anvil_remote_auth
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached:
    - ANVIL_MAX_UPDATE
    - SEND_ATTR_INT
    - ANVIL_REMOTE_INCR_AUTH
    - anvil_remote_conn_update
    - attr_print_plain
    - htable_find
    linkageType: ''
    returnType: void
    signature: void anvil_remote_auth(VSTREAM *client_stream, const char *ident)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htable_find
      Src: /src/postfix/postfix/src/anvil/anvil.c:768,1
    - Dst: anvil_remote_conn_update
      Src: /src/postfix/postfix/src/anvil/anvil.c:769,1
    - Dst: ANVIL_REMOTE_INCR_NTLS
      Src: /src/postfix/postfix/src/anvil/anvil.c:774,1
    - Dst: attr_print_plain
      Src: /src/postfix/postfix/src/anvil/anvil.c:775,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:776,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:777,1
    - Dst: ANVIL_MAX_UPDATE
      Src: /src/postfix/postfix/src/anvil/anvil.c:784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - client_stream
    - ident
    argTypes:
    - VSTREAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 760
    functionDepth: 2
    functionLinenumber: 760
    functionLinenumberEnd: 785
    functionName: anvil_remote_newtls
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached:
    - ANVIL_MAX_UPDATE
    - SEND_ATTR_INT
    - ANVIL_REMOTE_INCR_NTLS
    - anvil_remote_conn_update
    - attr_print_plain
    - htable_find
    linkageType: ''
    returnType: void
    signature: void anvil_remote_newtls(VSTREAM *client_stream, const char *ident)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htable_find
      Src: /src/postfix/postfix/src/anvil/anvil.c:798,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/anvil/anvil.c:807,1
    - Dst: ANVIL_REMOTE_RSET_RATE
      Src: /src/postfix/postfix/src/anvil/anvil.c:808,1
    - Dst: attr_print_plain
      Src: /src/postfix/postfix/src/anvil/anvil.c:815,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:816,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:817,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - client_stream
    - ident
    argTypes:
    - VSTREAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 819
    functionName: anvil_remote_newtls_stat
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached:
    - ANVIL_REMOTE_RSET_RATE
    - SEND_ATTR_INT
    - event_time
    - attr_print_plain
    - htable_find
    linkageType: ''
    returnType: void
    signature: void anvil_remote_newtls_stat(VSTREAM *client_stream, const char *ident)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/anvil/anvil.c:830,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/anvil/anvil.c:831,1
    - Dst: vstream_context
      Src: /src/postfix/postfix/src/anvil/anvil.c:838,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/anvil/anvil.c:840,1
    - Dst: ANVIL_LOCAL_REMOTE_LINKED
      Src: /src/postfix/postfix/src/anvil/anvil.c:841,1
    - Dst: ANVIL_REMOTE_DROP_ONE
      Src: /src/postfix/postfix/src/anvil/anvil.c:842,1
    - Dst: ANVIL_LOCAL_DROP_ONE
      Src: /src/postfix/postfix/src/anvil/anvil.c:843,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/anvil/anvil.c:846,1
    - Dst: attr_print_plain
      Src: /src/postfix/postfix/src/anvil/anvil.c:852,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:853,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - client_stream
    - ident
    argTypes:
    - VSTREAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 855
    functionName: anvil_remote_disconnect
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached:
    - ANVIL_LOCAL_DROP_ONE
    - SEND_ATTR_INT
    - ANVIL_REMOTE_DROP_ONE
    - msg_info
    - attr_print_plain
    - vstream_fileno
    - ANVIL_LOCAL_REMOTE_LINKED
    - htable_find
    - vstream_context
    linkageType: ''
    returnType: void
    signature: void anvil_remote_disconnect(VSTREAM *client_stream, const char *ident)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/anvil/anvil.c:866,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/anvil/anvil.c:867,1
    - Dst: vstream_context
      Src: /src/postfix/postfix/src/anvil/anvil.c:875,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/anvil/anvil.c:877,1
    - Dst: ANVIL_LOCAL_DROP_ALL
      Src: /src/postfix/postfix/src/anvil/anvil.c:879,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/anvil/anvil.c:880,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/anvil/anvil.c:882,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/anvil/anvil.c:883,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - client_stream
    - unused_service
    - unused_argv
    argTypes:
    - VSTREAM*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 884
    functionName: anvil_service_done
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached:
    - msg_info
    - myfree
    - vstream_context
    - vstream_fileno
    - ANVIL_LOCAL_DROP_ALL
    linkageType: ''
    returnType: void
    signature: "void anvil_service_done(VSTREAM *client_stream, char *unused_service,\n\t\t\t
      \              char **unused_argv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ANVIL_MAX_RATE_REPORT
      Src: /src/postfix/postfix/src/anvil/anvil.c:890,1
    - Dst: ANVIL_MAX_COUNT_REPORT
      Src: /src/postfix/postfix/src/anvil/anvil.c:891,1
    - Dst: ANVIL_MAX_RATE_REPORT
      Src: /src/postfix/postfix/src/anvil/anvil.c:892,1
    - Dst: ANVIL_MAX_RATE_REPORT
      Src: /src/postfix/postfix/src/anvil/anvil.c:893,1
    - Dst: ANVIL_MAX_RATE_REPORT
      Src: /src/postfix/postfix/src/anvil/anvil.c:894,1
    - Dst: ANVIL_MAX_RATE_REPORT
      Src: /src/postfix/postfix/src/anvil/anvil.c:895,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/anvil/anvil.c:898,1
    - Dst: ctime
      Src: /src/postfix/postfix/src/anvil/anvil.c:899,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 902
    functionName: anvil_status_dump
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached:
    - ANVIL_MAX_RATE_REPORT
    - ctime
    - ANVIL_MAX_COUNT_REPORT
    - msg_info
    linkageType: ''
    returnType: void
    signature: void anvil_status_dump(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: anvil_status_dump
      Src: /src/postfix/postfix/src/anvil/anvil.c:908,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/anvil/anvil.c:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 906
    functionDepth: 2
    functionLinenumber: 906
    functionLinenumberEnd: 910
    functionName: anvil_status_update
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached:
    - anvil_status_dump
    - event_request_timer
    linkageType: ''
    returnType: void
    signature: void anvil_status_update(int unused_event, void *context)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/anvil/anvil.c:935,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/anvil/anvil.c:941,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/anvil/anvil.c:942,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/anvil/anvil.c:952,1
    - Dst: attr_scan_plain
      Src: /src/postfix/postfix/src/anvil/anvil.c:953,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/anvil/anvil.c:955,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/anvil/anvil.c:956,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/anvil/anvil.c:960,1
    - Dst: STR
      Src: /src/postfix/postfix/src/anvil/anvil.c:960,1
    - Dst: attr_print_plain
      Src: /src/postfix/postfix/src/anvil/anvil.c:961,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/anvil/anvil.c:962,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/anvil/anvil.c:966,1
    - Dst: STR
      Src: /src/postfix/postfix/src/anvil/anvil.c:966,1
    - Dst: ANVIL_REQ_TABLE*::action
      Src: /src/postfix/postfix/src/anvil/anvil.c:967,1
    - Dst: STR
      Src: /src/postfix/postfix/src/anvil/anvil.c:967,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/anvil/anvil.c:971,1
    - Dst: multi_server_disconnect
      Src: /src/postfix/postfix/src/anvil/anvil.c:974,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/anvil/anvil.c:977,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - client_stream
    - unused_service
    - argv
    argTypes:
    - VSTREAM*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 978
    functionName: anvil_service
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - SEND_ATTR_INT
    - vstream_fflush
    - vstring_alloc
    - RECV_ATTR_STR
    - msg_info
    - STR
    - ANVIL_REQ_TABLE*::action
    - STREQ
    - attr_print_plain
    - msg_fatal
    - multi_server_disconnect
    - attr_scan_plain
    linkageType: ''
    returnType: void
    signature: void anvil_service(VSTREAM *client_stream, char *unused_service, char
      **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/anvil/anvil.c:988,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/anvil/anvil.c:993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 982
    functionDepth: 1
    functionLinenumber: 982
    functionLinenumberEnd: 1005
    functionName: post_jail_init
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached:
    - htable_create
    - event_request_timer
    linkageType: ''
    returnType: void
    signature: void post_jail_init(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: attr_print_plain
      Src: /src/postfix/postfix/src/anvil/anvil.c:1018,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/anvil/anvil.c:1019,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/anvil/anvil.c:1021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - stream
    - unused_name
    - unused_argv
    - unused_table
    argTypes:
    - VSTREAM*
    - char*
    - char**
    - HTABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1022
    functionName: post_accept
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_STR
    - vstream_fflush
    - attr_print_plain
    linkageType: ''
    returnType: void
    signature: "void post_accept(VSTREAM *stream, char *unused_name,\n\t\t\t        char
      **unused_argv, HTABLE *unused_table)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: multi_server_main
      Src: /src/postfix/postfix/src/anvil/anvil.c:1039,1
    - Dst: CA_MAIL_SERVER_TIME_TABLE
      Src: /src/postfix/postfix/src/anvil/anvil.c:1040,1
    - Dst: CA_MAIL_SERVER_POST_INIT
      Src: /src/postfix/postfix/src/anvil/anvil.c:1041,1
    - Dst: CA_MAIL_SERVER_POST_ACCEPT
      Src: /src/postfix/postfix/src/anvil/anvil.c:1042,1
    - Dst: CA_MAIL_SERVER_PRE_DISCONN
      Src: /src/postfix/postfix/src/anvil/anvil.c:1044,1
    - Dst: CA_MAIL_SERVER_EXIT
      Src: /src/postfix/postfix/src/anvil/anvil.c:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1026
    functionDepth: 1
    functionLinenumber: 1026
    functionLinenumberEnd: 1047
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/anvil/anvil.c
    functionUses: 1
    functionsReached:
    - multi_server_main
    - CA_MAIL_SERVER_PRE_DISCONN
    - CA_MAIL_SERVER_EXIT
    - CA_MAIL_SERVER_POST_INIT
    - CA_MAIL_SERVER_TIME_TABLE
    - CA_MAIL_SERVER_POST_ACCEPT
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_log.c:58,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_log.c:63,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_log.c:69,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_log.c:75,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_log.c:82,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_log.c:89,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_log.c:97,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 3
    argNames:
    - unused_context
    - priority
    - message
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 102
    functionName: xsasl_cyrus_log
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_log.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - msg_info
    linkageType: ''
    returnType: int
    signature: "int xsasl_cyrus_log(void *unused_context, int priority,\n\t\t\t        const
      char *message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - srv
    - ','
    - fqdn
    - ','
    - lport
    - ','
    - rport
    - ','
    - prompt
    - ','
    - secflags
    - ','
    - pconn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: SASL_CLIENT_NEW
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SASL_CLIENT_NEW(srv, fqdn, lport, rport, prompt, secflags, pconn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - conn
    - ','
    - mechlst
    - ','
    - secret
    - ','
    - prompt
    - ','
    - clout
    - ','
    - cllen
    - ','
    - mech
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: SASL_CLIENT_START
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SASL_CLIENT_START(conn, mechlst, secret, prompt, clout, cllen, mech)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - in
    - ','
    - inlen
    - ','
    - out
    - ','
    - outmaxlen
    - ','
    - outlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: SASL_DECODE64
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SASL_DECODE64(in, inlen, out, outmaxlen, outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - srv
    - ','
    - fqdn
    - ','
    - lport
    - ','
    - rport
    - ','
    - prompt
    - ','
    - secflags
    - ','
    - pconn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: SASL_CLIENT_NEW
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SASL_CLIENT_NEW(srv, fqdn, lport, rport, prompt, secflags, pconn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - conn
    - ','
    - mechlst
    - ','
    - secret
    - ','
    - prompt
    - ','
    - clout
    - ','
    - cllen
    - ','
    - mech
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: SASL_CLIENT_START
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SASL_CLIENT_START(conn, mechlst, secret, prompt, clout, cllen, mech)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - in
    - ','
    - inlen
    - ','
    - out
    - ','
    - outmaxlen
    - ','
    - outlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: SASL_DECODE64
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SASL_DECODE64(in, inlen, out, outmaxlen, outlen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:173,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:179,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - context
    - unused_id
    - result
    - len
    argTypes:
    - void*
    - int
    - char**
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 185
    functionName: xsasl_cyrus_client_get_user
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - strlen
    - msg_info
    linkageType: ''
    returnType: int
    signature: "int xsasl_cyrus_client_get_user(void *context, int unused_id,\n\t\t\t\t
      \              const char **result,\n\t\t\t\t               unsigned *len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:197,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:205,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:210,1
    - Dst: malloc
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:211,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - conn
    - context
    - id
    - psecret
    argTypes:
    - sasl_conn_t*
    - void*
    - int
    - sasl_secret_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 217
    functionName: xsasl_cyrus_client_get_passwd
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - strlen
    - msg_info
    - memcpy
    - malloc
    linkageType: ''
    returnType: int
    signature: "int xsasl_cyrus_client_get_passwd(sasl_conn_t *conn, void *context,\n\t\t\t\t
      \           int id, sasl_secret_t **psecret)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sasl_version_info
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:244,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:253,1
    - Dst: sasl_set_path
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:264,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:266,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:269,1
    - Dst: sasl_client_init
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:279,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:280,1
    - Dst: xsasl_cyrus_strerror
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:281,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:289,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - unused_client_type
    - unused_path_info
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 293
    functionName: xsasl_cyrus_client_init
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - xsasl_cyrus_strerror
    - sasl_version_info
    - sasl_set_path
    - sasl_client_init
    - mymalloc
    linkageType: ''
    returnType: XSASL_CLIENT_IMPL
    signature: "XSASL_CLIENT_IMPL *xsasl_cyrus_client_init(const char *unused_client_type,\n\t\t\t\t
      \              const char *unused_path_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:299,1
    - Dst: sasl_done
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - impl
    argTypes:
    - XSASL_CLIENT_IMPL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: xsasl_cyrus_client_done
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
    functionUses: 0
    functionsReached:
    - myfree
    - sasl_done
    linkageType: ''
    returnType: void
    signature: void xsasl_cyrus_client_done(XSASL_CLIENT_IMPL *impl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:342,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:343,1
    - Dst: SASL_CLIENT_NEW
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:348,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:353,1
    - Dst: xsasl_cyrus_strerror
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:354,1
    - Dst: XSASL_CYRUS_CLIENT_CREATE_ERROR_RETURN
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:355,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:367,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:374,1
    - Dst: xsasl_cyrus_client_set_security
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:381,1
    - Dst: XSASL_CYRUS_CLIENT_CREATE_ERROR_RETURN
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - unused_impl
    - args
    argTypes:
    - XSASL_CLIENT_IMPL*
    - XSASL_CLIENT_CREATE_ARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 387
    functionName: xsasl_cyrus_client_create
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - xsasl_cyrus_strerror
    - vstring_alloc
    - XSASL_CYRUS_CLIENT_CREATE_ERROR_RETURN
    - SASL_CLIENT_NEW
    - memcpy
    - mymalloc
    - xsasl_cyrus_client_set_security
    linkageType: ''
    returnType: XSASL_CLIENT
    signature: "XSASL_CLIENT *xsasl_cyrus_client_create(XSASL_CLIENT_IMPL *unused_impl,\n\t\t\t\t
      \            XSASL_CLIENT_CREATE_ARGS *args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 335
    functionName: XSASL_CYRUS_CLIENT_CREATE_ERROR_RETURN
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XSASL_CYRUS_CLIENT_CREATE_ERROR_RETURN(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:402,1
    - Dst: xsasl_cyrus_security_parse_opts
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:410,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:412,1
    - Dst: sasl_setprop
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:419,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:421,1
    - Dst: xsasl_cyrus_strerror
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - xp
    - sasl_opts_val
    argTypes:
    - XSASL_CLIENT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 426
    functionName: xsasl_cyrus_client_set_security
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - xsasl_cyrus_strerror
    - xsasl_cyrus_security_parse_opts
    - memset
    - sasl_setprop
    linkageType: ''
    returnType: int
    signature: "int xsasl_cyrus_client_set_security(XSASL_CLIENT *xp,\n\t\t\t\t\t
      \          const char *sasl_opts_val)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:452,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:453,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:455,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:456,1
    - Dst: SASL_CLIENT_START
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:461,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:466,1
    - Dst: xsasl_cyrus_strerror
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:466,1
    - Dst: escape
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:479,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:480,1
    - Dst: STR
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:481,1
    - Dst: ENCODE64_LENGTH
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:483,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:484,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:485,1
    - Dst: sasl_encode64
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:486,1
    - Dst: STR
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:487,1
    - Dst: vstring_avail
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:488,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:490,1
    - Dst: xsasl_cyrus_strerror
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:491,1
    - Dst: vstring_set_payload_size
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:492,1
    - Dst: free
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:495,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:498,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 6
    argNames:
    - xp
    - mechanism_list
    - username
    - password
    - mechanism
    - init_resp
    argTypes:
    - XSASL_CLIENT*
    - char*
    - char*
    - char*
    - char**
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 501
    functionName: xsasl_cyrus_client_first
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstring_set_payload_size
    - xsasl_cyrus_strerror
    - escape
    - ENCODE64_LENGTH
    - msg_info
    - myfree
    - SASL_CLIENT_START
    - VSTRING_RESET
    - VSTRING_SPACE
    - sasl_encode64
    - vstring_strcpy
    - vstring_avail
    - free
    - mystrdup
    - STR
    linkageType: ''
    returnType: int
    signature: "int xsasl_cyrus_client_first(XSASL_CLIENT *xp,\n\t\t\t\t            const
      char *mechanism_list,\n\t\t\t\t            const char *username,\n\t\t\t\t            const
      char *password,\n\t\t\t\t            const char **mechanism,\n\t\t\t\t            VSTRING
      *init_resp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 476
    functionName: ENCODE64_LENGTH
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCODE64_LENGTH(n)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:520,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:521,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:522,1
    - Dst: SASL_DECODE64
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:523,1
    - Dst: STR
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:524,1
    - Dst: vstring_avail
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:525,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:527,1
    - Dst: xsasl_cyrus_strerror
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:527,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:531,1
    - Dst: STR
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:532,1
    - Dst: sasl_client_step
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:533,1
    - Dst: STR
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:533,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:537,1
    - Dst: xsasl_cyrus_strerror
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:537,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:546,1
    - Dst: ENCODE64_LENGTH
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:548,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:549,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:550,1
    - Dst: sasl_encode64
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:551,1
    - Dst: STR
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:552,1
    - Dst: vstring_avail
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:553,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:555,1
    - Dst: xsasl_cyrus_strerror
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:556,1
    - Dst: free
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:559,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:563,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - xp
    - server_reply
    - client_reply
    argTypes:
    - XSASL_CLIENT*
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 566
    functionName: xsasl_cyrus_client_next
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - xsasl_cyrus_strerror
    - strlen
    - VSTRING_SPACE
    - ENCODE64_LENGTH
    - msg_info
    - sasl_encode64
    - VSTRING_RESET
    - vstring_avail
    - sasl_client_step
    - vstring_strcpy
    - free
    - SASL_DECODE64
    - STR
    linkageType: ''
    returnType: int
    signature: "int xsasl_cyrus_client_next(XSASL_CLIENT *xp, const char *server_reply,\n\t\t\t\t
      \          VSTRING *client_reply)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:575,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:577,1
    - Dst: sasl_dispose
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:579,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:580,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:581,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c:582,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - xp
    argTypes:
    - XSASL_CLIENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 583
    functionName: xsasl_cyrus_client_free
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
    functionUses: 0
    functionsReached:
    - myfree
    - sasl_dispose
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void xsasl_cyrus_client_free(XSASL_CLIENT *xp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - srv
    - ','
    - fqdn
    - ','
    - rlm
    - ','
    - lport
    - ','
    - rport
    - ','
    - cb
    - ','
    - secflags
    - ','
    - pconn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: SASL_SERVER_NEW
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SASL_SERVER_NEW(srv, fqdn, rlm, lport, rport, cb, secflags, pconn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - conn
    - ','
    - mech
    - ','
    - clin
    - ','
    - clinlen
    - ','
    - srvout
    - ','
    - srvoutlen
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: SASL_SERVER_START
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SASL_SERVER_START(conn, mech, clin, clinlen, srvout, srvoutlen, err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - conn
    - ','
    - clin
    - ','
    - clinlen
    - ','
    - srvout
    - ','
    - srvoutlen
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: SASL_SERVER_STEP
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SASL_SERVER_STEP(conn, clin, clinlen, srvout, srvoutlen, err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - in
    - ','
    - inlen
    - ','
    - out
    - ','
    - outmaxlen
    - ','
    - outlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: SASL_DECODE64
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SASL_DECODE64(in, inlen, out, outmaxlen, outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - srv
    - ','
    - fqdn
    - ','
    - rlm
    - ','
    - lport
    - ','
    - rport
    - ','
    - cb
    - ','
    - secflags
    - ','
    - pconn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: SASL_SERVER_NEW
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SASL_SERVER_NEW(srv, fqdn, rlm, lport, rport, cb, secflags, pconn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - conn
    - ','
    - mech
    - ','
    - clin
    - ','
    - clinlen
    - ','
    - srvout
    - ','
    - srvoutlen
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: SASL_SERVER_START
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SASL_SERVER_START(conn, mech, clin, clinlen, srvout, srvoutlen, err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - conn
    - ','
    - clin
    - ','
    - clinlen
    - ','
    - srvout
    - ','
    - srvoutlen
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: SASL_SERVER_STEP
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SASL_SERVER_STEP(conn, clin, clinlen, srvout, srvoutlen, err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - in
    - ','
    - inlen
    - ','
    - out
    - ','
    - outmaxlen
    - ','
    - outlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: SASL_DECODE64
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SASL_DECODE64(in, inlen, out, outmaxlen, outlen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sasl_version_info
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:209,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:218,1
    - Dst: sasl_set_path
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:229,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:231,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:234,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:245,1
    - Dst: sasl_server_init
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:246,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:247,1
    - Dst: xsasl_cyrus_strerror
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:248,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:256,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - unused_server_type
    - path_info
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 260
    functionName: xsasl_cyrus_server_init
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - sasl_version_info
    - xsasl_cyrus_strerror
    - sasl_set_path
    - sasl_server_init
    - msg_info
    - mymalloc
    linkageType: ''
    returnType: XSASL_SERVER_IMPL
    signature: "XSASL_SERVER_IMPL *xsasl_cyrus_server_init(const char *unused_server_type,\n\t\t\t\t\t
      \          const char *path_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:266,1
    - Dst: sasl_done
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - impl
    argTypes:
    - XSASL_SERVER_IMPL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: xsasl_cyrus_server_done
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
    functionUses: 0
    functionsReached:
    - myfree
    - sasl_done
    linkageType: ''
    returnType: void
    signature: void xsasl_cyrus_server_done(XSASL_SERVER_IMPL *impl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:283,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:326,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:329,1
    - Dst: SASL_SERVER_NEW
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:339,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:344,1
    - Dst: xsasl_cyrus_strerror
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:345,1
    - Dst: XSASL_CYRUS_SERVER_CREATE_ERROR_RETURN
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:346,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:354,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:362,1
    - Dst: xsasl_cyrus_server_set_security
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:366,1
    - Dst: XSASL_CYRUS_SERVER_CREATE_ERROR_RETURN
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:368,1
    - Dst: XSASL_CYRUS_SERVER_CREATE_RETURN
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:370,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - unused_impl
    - args
    argTypes:
    - XSASL_SERVER_IMPL*
    - XSASL_SERVER_CREATE_ARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 371
    functionName: xsasl_cyrus_server_create
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
    functionUses: 0
    functionsReached:
    - SASL_SERVER_NEW
    - msg_warn
    - xsasl_cyrus_strerror
    - mymalloc
    - XSASL_CYRUS_SERVER_CREATE_ERROR_RETURN
    - vstring_alloc
    - msg_info
    - xsasl_cyrus_server_set_security
    - XSASL_CYRUS_SERVER_CREATE_RETURN
    - concatenate
    linkageType: ''
    returnType: XSASL_SERVER
    signature: "XSASL_SERVER *xsasl_cyrus_server_create(XSASL_SERVER_IMPL *unused_impl,\n\t\t\t\t
      \            XSASL_SERVER_CREATE_ARGS *args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 300
    functionName: XSASL_CYRUS_SERVER_CREATE_ERROR_RETURN
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XSASL_CYRUS_SERVER_CREATE_ERROR_RETURN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 309
    functionName: XSASL_CYRUS_SERVER_CREATE_RETURN
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XSASL_CYRUS_SERVER_CREATE_RETURN(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:386,1
    - Dst: xsasl_cyrus_security_parse_opts
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:394,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:396,1
    - Dst: sasl_setprop
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:404,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:406,1
    - Dst: xsasl_cyrus_strerror
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - xp
    - sasl_opts_val
    argTypes:
    - XSASL_SERVER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 411
    functionName: xsasl_cyrus_server_set_security
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - xsasl_cyrus_strerror
    - xsasl_cyrus_security_parse_opts
    - memset
    - sasl_setprop
    linkageType: ''
    returnType: int
    signature: "int xsasl_cyrus_server_set_security(XSASL_SERVER *xp,\n\t\t\t\t\t
      \          const char *sasl_opts_val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sasl_listmech
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:429,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:434,1
    - Dst: xsasl_cyrus_strerror
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:434,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:438,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:441,1
    - Dst: free
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - xp
    argTypes:
    - XSASL_SERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 447
    functionName: xsasl_cyrus_server_get_mechanism_list
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - xsasl_cyrus_strerror
    - sasl_listmech
    - free
    - mystrdup
    linkageType: ''
    returnType: char
    signature: char *xsasl_cyrus_server_get_mechanism_list(XSASL_SERVER *xp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sasl_dispose
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:455,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:456,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:458,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:460,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - xp
    argTypes:
    - XSASL_SERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 462
    functionName: xsasl_cyrus_server_free
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
    functionUses: 0
    functionsReached:
    - myfree
    - sasl_dispose
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void xsasl_cyrus_server_free(XSASL_SERVER *xp)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:485,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:489,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:492,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:493,1
    - Dst: sasl_encode64
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:494,1
    - Dst: STR
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:495,1
    - Dst: vstring_avail
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:495,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:497,1
    - Dst: xsasl_cyrus_strerror
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:498,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:503,1
    - Dst: xsasl_cyrus_strerror
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:503,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - sasl_status
    - serverout
    - serveroutlen
    - reply
    argTypes:
    - int
    - SERVEROUT_TYPE
    - unsigned
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 514
    functionName: xsasl_cyrus_server_auth_response
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - xsasl_cyrus_strerror
    - VSTRING_SPACE
    - sasl_encode64
    - msg_info
    - VSTRING_RESET
    - vstring_avail
    - vstring_strcpy
    - STR
    linkageType: ''
    returnType: int
    signature: "int xsasl_cyrus_server_auth_response(int sasl_status,\n\t\t\t\t\t
      \           SERVEROUT_TYPE serverout,\n\t\t\t\t\t            unsigned serveroutlen,\n\t\t\t\t\t
      \           VSTRING *reply)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:539,1
    - Dst: IFELSE
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:540,1
    - Dst: IFELSE
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:541,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:548,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:549,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:550,1
    - Dst: SASL_DECODE64
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:551,1
    - Dst: STR
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:552,1
    - Dst: vstring_avail
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:553,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:555,1
    - Dst: xsasl_cyrus_strerror
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:555,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:559,1
    - Dst: SASL_SERVER_START
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:564,1
    - Dst: xsasl_cyrus_server_auth_response
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:567,1
    - Dst: free
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:571,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - xp
    - sasl_method
    - init_response
    - reply
    argTypes:
    - XSASL_SERVER*
    - char*
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 574
    functionName: xsasl_cyrus_server_first
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
    functionUses: 0
    functionsReached:
    - xsasl_cyrus_strerror
    - strlen
    - IFELSE
    - xsasl_cyrus_server_auth_response
    - VSTRING_SPACE
    - msg_info
    - VSTRING_RESET
    - vstring_avail
    - vstring_strcpy
    - free
    - SASL_DECODE64
    - SASL_SERVER_START
    - STR
    linkageType: ''
    returnType: int
    signature: "int xsasl_cyrus_server_first(XSASL_SERVER *xp, const char *sasl_method,\n\t\t\t
      \         const char *init_response, VSTRING *reply)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - e1
    - ','
    - e2
    - ','
    - e3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 537
    functionName: IFELSE
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IFELSE(e1,e2,e3)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:595,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:596,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:597,1
    - Dst: SASL_DECODE64
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:598,1
    - Dst: STR
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:599,1
    - Dst: vstring_avail
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:600,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:602,1
    - Dst: xsasl_cyrus_strerror
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:602,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:606,1
    - Dst: STR
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:607,1
    - Dst: SASL_SERVER_STEP
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:608,1
    - Dst: STR
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:608,1
    - Dst: xsasl_cyrus_server_auth_response
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:611,1
    - Dst: free
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:615,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - xp
    - request
    - reply
    argTypes:
    - XSASL_SERVER*
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 618
    functionName: xsasl_cyrus_server_next
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
    functionUses: 0
    functionsReached:
    - SASL_SERVER_STEP
    - xsasl_cyrus_strerror
    - strlen
    - xsasl_cyrus_server_auth_response
    - VSTRING_SPACE
    - msg_info
    - VSTRING_RESET
    - vstring_avail
    - vstring_strcpy
    - free
    - SASL_DECODE64
    - STR
    linkageType: ''
    returnType: int
    signature: "int xsasl_cyrus_server_next(XSASL_SERVER *xp, const char *request,\n\t\t\t\t
      \          VSTRING *reply)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:632,1
    - Dst: sasl_getprop
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:633,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:637,1
    - Dst: printable
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c:638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - xp
    argTypes:
    - XSASL_SERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 641
    functionName: xsasl_cyrus_server_get_username
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
    functionUses: 0
    functionsReached:
    - myfree
    - sasl_getprop
    - mystrdup
    - printable
    linkageType: ''
    returnType: char
    signature: char *xsasl_cyrus_server_get_username(XSASL_SERVER *xp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name_mask_opt
      Src: /src/postfix/postfix/src/xsasl/xsasl_cyrus_security.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sasl_opts_val
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: xsasl_cyrus_security_parse_opts
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_security.c
    functionUses: 2
    functionsReached:
    - name_mask_opt
    linkageType: ''
    returnType: int
    signature: int xsasl_cyrus_security_parse_opts(const char *sasl_opts_val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/xsasl/xsasl_client.c:224,1
    - Dst: XSASL_CLIENT_IMPL_INFO*::client_init
      Src: /src/postfix/postfix/src/xsasl/xsasl_client.c:225,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_client.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - client_type
    - path_info
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: xsasl_client_init
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_client.c
    functionUses: 0
    functionsReached:
    - XSASL_CLIENT_IMPL_INFO*::client_init
    - msg_warn
    - strcmp
    linkageType: ''
    returnType: XSASL_CLIENT_IMPL
    signature: "XSASL_CLIENT_IMPL *xsasl_client_init(const char *client_type,\n\t\t\t\t
      \            const char *path_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/xsasl/xsasl_client.c:235,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/xsasl/xsasl_client.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 240
    functionName: xsasl_client_types
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_client.c
    functionUses: 0
    functionsReached:
    - argv_alloc
    - argv_add
    linkageType: ''
    returnType: ARGV
    signature: ARGV *xsasl_client_types(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - status
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: xsasl_cyrus_strerror
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_cyrus_common.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xsasl_cyrus_strerror(status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:200,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - mech_list
    - mech_name
    - sec_props
    argTypes:
    - XSASL_DCSRV_MECH**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 205
    functionName: xsasl_dovecot_server_mech_append
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - mystrdup
    linkageType: ''
    returnType: void
    signature: "void xsasl_dovecot_server_mech_append(XSASL_DCSRV_MECH **mech_list,\n\t\t\t
      \              const char *mech_name, int sec_props)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:215,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mech_list
    argTypes:
    - XSASL_DCSRV_MECH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: xsasl_dovecot_server_mech_free
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
    functionUses: 0
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void xsasl_dovecot_server_mech_free(XSASL_DCSRV_MECH *mech_list)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:230,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:239,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:240,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:241,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:242,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:244,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:247,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - mechanism_argv
    - mechanism_list
    - conf_props
    argTypes:
    - ARGV*
    - XSASL_DCSRV_MECH*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 251
    functionName: xsasl_dovecot_server_mech_filter
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - vstring_export
    - VSTRING_LEN
    - vstring_alloc
    - msg_info
    - vstring_strcat
    - argv_add
    linkageType: ''
    returnType: char
    signature: "char *xsasl_dovecot_server_mech_filter(ARGV *mechanism_argv,\n\t\t\t\t
      \          XSASL_DCSRV_MECH *mechanism_list,\n\t\t\t\t\t            unsigned
      int conf_props)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:267,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:273,1
    - Dst: inet_connect
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:274,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:276,1
    - Dst: unix_connect
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:278,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:281,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:285,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:286,1
    - Dst: CA_VSTREAM_CTL_PATH
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:287,1
    - Dst: CA_VSTREAM_CTL_TIMEOUT
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:288,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:292,1
    - Dst: getpid
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:297,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:298,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:299,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:300,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:305,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:307,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:308,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:311,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:314,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:316,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:317,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:318,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:323,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:327,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:330,1
    - Dst: name_mask_delim_opt
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:333,1
    - Dst: xsasl_dovecot_server_mech_append
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:341,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:343,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:356,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:359,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:367,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:371,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 1
    argNames:
    - xp
    argTypes:
    - XSASL_DOVECOT_SERVER_IMPL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 376
    functionName: xsasl_dovecot_server_connect
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
    functionUses: 0
    functionsReached:
    - CA_VSTREAM_CTL_TIMEOUT
    - getpid
    - msg_info
    - vstream_control
    - vstring_get_nonl
    - vstream_fflush
    - vstring_alloc
    - sscanf
    - inet_connect
    - unix_connect
    - split_at
    - vstring_str
    - xsasl_dovecot_server_mech_append
    - name_mask_delim_opt
    - strncmp
    - vstring_free
    - msg_warn
    - vstream_fdopen
    - CA_VSTREAM_CTL_PATH
    - vstream_fprintf
    - vstream_fclose
    - strcmp
    linkageType: ''
    returnType: int
    signature: int xsasl_dovecot_server_connect(XSASL_DOVECOT_SERVER_IMPL *xp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:383,1
    - Dst: xsasl_dovecot_server_mech_free
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - xp
    argTypes:
    - XSASL_DOVECOT_SERVER_IMPL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 390
    functionName: xsasl_dovecot_server_disconnect
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
    functionUses: 0
    functionsReached:
    - xsasl_dovecot_server_mech_free
    - vstream_fclose
    linkageType: ''
    returnType: void
    signature: void xsasl_dovecot_server_disconnect(XSASL_DOVECOT_SERVER_IMPL *xp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:399,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - server_type
    - path_info
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 407
    functionName: xsasl_dovecot_server_init
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - mystrdup
    linkageType: ''
    returnType: XSASL_SERVER_IMPL
    signature: "XSASL_SERVER_IMPL *xsasl_dovecot_server_init(const char *server_type,\n\t\t\t\t\t
      \            const char *path_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xsasl_dovecot_server_disconnect
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:415,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:416,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - impl
    argTypes:
    - XSASL_SERVER_IMPL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 418
    functionName: xsasl_dovecot_server_done
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
    functionUses: 0
    functionsReached:
    - myfree
    - xsasl_dovecot_server_disconnect
    linkageType: ''
    returnType: void
    signature: void xsasl_dovecot_server_done(XSASL_SERVER_IMPL *impl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:433,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:442,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:449,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:451,1
    - Dst: name_mask_opt
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:457,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:460,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:466,1
    - Dst: getsockname
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:469,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:469,1
    - Dst: sockaddr_to_hostaddr
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:470,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:472,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - impl
    - args
    argTypes:
    - XSASL_SERVER_IMPL*
    - XSASL_SERVER_CREATE_ARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 476
    functionName: xsasl_dovecot_server_create
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
    functionUses: 0
    functionsReached:
    - getsockname
    - vstring_alloc
    - name_mask_opt
    - msg_info
    - sockaddr_to_hostaddr
    - mymalloc
    - mystrdup
    - vstream_fileno
    linkageType: ''
    returnType: XSASL_SERVER
    signature: "XSASL_SERVER *xsasl_dovecot_server_create(XSASL_SERVER_IMPL *impl,\n\t\t\t\t
      \            XSASL_SERVER_CREATE_ARGS *args)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xsasl_dovecot_server_connect
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:485,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:489,1
    - Dst: xsasl_dovecot_server_mech_filter
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:491,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - xp
    argTypes:
    - XSASL_SERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 480
    functionDepth: 3
    functionLinenumber: 480
    functionLinenumberEnd: 496
    functionName: xsasl_dovecot_server_get_mechanism_list
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
    functionUses: 0
    functionsReached:
    - xsasl_dovecot_server_connect
    - argv_alloc
    - xsasl_dovecot_server_mech_filter
    linkageType: ''
    returnType: char
    signature: char *xsasl_dovecot_server_get_mechanism_list(XSASL_SERVER *xp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:504,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:506,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:508,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:509,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:511,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:512,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:513,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - xp
    argTypes:
    - XSASL_SERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 515
    functionName: xsasl_dovecot_server_free
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
    functionUses: 0
    functionsReached:
    - myfree
    - argv_free
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void xsasl_dovecot_server_free(XSASL_SERVER *xp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:524,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:528,1
    - Dst: strtoul
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - server
    - line
    argTypes:
    - XSASL_DOVECOT_SERVER*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 535
    functionName: xsasl_dovecot_parse_reply
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
    functionUses: 0
    functionsReached:
    - split_at
    - msg_warn
    - strtoul
    linkageType: ''
    returnType: int
    signature: int xsasl_dovecot_parse_reply(XSASL_DOVECOT_SERVER *server, char **line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:544,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:547,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:548,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:555,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:556,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:557,1
    - Dst: printable
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:558,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:559,1
    - Dst: printable
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:561,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:562,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - server
    - line
    - reply
    - success
    argTypes:
    - XSASL_DOVECOT_SERVER*
    - char*
    - VSTRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 566
    functionName: xsasl_dovecot_parse_reply_args
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
    functionUses: 0
    functionsReached:
    - printable
    - myfree
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - strncmp
    - vstring_strcpy
    - split_at
    - mystrdup
    linkageType: ''
    returnType: void
    signature: "void xsasl_dovecot_parse_reply_args(XSASL_DOVECOT_SERVER *server,\n\t\t\t\t\t
      \        char *line, VSTRING *reply,\n\t\t\t\t\t           int success)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:577,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:579,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:582,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:585,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:587,1
    - Dst: xsasl_dovecot_parse_reply
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:588,1
    - Dst: xsasl_dovecot_parse_reply_args
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:590,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:592,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:593,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:598,1
    - Dst: xsasl_dovecot_parse_reply
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:599,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:601,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:602,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:605,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:608,1
    - Dst: xsasl_dovecot_parse_reply
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:609,1
    - Dst: xsasl_dovecot_parse_reply_args
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:611,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:619,1
    - Dst: xsasl_dovecot_server_disconnect
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:620,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 2
    argNames:
    - server
    - reply
    argTypes:
    - XSASL_DOVECOT_SERVER*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 622
    functionName: xsasl_dovecot_handle_reply
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
    functionUses: 0
    functionsReached:
    - vstring_get_nonl
    - msg_warn
    - msg_info
    - xsasl_dovecot_parse_reply_args
    - xsasl_dovecot_parse_reply
    - strcmp
    - vstring_strcpy
    - split_at
    - vstring_str
    - xsasl_dovecot_server_disconnect
    linkageType: ''
    returnType: int
    signature: "int xsasl_dovecot_handle_reply(XSASL_DOVECOT_SERVER *server,\n\t\t\t\t
      \             VSTRING *reply)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 640
    functionName: is_valid_base64
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_valid_base64(const char *data)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:655,1
    - Dst: IFELSE
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:656,1
    - Dst: IFELSE
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:657,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:660,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:664,1
    - Dst: printable
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:666,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:666,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:669,1
    - Dst: is_valid_base64
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:673,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:674,1
    - Dst: xsasl_dovecot_server_connect
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:679,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:685,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:692,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:700,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:704,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:706,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:710,1
    - Dst: xsasl_dovecot_server_disconnect
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:711,1
    - Dst: xsasl_dovecot_server_disconnect
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:718,1
    - Dst: xsasl_dovecot_handle_reply
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:721,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 4
    argNames:
    - xp
    - sasl_method
    - init_response
    - reply
    argTypes:
    - XSASL_SERVER*
    - char*
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 644
    functionDepth: 3
    functionLinenumber: 644
    functionLinenumberEnd: 722
    functionName: xsasl_dovecot_server_first
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - printable
    - VSTREAM_PUTC
    - vstring_sprintf
    - vstream_fprintf
    - IFELSE
    - is_valid_base64
    - vstream_fflush
    - msg_info
    - xsasl_dovecot_server_connect
    - strcasecmp
    - xsasl_dovecot_handle_reply
    - vstring_strcpy
    - vstream_fputs
    - vstring_str
    - xsasl_dovecot_server_disconnect
    linkageType: ''
    returnType: int
    signature: "int xsasl_dovecot_server_first(XSASL_SERVER *xp, const char *sasl_method,\n\t\t\t
      \         const char *init_response, VSTRING *reply)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - e1
    - ','
    - e2
    - ','
    - e3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 653
    functionName: IFELSE
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IFELSE(e1,e2,e3)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_valid_base64
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:731,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:732,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:736,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:738,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:739,1
    - Dst: xsasl_dovecot_server_disconnect
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:740,1
    - Dst: xsasl_dovecot_handle_reply
      Src: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c:743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - xp
    - request
    - reply
    argTypes:
    - XSASL_SERVER*
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 726
    functionDepth: 3
    functionLinenumber: 726
    functionLinenumberEnd: 744
    functionName: xsasl_dovecot_server_next
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
    functionUses: 0
    functionsReached:
    - vstream_fprintf
    - is_valid_base64
    - vstream_fflush
    - xsasl_dovecot_handle_reply
    - vstring_strcpy
    - xsasl_dovecot_server_disconnect
    linkageType: ''
    returnType: int
    signature: "int xsasl_dovecot_server_next(XSASL_SERVER *xp, const char *request,\n\t\t\t\t
      \            VSTRING *reply)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xp
    argTypes:
    - XSASL_SERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 753
    functionName: xsasl_dovecot_server_get_username
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *xsasl_dovecot_server_get_username(XSASL_SERVER *xp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - server
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: xsasl_server_free
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xsasl_server_free(server)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - server
    - ','
    - method
    - ','
    - init_resp
    - ','
    - reply
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: xsasl_server_first
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xsasl_server_first(server, method, init_resp, reply)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - server
    - ','
    - request
    - ','
    - reply
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: xsasl_server_next
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xsasl_server_next(server, request, reply)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - server
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: xsasl_server_get_mechanism_list
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xsasl_server_get_mechanism_list(server)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - server
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: xsasl_server_get_username
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xsasl_server_get_username(server)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - impl
    - ','
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: xsasl_server_create
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xsasl_server_create(impl, args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - impl
    - ','
    - args
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - )
    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: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: XSASL_SERVER_CREATE
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XSASL_SERVER_CREATE(impl, args, a1, a2, a3, a4, a5, a6, a7, a8, a9,
      a10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - impl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: xsasl_server_done
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xsasl_server_done(impl)
  - 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: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: xsasl_client_free
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xsasl_client_free(client)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - client
    - ','
    - server
    - ','
    - method
    - ','
    - user
    - ','
    - pass
    - ','
    - init_resp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: xsasl_client_first
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xsasl_client_first(client, server, method, user, pass, init_resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - client
    - ','
    - request
    - ','
    - reply
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: xsasl_client_next
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xsasl_client_next(client, request, reply)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - client
    - ','
    - user
    - ','
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: xsasl_client_set_password
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xsasl_client_set_password(client, user, pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - impl
    - ','
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: xsasl_client_create
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xsasl_client_create(impl, args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - impl
    - ','
    - args
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: XSASL_CLIENT_CREATE
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XSASL_CLIENT_CREATE(impl, args, a1, a2, a3, a4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - impl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: xsasl_client_done
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xsasl_client_done(impl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/xsasl/xsasl_server.c:261,1
    - Dst: XSASL_SERVER_IMPL_INFO*::server_init
      Src: /src/postfix/postfix/src/xsasl/xsasl_server.c:262,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/xsasl/xsasl_server.c:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - server_type
    - path_info
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 265
    functionName: xsasl_server_init
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_server.c
    functionUses: 0
    functionsReached:
    - XSASL_SERVER_IMPL_INFO*::server_init
    - msg_warn
    - strcmp
    linkageType: ''
    returnType: XSASL_SERVER_IMPL
    signature: "XSASL_SERVER_IMPL *xsasl_server_init(const char *server_type,\n\t\t\t\t
      \            const char *path_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/xsasl/xsasl_server.c:272,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/xsasl/xsasl_server.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 277
    functionName: xsasl_server_types
    functionSourceFile: /src/postfix/postfix/src/xsasl/xsasl_server.c
    functionUses: 0
    functionsReached:
    - argv_alloc
    - argv_add
    linkageType: ''
    returnType: ARGV
    signature: ARGV *xsasl_server_types(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 537
    functionName: EDIT_CMD_CODE
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EDIT_CMD_CODE(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 538
    functionName: EDIT_CMD_STR
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EDIT_CMD_STR(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 547
    functionName: HAS_NAME_PREFIX
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAS_NAME_PREFIX(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: NEED_NAME_PREFIX
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEED_NAME_PREFIX(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 550
    functionName: NAME_SUFFIX
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAME_SUFFIX(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ring_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 571
    functionName: RING_TO_INSTANCE
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RING_TO_INSTANCE(ring_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 572
    functionName: RING_PTR_OF
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RING_PTR_OF(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - entry
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 576
    functionName: FOREACH_INSTANCE
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOREACH_INSTANCE(entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - entry
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 580
    functionName: FOREACH_SECONDARY_INSTANCE
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOREACH_SECONDARY_INSTANCE(entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flags
    - ','
    - entry
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 583
    functionName: NEXT_ITERATOR_INSTANCE
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXT_ITERATOR_INSTANCE(flags, entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flags
    - ','
    - entry
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 587
    functionName: FOREACH_ITERATOR_INSTANCE
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOREACH_ITERATOR_INSTANCE(flags, entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 647
    functionName: IS_CLAIMED_BY
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_CLAIMED_BY(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 658
    functionName: INSTANCE_NAME
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INSTANCE_NAME(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 659
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:673,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:675,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:677,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:683,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:684,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:685,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:686,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:687,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:688,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:690,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - instance_path
    - param_name
    - param_value
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 693
    functionName: register_claim
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - htable_create
    - myfree
    - htable_enter
    - strcmp
    - concatenate
    - msg_fatal
    - htable_find
    linkageType: ''
    returnType: void
    signature: "void register_claim(const char *instance_path, const char *param_name,\n\t\t\t
      \          const char *param_value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: register_claim
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:705,1
    - Dst: register_claim
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:706,1
    - Dst: register_claim
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:707,1
    - Dst: register_claim
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ip
    argTypes:
    - INSTANCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 709
    functionName: claim_instance_attributes
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - register_claim
    linkageType: ''
    returnType: void
    signature: void claim_instance_attributes(INSTANCE *ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:715,1
    - Dst: ring_init
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:717,1
    - Dst: RING_PTR_OF
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:717,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - config_dir
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 727
    functionName: alloc_instance
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - RING_PTR_OF
    - mystrdup
    - ring_init
    linkageType: ''
    returnType: INSTANCE
    signature: INSTANCE *alloc_instance(const char *config_dir)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:741,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:743,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:745,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:747,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:749,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:750,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ip
    argTypes:
    - INSTANCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 751
    functionName: free_instance
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void free_instance(INSTANCE *ip)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: claim_instance_attributes
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:766,1
    - Dst: ring_succ
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:767,1
    - Dst: ring_init
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:768,1
    - Dst: match_instance_selection
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:771,1
    - Dst: RING_TO_INSTANCE
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:771,1
    - Dst: ring_prepend
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:772,1
    - Dst: RING_PTR_OF
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:772,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:777,1
    - Dst: ring_prepend
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:779,1
    - Dst: RING_PTR_OF
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:779,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ip
    - selection
    argTypes:
    - INSTANCE*
    - INST_SELECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 757
    functionDepth: 3
    functionLinenumber: 757
    functionLinenumberEnd: 780
    functionName: insert_instance
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - claim_instance_attributes
    - RING_TO_INSTANCE
    - ring_prepend
    - ring_init
    - match_instance_selection
    - RING_PTR_OF
    - ring_succ
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void insert_instance(INSTANCE *ip, INST_SELECTION *selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ip
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 762
    functionName: append_instance
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: append_instance(ip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: match_instance_selection
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:771,1
    - Dst: RING_TO_INSTANCE
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:771,1
    - Dst: ring_prepend
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:772,1
    - Dst: RING_PTR_OF
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:772,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 775
    functionName: FOREACH_SECONDARY_INSTANCE
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - RING_PTR_OF
    - RING_TO_INSTANCE
    - match_instance_selection
    - ring_prepend
    linkageType: ''
    returnType: void
    signature: void FOREACH_SECONDARY_INSTANCE(old)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc_instance
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:786,1
    - Dst: SAVE_INSTANCE_NAME
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:794,1
    - Dst: SAVE_INSTANCE_NAME
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:795,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:797,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 784
    functionDepth: 2
    functionLinenumber: 784
    functionLinenumberEnd: 801
    functionName: create_primary_instance
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - alloc_instance
    - mystrdup
    - SAVE_INSTANCE_NAME
    linkageType: ''
    returnType: INSTANCE
    signature: INSTANCE *create_primary_instance(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 793
    functionName: SAVE_INSTANCE_NAME
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAVE_INSTANCE_NAME(val)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:824,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:825,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:826,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:830,1
    - Dst: vstream_popen
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:831,1
    - Dst: CA_VSTREAM_POPEN_ARGV
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:831,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:833,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:835,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:842,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:843,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:844,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:844,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:845,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:846,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:847,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:848,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:849,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:850,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:851,1
    - Dst: SAVE_INSTANCE_NAME
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:852,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:853,1
    - Dst: SAVE_INSTANCE_NAME
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:854,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:855,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:857,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:859,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:863,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:872,1
    - Dst: vstream_pclose
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:875,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:876,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 1
    argNames:
    - ip
    argTypes:
    - INSTANCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 878
    functionName: load_instance
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - name_code
    - vstring_get_nonl
    - split_nameval
    - vstring_alloc
    - argv_free
    - myfree
    - vstream_popen
    - argv_alloc
    - strcmp
    - argv_add
    - vstream_pclose
    - concatenate
    - msg_fatal
    - CA_VSTREAM_POPEN_ARGV
    - mystrdup
    - vstring_free
    - SAVE_INSTANCE_NAME
    - STR
    linkageType: ''
    returnType: INSTANCE
    signature: INSTANCE *load_instance(INSTANCE *ip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argv_split
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:893,1
    - Dst: create_primary_instance
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:898,1
    - Dst: append_instance
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:901,1
    - Dst: append_instance
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:910,1
    - Dst: load_instance
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:910,1
    - Dst: alloc_instance
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:910,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:912,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 882
    functionDepth: 3
    functionLinenumber: 882
    functionLinenumberEnd: 913
    functionName: load_all_instances
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - alloc_instance
    - load_instance
    - argv_free
    - create_primary_instance
    - argv_split
    - append_instance
    linkageType: ''
    returnType: void
    signature: void load_all_instances(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:934,1
    - Dst: HAS_NAME_PREFIX
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:939,1
    - Dst: HAS_NAME_PREFIX
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:939,1
    - Dst: NAME_SUFFIX
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:940,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:943,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:944,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:946,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - ip
    - selection
    argTypes:
    - INSTANCE*
    - INST_SELECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 949
    functionName: match_instance_selection
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 2
    functionsReached:
    - HAS_NAME_PREFIX
    - strcmp
    - NAME_SUFFIX
    - msg_panic
    linkageType: ''
    returnType: int
    signature: int match_instance_selection(INSTANCE *ip, INST_SELECTION *selection)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:956,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:957,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 958
    functionName: check_setenv
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - setenv
    linkageType: ''
    returnType: void
    signature: void check_setenv(const char *name, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: safe_getenv
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:970,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:971,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:973,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 975
    functionName: prepend_command_path
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - concatenate
    - myfree
    - check_setenv
    - safe_getenv
    linkageType: ''
    returnType: void
    signature: void prepend_command_path(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:992,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:993,1
    - Dst: S_ISDIR
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:995,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:996,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:998,1
    - Dst: register_claim
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1000,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 979
    functionDepth: 2
    functionLinenumber: 979
    functionLinenumberEnd: 1002
    functionName: check_shared_dir_status
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - stat
    - S_ISDIR
    - strcmp
    - msg_fatal
    - register_claim
    linkageType: ''
    returnType: void
    signature: void check_shared_dir_status(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISALNUM
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1012,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1012,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1016
    functionName: check_safe_name
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - ISALNUM
    - strchr
    linkageType: ''
    returnType: int
    signature: int check_safe_name(const char *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check_safe_name
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1031,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1032,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1034,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1035,1
    - Dst: NEED_NAME_PREFIX
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1037,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1038,1
    - Dst: check_safe_name
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1046,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1047,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - assignment
    argTypes:
    - NAME_ASSIGNMENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1020
    functionDepth: 2
    functionLinenumber: 1020
    functionLinenumberEnd: 1049
    functionName: check_name_assignments
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - NEED_NAME_PREFIX
    - msg_fatal
    - strchr
    - check_safe_name
    linkageType: ''
    returnType: void
    signature: void check_name_assignments(NAME_ASSIGNMENT *assignment)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1062,1
    - Dst: register_claim
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1063,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1065,1
    - Dst: SAVE_INSTANCE_NAME
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1066,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1070,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1072,1
    - Dst: SAVE_INSTANCE_NAME
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1073,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - target
    - assignment
    argTypes:
    - INSTANCE*
    - NAME_ASSIGNMENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1053
    functionDepth: 2
    functionLinenumber: 1053
    functionLinenumberEnd: 1077
    functionName: do_name_assignments
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - myfree
    - strcmp
    - register_claim
    - SAVE_INSTANCE_NAME
    linkageType: ''
    returnType: int
    signature: int do_name_assignments(INSTANCE *target, NAME_ASSIGNMENT *assignment)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1094,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1097,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1101,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1102,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1107,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1113,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1115,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - param_name
    - primary_value
    - assignment
    argTypes:
    - char*
    - char*
    - NAME_ASSIGNMENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1117
    functionName: make_private_path
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - strrchr
    - myfree
    - concatenate
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: char
    signature: "char *make_private_path(const char *param_name,\n\t\t\t               const
      char *primary_value,\n\t\t\t               NAME_ASSIGNMENT *assignment)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1139,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1140,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1141,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1143,1
    - Dst: config_dir::config_dir
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1144,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1146,1
    - Dst: queue_dir::queue_dir
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1147,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1148,1
    - Dst: data_dir::data_dir
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1149,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1153,1
    - Dst: EDIT_CMD_STR
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1154,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1162,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1165,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1170,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1173,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1174,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1179,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - new
    - edit_cmd
    - arg
    argTypes:
    - INSTANCE*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1121
    functionDepth: 1
    functionLinenumber: 1121
    functionLinenumberEnd: 1180
    functionName: assign_new_parameter
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - split_nameval
    - strlen
    - data_dir::data_dir
    - config_dir::config_dir
    - queue_dir::queue_dir
    - myfree
    - strcmp
    - EDIT_CMD_STR
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: void
    signature: "void assign_new_parameter(INSTANCE *new, int edit_cmd,\n\t\t\t\t         const
      char *arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assign_new_parameter
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1194,1
    - Dst: edit_cmd::edit_cmd
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1194,1
    - Dst: config_dir::config_dir
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1204,1
    - Dst: make_private_path
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1206,1
    - Dst: IS_CLAIMED_BY
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1208,1
    - Dst: config_dir::config_dir
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1208,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1209,1
    - Dst: config_dir::config_dir
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1210,1
    - Dst: config_dir::config_dir
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1210,1
    - Dst: queue_dir::queue_dir
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1212,1
    - Dst: make_private_path
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1214,1
    - Dst: data_dir::data_dir
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1215,1
    - Dst: make_private_path
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - new
    - edit_cmd
    - argv
    - assignment
    argTypes:
    - INSTANCE*
    - int
    - char**
    - NAME_ASSIGNMENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1184
    functionDepth: 2
    functionLinenumber: 1184
    functionLinenumberEnd: 1221
    functionName: assign_new_parameters
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - IS_CLAIMED_BY
    - edit_cmd::edit_cmd
    - data_dir::data_dir
    - config_dir::config_dir
    - queue_dir::queue_dir
    - assign_new_parameter
    - make_private_path
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: "void assign_new_parameters(INSTANCE *new, int edit_cmd,\n\t\t\t           char
      **argv, NAME_ASSIGNMENT *assignment)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mail_parm_split
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1238,1
    - Dst: clean_env
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1239,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1240,1
    - Dst: prepend_command_path
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1246,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1252,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1258,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1263,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1264,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1265,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1273,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1275,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1276,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1277,1
    - Dst: RING_TO_INSTANCE
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1277,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1279,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1279,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1280,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1288,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1292,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - target
    - export_flags
    argTypes:
    - INSTANCE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1225
    functionDepth: 2
    functionLinenumber: 1225
    functionLinenumberEnd: 1300
    functionName: export_helper_environment
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - clean_env
    - VSTRING_ADDCH
    - check_setenv
    - VSTRING_LEN
    - mail_parm_split
    - vstring_alloc
    - argv_free
    - RING_TO_INSTANCE
    - prepend_command_path
    - vstring_strcat
    - vstring_free
    - STR
    linkageType: ''
    returnType: void
    signature: void export_helper_environment(INSTANCE *target, int export_flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1275,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1276,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1277,1
    - Dst: RING_TO_INSTANCE
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1274
    functionDepth: 1
    functionLinenumber: 1274
    functionLinenumberEnd: 1278
    functionName: FOREACH_SECONDARY_INSTANCE
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - vstring_strcat
    - RING_TO_INSTANCE
    - VSTRING_LEN
    linkageType: ''
    returnType: void
    signature: void FOREACH_SECONDARY_INSTANCE(entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc_instance::alloc_instance
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1311,1
    - Dst: check_name_assignments
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - edit_cmd
    - argv
    - selection
    - assignment
    - export_flags
    argTypes:
    - int
    - char**
    - INST_SELECTION*
    - NAME_ASSIGNMENT*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1304
    functionDepth: 3
    functionLinenumber: 1304
    functionLinenumberEnd: 1318
    functionName: install_new_instance
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - alloc_instance::alloc_instance
    - check_name_assignments
    linkageType: ''
    returnType: INSTANCE
    signature: "INSTANCE *install_new_instance(int edit_cmd, char **argv,\n\t\t\t\t
      \             INST_SELECTION *selection,\n\t\t\t\t              NAME_ASSIGNMENT
      *assignment,\n\t\t\t\t              int *export_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_name_assignments
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1326,1
    - Dst: do_name_assignments
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - target
    - assignment
    argTypes:
    - INSTANCE*
    - NAME_ASSIGNMENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1322
    functionDepth: 3
    functionLinenumber: 1322
    functionLinenumberEnd: 1329
    functionName: update_instance
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - do_name_assignments
    - check_name_assignments
    linkageType: ''
    returnType: int
    signature: int update_instance(INSTANCE *target, NAME_ASSIGNMENT *assignment)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1345,1
    - Dst: match_instance_selection
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1349,1
    - Dst: RING_TO_INSTANCE
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1349,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1356,1
    - Dst: ring_pred
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1360,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1361,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1363,1
    - Dst: ring_detach
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1364,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1366,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - selection
    - unlink_flag
    - export_flags
    argTypes:
    - INST_SELECTION*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1333
    functionDepth: 2
    functionLinenumber: 1333
    functionLinenumberEnd: 1370
    functionName: select_existing_instance
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - ring_pred
    - RING_TO_INSTANCE
    - ring_detach
    - match_instance_selection
    - msg_fatal
    linkageType: ''
    returnType: INSTANCE
    signature: "INSTANCE *select_existing_instance(INST_SELECTION *selection,\n\t\t\t\t\t
      \         int unlink_flag,\n\t\t\t\t\t          int *export_flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: match_instance_selection
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1349,1
    - Dst: RING_TO_INSTANCE
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1348
    functionDepth: 2
    functionLinenumber: 1348
    functionLinenumberEnd: 1353
    functionName: FOREACH_INSTANCE
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - RING_TO_INSTANCE
    - match_instance_selection
    linkageType: ''
    returnType: void
    signature: void FOREACH_INSTANCE(entry)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: create_primary_instance
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1390,1
    - Dst: load_all_instances
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1395,1
    - Dst: install_new_instance
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1396,1
    - Dst: load_all_instances
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1401,1
    - Dst: select_existing_instance
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1403,1
    - Dst: update_instance
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1404,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1406,1
    - Dst: load_all_instances
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1411,1
    - Dst: select_existing_instance
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1412,1
    - Dst: load_all_instances
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1416,1
    - Dst: select_existing_instance
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1418,1
    - Dst: export_helper_environment
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1428,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1429,1
    - Dst: execl
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1430,1
    - Dst: EDIT_CMD_STR
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1430,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1431,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 5
    argNames:
    - edit_cmd
    - argc
    - argv
    - selection
    - assignment
    argTypes:
    - int
    - int
    - char**
    - INST_SELECTION*
    - NAME_ASSIGNMENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1374
    functionDepth: 4
    functionLinenumber: 1374
    functionLinenumberEnd: 1432
    functionName: manage
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - install_new_instance
    - update_instance
    - exit
    - EDIT_CMD_STR
    - concatenate
    - load_all_instances
    - msg_fatal
    - select_existing_instance
    - execl
    - export_helper_environment
    - create_primary_instance
    linkageType: ''
    returnType: NORETURN
    signature: "NORETURN manage(int edit_cmd, int argc, char **argv,\n\t\t               INST_SELECTION
      *selection,\n\t\t               NAME_ASSIGNMENT *assignment)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1453,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1455,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1458,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1460,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1461,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1462,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1463,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1464,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1465,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1466,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1467,1
    - Dst: prepend_command_path
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1469,1
    - Dst: execvp
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1479,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1480,1
    - Dst: waitpid
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1483,1
    - Dst: WIFEXITED
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1486,1
    - Dst: WEXITSTATUS
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1486,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - ip
    - iter_cmd
    - iter_flags
    - argv
    argTypes:
    - INSTANCE*
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1488
      start: 1436
    functionDepth: 2
    functionLinenumber: 1436
    functionLinenumberEnd: 1488
    functionName: run_user_command
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - waitpid
    - msg_warn
    - check_setenv
    - fork
    - WIFEXITED
    - WEXITSTATUS
    - execvp
    - prepend_command_path
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: "int run_user_command(INSTANCE *ip, int iter_cmd, int iter_flags,\n\t\t\t
      \           char **argv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1498,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1499,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1499,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cmdlist
    - cmd
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1492
    functionDepth: 1
    functionLinenumber: 1492
    functionLinenumberEnd: 1503
    functionName: word_in_list
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - myfree
    - strcmp
    - mystrdup
    - mystrtok
    linkageType: ''
    returnType: int
    signature: int word_in_list(char *cmdlist, const char *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: word_in_list
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1518,1
    - Dst: word_in_list
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1520,1
    - Dst: word_in_list
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1522,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1535,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1536,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1537,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1538,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1540,1
    - Dst: iterate_command
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1546,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - iter_cmd
    - argc
    - argv
    - selection
    argTypes:
    - int
    - int
    - char**
    - INST_SELECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1507
    functionDepth: 2
    functionLinenumber: 1507
    functionLinenumberEnd: 1550
    functionName: iterate_postfix_command
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - word_in_list
    - argv_free
    - myfree
    - iterate_command
    - argv_alloc
    - argv_add
    - concatenate
    linkageType: ''
    returnType: int
    signature: "int iterate_postfix_command(int iter_cmd, int argc, char **argv,\n\t\t\t\t
      \          INST_SELECTION *selection)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RING_TO_INSTANCE
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1563,1
    - Dst: match_instance_selection
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1564,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1565,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1571,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - iter_flags
    - selection
    argTypes:
    - int
    - INST_SELECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1554
    functionDepth: 2
    functionLinenumber: 1554
    functionLinenumberEnd: 1573
    functionName: list_instances
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - vstream_fflush
    - RING_TO_INSTANCE
    - match_instance_selection
    - vstream_printf
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void list_instances(int iter_flags, INST_SELECTION *selection)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RING_TO_INSTANCE
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1563,1
    - Dst: match_instance_selection
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1564,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1562
    functionDepth: 2
    functionLinenumber: 1562
    functionLinenumberEnd: 1570
    functionName: FOREACH_ITERATOR_INSTANCE
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - vstream_printf
    - RING_TO_INSTANCE
    - match_instance_selection
    linkageType: ''
    returnType: void
    signature: void FOREACH_ITERATOR_INSTANCE(iter_flags, entry)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RING_TO_INSTANCE
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1589,1
    - Dst: match_instance_selection
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1592,1
    - Dst: run_user_command
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1597,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1601,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - iter_cmd
    - iter_flags
    - argv
    - selection
    argTypes:
    - int
    - int
    - char**
    - INST_SELECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1577
    functionDepth: 3
    functionLinenumber: 1577
    functionLinenumberEnd: 1604
    functionName: iterate_command
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 1
    functionsReached:
    - msg_fatal
    - RING_TO_INSTANCE
    - match_instance_selection
    - run_user_command
    linkageType: ''
    returnType: int
    signature: "int iterate_command(int iter_cmd, int iter_flags, char **argv,\n\t\t\t
      \          INST_SELECTION *selection)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RING_TO_INSTANCE
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1589,1
    - Dst: match_instance_selection
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1592,1
    - Dst: run_user_command
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1597,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1588
    functionDepth: 3
    functionLinenumber: 1588
    functionLinenumberEnd: 1599
    functionName: FOREACH_ITERATOR_INSTANCE
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - RING_TO_INSTANCE
    - match_instance_selection
    - run_user_command
    linkageType: ''
    returnType: void
    signature: void FOREACH_ITERATOR_INSTANCE(iter_flags, entry)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: load_all_instances
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1622,1
    - Dst: iterate_postfix_command
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1629,1
    - Dst: list_instances
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1632,1
    - Dst: iterate_command
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1636,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1639,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1641,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - iter_cmd
    - iter_flags
    - argc
    - argv
    - selection
    argTypes:
    - int
    - int
    - int
    - char**
    - INST_SELECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1608
    functionDepth: 4
    functionLinenumber: 1608
    functionLinenumberEnd: 1642
    functionName: iterate
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - exit
    - list_instances
    - iterate_command
    - iterate_postfix_command
    - load_all_instances
    linkageType: ''
    returnType: NORETURN
    signature: "NORETURN iterate(int iter_cmd, int iter_flags, int argc, char **argv,\n\t\t\t
      \       INST_SELECTION *selection)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1644
    functionDepth: 1
    functionLinenumber: 1644
    functionLinenumberEnd: 1653
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(const char *progname)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1691,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1699,1
    - Dst: close
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1700,1
    - Dst: open
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1700,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1701,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1708,1
    - Dst: isatty
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1710,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1711,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1712,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1724,1
    - Dst: get_mail_conf_str_table
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1725,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1726,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1728,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1729,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1730,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1737,1
    - Dst: usage
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1740,1
    - Dst: EDIT_CMD_CODE
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1748,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1749,1
    - Dst: EDIT_CMD_STR
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1752,1
    - Dst: EDIT_CMD_STR
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1753,1
    - Dst: EDIT_CMD_STR
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1754,1
    - Dst: EDIT_CMD_STR
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1755,1
    - Dst: EDIT_CMD_STR
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1756,1
    - Dst: EDIT_CMD_STR
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1757,1
    - Dst: EDIT_CMD_STR
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1758,1
    - Dst: EDIT_CMD_STR
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1759,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1776,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1777,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1781,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1782,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1799,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1813,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1816,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1819,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1823,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1827,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1832,1
    - Dst: EDIT_CMD_STR
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1833,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1835,1
    - Dst: EDIT_CMD_STR
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1836,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1841,1
    - Dst: EDIT_CMD_STR
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1842,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1845,1
    - Dst: EDIT_CMD_STR
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1846,1
    - Dst: check_shared_dir_status
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1852,1
    - Dst: iterate
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1858,1
    - Dst: manage
      Src: /src/postfix/postfix/src/postmulti/postmulti.c:1860,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 106
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1659
    functionDepth: 5
    functionLinenumber: 1659
    functionLinenumberEnd: 1861
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/postmulti/postmulti.c
    functionUses: 1
    functionsReached:
    - manage
    - msg_vstream_init
    - open
    - GETOPT
    - check_setenv
    - check_shared_dir_status
    - maillog_client_init
    - iterate
    - get_mail_conf_str_table
    - getenv
    - close
    - fstat
    - EDIT_CMD_STR
    - isatty
    - mail_conf_read
    - strrchr
    - EDIT_CMD_CODE
    - umask
    - strcmp
    - usage
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/postfix/postfix/src/postfix/postfix.c:465,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postfix/postfix.c:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 467
    functionName: check_setenv
    functionSourceFile: /src/postfix/postfix/src/postfix/postfix.c
    functionUses: 4
    functionsReached:
    - msg_fatal
    - setenv
    linkageType: ''
    returnType: void
    signature: void check_setenv(char *name, char *value)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/postfix/postfix/src/postfix/postfix.c:502,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/postfix/postfix.c:510,1
    - Dst: close
      Src: /src/postfix/postfix/src/postfix/postfix.c:511,1
    - Dst: open
      Src: /src/postfix/postfix/src/postfix/postfix.c:511,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postfix/postfix.c:512,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/postfix/postfix.c:519,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/postfix/postfix.c:521,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/postfix/postfix.c:522,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/postfix/postfix.c:534,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/postfix/postfix.c:535,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postfix/postfix.c:536,1
    - Dst: unsafe
      Src: /src/postfix/postfix/src/postfix/postfix.c:538,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postfix/postfix.c:539,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/postfix/postfix.c:544,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postfix/postfix.c:547,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postfix/postfix.c:550,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postfix/postfix.c:551,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postfix/postfix.c:554,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postfix/postfix.c:558,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/postfix/postfix.c:562,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/postfix/postfix.c:568,1
    - Dst: get_mail_conf_str_table
      Src: /src/postfix/postfix/src/postfix/postfix.c:569,1
    - Dst: mail_parm_split
      Src: /src/postfix/postfix/src/postfix/postfix.c:577,1
    - Dst: clean_env
      Src: /src/postfix/postfix/src/postfix/postfix.c:578,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postfix/postfix.c:579,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/postfix/postfix.c:585,1
    - Dst: compat_level_from_string
      Src: /src/postfix/postfix/src/postfix/postfix.c:591,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postfix/postfix.c:592,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postfix/postfix.c:593,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postfix/postfix.c:595,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postfix/postfix.c:599,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postfix/postfix.c:600,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postfix/postfix.c:602,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postfix/postfix.c:603,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postfix/postfix.c:604,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postfix/postfix.c:605,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postfix/postfix.c:606,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postfix/postfix.c:607,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postfix/postfix.c:608,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postfix/postfix.c:613,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postfix/postfix.c:614,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postfix/postfix.c:615,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postfix/postfix.c:616,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postfix/postfix.c:617,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postfix/postfix.c:618,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postfix/postfix.c:619,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postfix/postfix.c:620,1
    - Dst: check_setenv
      Src: /src/postfix/postfix/src/postfix/postfix.c:621,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/postfix/postfix.c:627,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postfix/postfix.c:628,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/postfix/postfix.c:629,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postfix/postfix.c:630,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/postfix/postfix.c:631,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postfix/postfix.c:632,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/postfix/postfix.c:638,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/postfix/postfix.c:639,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postfix/postfix.c:641,1
    - Dst: execvp
      Src: /src/postfix/postfix/src/postfix/postfix.c:643,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postfix/postfix.c:644,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postfix/postfix.c:652,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/postfix/postfix.c:654,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/postfix/postfix.c:656,1
    - Dst: execvp
      Src: /src/postfix/postfix/src/postfix/postfix.c:658,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postfix/postfix.c:659,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 88
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 661
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/postfix/postfix.c
    functionUses: 1
    functionsReached:
    - msg_vstream_init
    - msg_info
    - open
    - GETOPT
    - unsafe
    - getuid
    - clean_env
    - msg_panic
    - check_setenv
    - maillog_client_init
    - msg_error
    - chdir
    - get_mail_conf_str_table
    - concatenate
    - getenv
    - mail_parm_split
    - close
    - compat_level_from_string
    - execvp
    - argv_split
    - fstat
    - mail_conf_read
    - strrchr
    - argv_free
    - umask
    - argv_add
    - msg_fatal
    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: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/flush/flush.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - 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: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/flush/flush.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x,y)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: midna_domain_to_ascii
      Src: /src/postfix/postfix/src/flush/flush.c:276,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/flush/flush.c:284,1
    - Dst: ISALNUM
      Src: /src/postfix/postfix/src/flush/flush.c:290,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/flush/flush.c:291,1
    - Dst: tolower
      Src: /src/postfix/postfix/src/flush/flush.c:291,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/flush/flush.c:293,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/flush/flush.c:294,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/flush/flush.c:297,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - path
    - site
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 300
    functionName: flush_site_to_path
    functionSourceFile: /src/postfix/postfix/src/flush/flush.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - tolower
    - vstring_alloc
    - msg_info
    - ISALNUM
    - midna_domain_to_ascii
    - VSTRING_TERMINATE
    - STR
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *flush_site_to_path(VSTRING *path, const char *site)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/flush/flush.c:311,1
    - Dst: domain_list_match
      Src: /src/postfix/postfix/src/flush/flush.c:316,1
    - Dst: flush_site_to_path
      Src: /src/postfix/postfix/src/flush/flush.c:322,1
    - Dst: flush_add_path
      Src: /src/postfix/postfix/src/flush/flush.c:324,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:324,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/flush/flush.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - site
    - queue_id
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 328
    functionName: flush_add_service
    functionSourceFile: /src/postfix/postfix/src/flush/flush.c
    functionUses: 0
    functionsReached:
    - flush_add_path
    - domain_list_match
    - msg_info
    - flush_site_to_path
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int flush_add_service(const char *site, const char *queue_id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mail_queue_id_ok
      Src: /src/postfix/postfix/src/flush/flush.c:340,1
    - Dst: mail_queue_open
      Src: /src/postfix/postfix/src/flush/flush.c:346,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/flush/flush.c:348,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/flush/flush.c:355,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/flush/flush.c:355,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/flush/flush.c:356,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/flush/flush.c:364,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/flush/flush.c:365,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/flush/flush.c:366,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/flush/flush.c:371,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/flush/flush.c:371,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/flush/flush.c:372,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/flush/flush.c:373,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/flush/flush.c:374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - path
    - queue_id
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 377
    functionName: flush_add_path
    functionSourceFile: /src/postfix/postfix/src/flush/flush.c
    functionUses: 1
    functionsReached:
    - myflock
    - msg_warn
    - vstream_fprintf
    - vstream_fflush
    - mail_queue_open
    - vstream_fclose
    - mail_queue_id_ok
    - vstream_fileno
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int flush_add_path(const char *path, const char *queue_id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/flush/flush.c:388,1
    - Dst: domain_list_match
      Src: /src/postfix/postfix/src/flush/flush.c:393,1
    - Dst: flush_site_to_path
      Src: /src/postfix/postfix/src/flush/flush.c:399,1
    - Dst: flush_send_path
      Src: /src/postfix/postfix/src/flush/flush.c:401,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:401,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/flush/flush.c:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - site
    - how
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 405
    functionName: flush_send_service
    functionSourceFile: /src/postfix/postfix/src/flush/flush.c
    functionUses: 0
    functionsReached:
    - domain_list_match
    - msg_info
    - flush_send_path
    - flush_site_to_path
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int flush_send_service(const char *site, int how)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/flush/flush.c:422,1
    - Dst: utime
      Src: /src/postfix/postfix/src/flush/flush.c:423,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/flush/flush.c:426,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/flush/flush.c:427,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/flush/flush.c:450,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/flush/flush.c:452,1
    - Dst: safe_open
      Src: /src/postfix/postfix/src/flush/flush.c:453,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/flush/flush.c:456,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:456,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/flush/flush.c:457,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/flush/flush.c:458,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/flush/flush.c:462,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/flush/flush.c:464,1
    - Dst: fchmod
      Src: /src/postfix/postfix/src/flush/flush.c:467,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/flush/flush.c:467,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/flush/flush.c:468,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/flush/flush.c:469,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/flush/flush.c:475,1
    - Dst: mail_queue_rename
      Src: /src/postfix/postfix/src/flush/flush.c:476,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/flush/flush.c:478,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 4
    argNames:
    - queue_id
    - queue_file
    - tbuf
    - how
    argTypes:
    - char*
    - VSTRING*
    - struct utimbuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 485
    functionName: flush_one_file
    functionSourceFile: /src/postfix/postfix/src/flush/flush.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - mail_queue_rename
    - vstring_alloc
    - vstream_fclose
    - STR
    - fchmod
    - STREQ
    - safe_open
    - vstream_fileno
    - mail_queue_path
    - vstring_free
    - utime
    linkageType: ''
    returnType: int
    signature: "int flush_one_file(const char *queue_id, VSTRING *queue_file,\n\t\t\t
      \         struct utimbuf * tbuf, int how)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: mail_queue_id_ok
      Src: /src/postfix/postfix/src/flush/flush.c:508,1
    - Dst: mail_queue_open
      Src: /src/postfix/postfix/src/flush/flush.c:515,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/flush/flush.c:517,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/flush/flush.c:527,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/flush/flush.c:527,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/flush/flush.c:528,1
    - Dst: mail_trigger
      Src: /src/postfix/postfix/src/flush/flush.c:544,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/flush/flush.c:564,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/flush/flush.c:565,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/flush/flush.c:566,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/flush/flush.c:567,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/flush/flush.c:568,1
    - Dst: mail_queue_id_ok
      Src: /src/postfix/postfix/src/flush/flush.c:569,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:569,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/flush/flush.c:570,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:571,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/flush/flush.c:575,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:575,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/flush/flush.c:577,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:578,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/flush/flush.c:580,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:580,1
    - Dst: flush_one_file
      Src: /src/postfix/postfix/src/flush/flush.c:581,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:581,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/flush/flush.c:584,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:585,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/flush/flush.c:588,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/flush/flush.c:589,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/flush/flush.c:590,1
    - Dst: ftruncate
      Src: /src/postfix/postfix/src/flush/flush.c:595,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/flush/flush.c:595,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/flush/flush.c:596,1
    - Dst: utimes
      Src: /src/postfix/postfix/src/flush/flush.c:601,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/flush/flush.c:601,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/flush/flush.c:606,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/flush/flush.c:606,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/flush/flush.c:607,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/flush/flush.c:608,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/flush/flush.c:609,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/flush/flush.c:612,1
    - Dst: mail_trigger
      Src: /src/postfix/postfix/src/flush/flush.c:613,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 2
    argNames:
    - path
    - how
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 617
    functionName: flush_send_path
    functionSourceFile: /src/postfix/postfix/src/flush/flush.c
    functionUses: 1
    functionsReached:
    - htable_create
    - htable_free
    - mail_queue_open
    - msg_info
    - vstring_get_nonl
    - utimes
    - VSTREAM_PATH
    - vstring_alloc
    - mail_queue_id_ok
    - htable_find
    - myflock
    - htable_enter
    - mail_trigger
    - vstream_fileno
    - ftruncate
    - vstring_free
    - msg_warn
    - vstream_fclose
    - event_time
    - flush_one_file
    - msg_fatal
    - STR
    linkageType: ''
    returnType: int
    signature: int flush_send_path(const char *path, int how)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mail_queue_id_ok
      Src: /src/postfix/postfix/src/flush/flush.c:633,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/flush/flush.c:637,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/flush/flush.c:639,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/flush/flush.c:640,1
    - Dst: flush_one_file
      Src: /src/postfix/postfix/src/flush/flush.c:641,1
    - Dst: mail_trigger
      Src: /src/postfix/postfix/src/flush/flush.c:642,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/flush/flush.c:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - queue_id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 647
    functionName: flush_send_file_service
    functionSourceFile: /src/postfix/postfix/src/flush/flush.c
    functionUses: 0
    functionsReached:
    - vstring_alloc
    - msg_info
    - event_time
    - mail_queue_id_ok
    - flush_one_file
    - mail_trigger
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int flush_send_file_service(const char *queue_id)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/flush/flush.c:657,1
    - Dst: scan_dir_open
      Src: /src/postfix/postfix/src/flush/flush.c:659,1
    - Dst: mail_scan_dir_next
      Src: /src/postfix/postfix/src/flush/flush.c:660,1
    - Dst: mail_queue_id_ok
      Src: /src/postfix/postfix/src/flush/flush.c:661,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/flush/flush.c:663,1
    - Dst: stat
      Src: /src/postfix/postfix/src/flush/flush.c:664,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:664,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/flush/flush.c:666,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:666,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/flush/flush.c:668,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:668,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/flush/flush.c:672,1
    - Dst: unlink
      Src: /src/postfix/postfix/src/flush/flush.c:673,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:673,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/flush/flush.c:674,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:674,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/flush/flush.c:676,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:677,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/flush/flush.c:679,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/flush/flush.c:680,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/flush/flush.c:682,1
    - Dst: flush_send_path
      Src: /src/postfix/postfix/src/flush/flush.c:683,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/flush/flush.c:686,1
    - Dst: scan_dir_close
      Src: /src/postfix/postfix/src/flush/flush.c:690,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/flush/flush.c:691,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 1
    argNames:
    - max_age
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 694
    functionName: flush_refresh_service
    functionSourceFile: /src/postfix/postfix/src/flush/flush.c
    functionUses: 0
    functionsReached:
    - stat
    - msg_warn
    - scan_dir_close
    - mail_scan_dir_next
    - vstring_alloc
    - unlink
    - msg_info
    - scan_dir_open
    - event_time
    - flush_send_path
    - mail_queue_id_ok
    - mail_queue_path
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int flush_refresh_service(int max_age)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: attr_print
      Src: /src/postfix/postfix/src/flush/flush.c:705,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/flush/flush.c:706,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/flush/flush.c:708,1
    - Dst: read_wait
      Src: /src/postfix/postfix/src/flush/flush.c:713,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/flush/flush.c:713,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/flush/flush.c:714,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/flush/flush.c:715,1
    - Dst: peekfd
      Src: /src/postfix/postfix/src/flush/flush.c:718,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/flush/flush.c:718,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/flush/flush.c:719,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/flush/flush.c:720,1
    - Dst: vstring_get_null
      Src: /src/postfix/postfix/src/flush/flush.c:728,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/flush/flush.c:729,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/flush/flush.c:730,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/flush/flush.c:739,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/flush/flush.c:741,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - client_stream
    - request
    argTypes:
    - VSTREAM*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 747
    functionName: flush_request_receive
    functionSourceFile: /src/postfix/postfix/src/flush/flush.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - VSTREAM_PATH
    - read_wait
    - SEND_ATTR_STR
    - attr_print
    - vstream_fflush
    - RECV_ATTR_STR
    - attr_scan
    - vstring_get_null
    - vstream_fileno
    - peekfd
    linkageType: ''
    returnType: int
    signature: int flush_request_receive(VSTREAM *client_stream, VSTRING *request)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/flush/flush.c:754,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/flush/flush.c:767,1
    - Dst: flush_request_receive
      Src: /src/postfix/postfix/src/flush/flush.c:778,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/flush/flush.c:779,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:779,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/flush/flush.c:780,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/flush/flush.c:781,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/flush/flush.c:782,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/flush/flush.c:783,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/flush/flush.c:784,1
    - Dst: mail_queue_id_ok
      Src: /src/postfix/postfix/src/flush/flush.c:786,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:786,1
    - Dst: flush_add_service
      Src: /src/postfix/postfix/src/flush/flush.c:787,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:787,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:787,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/flush/flush.c:788,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/flush/flush.c:789,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/flush/flush.c:791,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:791,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/flush/flush.c:792,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/flush/flush.c:793,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/flush/flush.c:794,1
    - Dst: flush_send_service
      Src: /src/postfix/postfix/src/flush/flush.c:796,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:796,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/flush/flush.c:797,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/flush/flush.c:798,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/flush/flush.c:800,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:800,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/flush/flush.c:801,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/flush/flush.c:802,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/flush/flush.c:803,1
    - Dst: flush_send_file_service
      Src: /src/postfix/postfix/src/flush/flush.c:805,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:805,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/flush/flush.c:806,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/flush/flush.c:807,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/flush/flush.c:809,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:809,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/flush/flush.c:810,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:810,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/flush/flush.c:811,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/flush/flush.c:812,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/flush/flush.c:814,1
    - Dst: flush_refresh_service
      Src: /src/postfix/postfix/src/flush/flush.c:815,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/flush/flush.c:816,1
    - Dst: STR
      Src: /src/postfix/postfix/src/flush/flush.c:816,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/flush/flush.c:817,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/flush/flush.c:818,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/flush/flush.c:820,1
    - Dst: flush_refresh_service
      Src: /src/postfix/postfix/src/flush/flush.c:821,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/flush/flush.c:824,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/flush/flush.c:825,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/flush/flush.c:827,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/flush/flush.c:829,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/flush/flush.c:831,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 3
    argNames:
    - client_stream
    - unused_service
    - argv
    argTypes:
    - VSTREAM*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 751
    functionDepth: 4
    functionLinenumber: 751
    functionLinenumberEnd: 832
    functionName: flush_service
    functionSourceFile: /src/postfix/postfix/src/flush/flush.c
    functionUses: 0
    functionsReached:
    - flush_send_file_service
    - flush_add_service
    - SEND_ATTR_INT
    - attr_print
    - vstring_alloc
    - RECV_ATTR_STR
    - attr_scan
    - vstream_fflush
    - flush_request_receive
    - STREQ
    - flush_refresh_service
    - mail_queue_id_ok
    - flush_send_service
    - msg_fatal
    - vstring_free
    - STR
    linkageType: ''
    returnType: void
    signature: "void flush_service(VSTREAM *client_stream, char *unused_service,\n\t\t\t
      \         char **argv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: domain_list_init
      Src: /src/postfix/postfix/src/flush/flush.c:838,1
    - Dst: match_parent_style
      Src: /src/postfix/postfix/src/flush/flush.c:839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 841
    functionName: pre_jail_init
    functionSourceFile: /src/postfix/postfix/src/flush/flush.c
    functionUses: 0
    functionsReached:
    - domain_list_init
    - match_parent_style
    linkageType: ''
    returnType: void
    signature: void pre_jail_init(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: single_server_main
      Src: /src/postfix/postfix/src/flush/flush.c:860,1
    - Dst: CA_MAIL_SERVER_TIME_TABLE
      Src: /src/postfix/postfix/src/flush/flush.c:861,1
    - Dst: CA_MAIL_SERVER_PRE_INIT
      Src: /src/postfix/postfix/src/flush/flush.c:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 865
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/flush/flush.c
    functionUses: 2
    functionsReached:
    - CA_MAIL_SERVER_TIME_TABLE
    - CA_MAIL_SERVER_PRE_INIT
    - single_server_main
    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: 572
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 572
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 573
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 573
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:633,1
    - Dst: event_server_drain
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:634,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:635,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:636,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - unused_service
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 642
    functionName: tlsp_drain
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached:
    - sleep
    - msg_fatal
    - event_server_drain
    - msg_warn
    linkageType: ''
    returnType: void
    signature: void tlsp_drain(char *unused_service, char **unused_argv)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:668,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:669,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:681,1
    - Dst: event_enable_write
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:683,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:687,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:697,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:699,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:703,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:713,1
    - Dst: TLSP_CAN_TRICKLE_OUT_PLAINTEXT
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:728,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:729,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:730,1
    - Dst: trw_report_failure
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:744,1
    - Dst: tlsp_state_free
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:749,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - state
    - err
    argTypes:
    - TLSP_STATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 752
    functionName: tlsp_eval_tls_error
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached:
    - TLSP_CAN_TRICKLE_OUT_PLAINTEXT
    - event_request_timer
    - trw_report_failure
    - tlsp_state_free
    - event_enable_write
    - event_enable_read
    - tls_print_errors
    - event_disable_readwrite
    linkageType: ''
    returnType: int
    signature: int tlsp_eval_tls_error(TLSP_STATE *state, int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 727
    functionName: TLSP_CAN_TRICKLE_OUT_PLAINTEXT
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLSP_CAN_TRICKLE_OUT_PLAINTEXT(buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tls_server_post_accept
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:764,1
    - Dst: tls_client_post_connect
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:766,1
    - Dst: tlsp_state_free
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:769,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:783,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:784,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:787,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:788,1
    - Dst: tlsp_state_free
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:789,1
    - Dst: nbbio_create
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:800,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:800,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - TLSP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 805
    functionName: tlsp_post_handshake
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - tlsp_state_free
    - attr_print
    - tls_client_post_connect
    - vstream_fflush
    - tls_server_post_accept
    - SEND_ATTR_FUNC
    - vstream_fileno
    - nbbio_create
    linkageType: ''
    returnType: int
    signature: int tlsp_post_handshake(TLSP_STATE *state)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_error
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:837,1
    - Dst: SSL_accept
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:839,1
    - Dst: SSL_connect
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:841,1
    - Dst: SSL_get_error
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:843,1
    - Dst: tlsp_eval_tls_error
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:844,1
    - Dst: tlsp_post_handshake
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:850,1
    - Dst: NBBIO_ERROR_FLAGS
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:863,1
    - Dst: NBBIO_ACTIVE_FLAGS
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:864,1
    - Dst: nbbio_disable_readwrite
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:865,1
    - Dst: ERR_clear_error
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:866,1
    - Dst: SSL_in_init
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:867,1
    - Dst: SSL_shutdown
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:868,1
    - Dst: SSL_get_error
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:869,1
    - Dst: tlsp_eval_tls_error
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:870,1
    - Dst: tlsp_state_free
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:874,1
    - Dst: NBBIO_READ_PEND
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:895,1
    - Dst: ERR_clear_error
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:896,1
    - Dst: SSL_write
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:897,1
    - Dst: NBBIO_READ_BUF
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:897,1
    - Dst: NBBIO_READ_PEND
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:898,1
    - Dst: SSL_get_error
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:899,1
    - Dst: NBBIO_READ_PEND
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:903,1
    - Dst: NBBIO_READ_PEND
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:904,1
    - Dst: memmove
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:905,1
    - Dst: NBBIO_READ_BUF
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:905,1
    - Dst: NBBIO_READ_BUF
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:906,1
    - Dst: NBBIO_READ_PEND
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:907,1
    - Dst: NBBIO_WRITE_PEND
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:928,1
    - Dst: NBBIO_BUFSIZE
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:928,1
    - Dst: ERR_clear_error
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:929,1
    - Dst: SSL_read
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:930,1
    - Dst: NBBIO_WRITE_BUF
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:931,1
    - Dst: NBBIO_WRITE_PEND
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:932,1
    - Dst: NBBIO_BUFSIZE
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:933,1
    - Dst: NBBIO_WRITE_PEND
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:934,1
    - Dst: SSL_get_error
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:935,1
    - Dst: NBBIO_WRITE_PEND
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:938,1
    - Dst: tlsp_eval_tls_error
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:948,1
    - Dst: TLSP_CAN_TRICKLE_OUT_PLAINTEXT
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:960,1
    - Dst: tlsp_state_free
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:961,1
    - Dst: NBBIO_WRITE_PEND
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:982,1
    - Dst: NBBIO_ACTIVE_FLAGS
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:983,1
    - Dst: nbbio_disable_readwrite
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:984,1
    - Dst: nbbio_enable_write
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:985,1
    - Dst: NBBIO_READ_PEND
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:986,1
    - Dst: NBBIO_BUFSIZE
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:986,1
    - Dst: NBBIO_ACTIVE_FLAGS
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:987,1
    - Dst: nbbio_disable_readwrite
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:988,1
    - Dst: nbbio_enable_read
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:989,1
    - Dst: NBBIO_ACTIVE_FLAGS
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:991,1
    - Dst: nbbio_slumber
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:992,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 74
    argCount: 1
    argNames:
    - state
    argTypes:
    - TLSP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 809
    functionDepth: 2
    functionLinenumber: 809
    functionLinenumberEnd: 994
    functionName: tlsp_strategy
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached:
    - SSL_write
    - NBBIO_READ_PEND
    - NBBIO_WRITE_PEND
    - NBBIO_ERROR_FLAGS
    - SSL_accept
    - nbbio_disable_readwrite
    - tlsp_state_free
    - NBBIO_ACTIVE_FLAGS
    - NBBIO_BUFSIZE
    - NBBIO_READ_BUF
    - tlsp_eval_tls_error
    - nbbio_enable_read
    - SSL_get_error
    - SSL_connect
    - SSL_read
    - NBBIO_WRITE_BUF
    - nbbio_enable_write
    - memmove
    - TLSP_CAN_TRICKLE_OUT_PLAINTEXT
    - nbbio_slumber
    - SSL_in_init
    - ERR_clear_error
    - tlsp_post_handshake
    - SSL_shutdown
    linkageType: ''
    returnType: void
    signature: void tlsp_strategy(TLSP_STATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NBBIO_ERROR_FLAGS
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1007,1
    - Dst: NBBIO_ACTIVE_FLAGS
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1008,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1009,1
    - Dst: tlsp_strategy
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1016,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 998
    functionDepth: 3
    functionLinenumber: 998
    functionLinenumberEnd: 1018
    functionName: tlsp_plaintext_event
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached:
    - NBBIO_ACTIVE_FLAGS
    - msg_warn
    - NBBIO_ERROR_FLAGS
    - tlsp_strategy
    linkageType: ''
    returnType: void
    signature: void tlsp_plaintext_event(int event, void *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlsp_strategy
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1032,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1036,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1039,1
    - Dst: tlsp_state_free
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1042,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1022
    functionDepth: 3
    functionLinenumber: 1022
    functionLinenumberEnd: 1044
    functionName: tlsp_ciphertext_event
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - tlsp_strategy
    - tlsp_state_free
    linkageType: ''
    returnType: void
    signature: void tlsp_ciphertext_event(int event, void *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls_client_start
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1052,1
    - Dst: tlsp_state_free
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - TLSP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1058
    functionName: tlsp_client_start_pre_handshake
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached:
    - tls_client_start
    - tlsp_state_free
    linkageType: ''
    returnType: int
    signature: int tlsp_client_start_pre_handshake(TLSP_STATE *state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1092,1
    - Dst: ADD_EXCLUDE
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1093,1
    - Dst: ADD_EXCLUDE
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1095,1
    - Dst: ADD_EXCLUDE
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1097,1
    - Dst: TLS_SERVER_START
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1100,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1111,1
    - Dst: tlsp_state_free
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - TLSP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1062
    functionDepth: 1
    functionLinenumber: 1062
    functionLinenumberEnd: 1127
    functionName: tlsp_server_start_pre_handshake
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached:
    - tlsp_state_free
    - ADD_EXCLUDE
    - vstring_alloc
    - TLS_SERVER_START
    - STR
    linkageType: ''
    returnType: int
    signature: int tlsp_server_start_pre_handshake(TLSP_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vstr
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1088
    functionName: ADD_EXCLUDE
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_EXCLUDE(vstr, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1139,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - fd
    - handler
    - timeout
    - context
    argTypes:
    - int
    - EVENT_NOTIFY_FN
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1136
    functionDepth: 1
    functionLinenumber: 1136
    functionLinenumberEnd: 1141
    functionName: tlsp_request_read_event
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached:
    - event_enable_read
    - event_request_timer
    linkageType: ''
    returnType: void
    signature: "void tlsp_request_read_event(int fd, EVENT_NOTIFY_FN handler,\n\t\t\t\t
      \           int timeout, void *context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - event
    - handler
    - context
    argTypes:
    - int
    - EVENT_NOTIFY_FN
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1145
    functionDepth: 1
    functionLinenumber: 1145
    functionLinenumberEnd: 1153
    functionName: tlsp_accept_event
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached:
    - event_cancel_timer
    linkageType: ''
    returnType: void
    signature: "void tlsp_accept_event(int event, EVENT_NOTIFY_FN handler,\n\t\t\t
      \             void *context)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1161,1
    - Dst: tlsp_accept_event
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1170,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1171,1
    - Dst: LOCAL_RECV_FD
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1174,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1175,1
    - Dst: tlsp_state_free
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1176,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1185,1
    - Dst: tlsp_server_start_pre_handshake
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1192,1
    - Dst: tlsp_client_start_pre_handshake
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1194,1
    - Dst: tlsp_strategy
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1157
    functionDepth: 3
    functionLinenumber: 1157
    functionLinenumberEnd: 1204
    functionName: tlsp_get_fd_event
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached:
    - tlsp_server_start_pre_handshake
    - msg_warn
    - tlsp_state_free
    - LOCAL_RECV_FD
    - tlsp_accept_event
    - non_blocking
    - tlsp_client_start_pre_handshake
    - event_disable_readwrite
    - vstream_fileno
    - tlsp_strategy
    linkageType: ''
    returnType: void
    signature: void tlsp_get_fd_event(int event, void *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1210,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1211,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1212,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1225,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1226,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1227,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1228,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1229,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1230,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1235,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1235,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1237,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1238,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - server_cfg
    - client_cfg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1240
    functionName: tlsp_log_config_diff
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - vstring_alloc
    - LEN
    - myfree
    - strcmp
    - split_at
    - vstring_sprintf_append
    - mystrdup
    - vstring_free
    - STR
    linkageType: ''
    returnType: void
    signature: void tlsp_log_config_diff(const char *server_cfg, const char *client_cfg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1264,1
    - Dst: tls_proxy_client_param_serialize
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1265,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1267,1
    - Dst: tls_proxy_client_init_serialize
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1268,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1279,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1280,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1281,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1282,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1283,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1295,1
    - Dst: TLSP_CLIENT_INIT_RETURN
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1296,1
    - Dst: been_here_fixed
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1297,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1298,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1299,1
    - Dst: tlsp_log_config_diff
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1300,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1308,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1328,1
    - Dst: NOT_EMPTY
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1329,1
    - Dst: NOT_EMPTY
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1330,1
    - Dst: NOT_EMPTY
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1331,1
    - Dst: NOT_EMPTY
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1332,1
    - Dst: NOT_EMPTY
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1333,1
    - Dst: NOT_EMPTY
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1334,1
    - Dst: NOT_EMPTY
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1335,1
    - Dst: NOT_EMPTY
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1336,1
    - Dst: NOT_EMPTY
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1337,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1338,1
    - Dst: tlsp_log_config_diff
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1339,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1344,1
    - Dst: tls_client_init
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1358,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1359,1
    - Dst: SSL_CTX_set_mode
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1369,1
    - Dst: TLSP_CLIENT_INIT_RETURN
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1373,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 37
    argCount: 2
    argNames:
    - tls_params
    - init_props
    argTypes:
    - TLS_CLIENT_PARAMS*
    - TLS_CLIENT_INIT_PROPS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1244
    functionDepth: 2
    functionLinenumber: 1244
    functionLinenumberEnd: 1374
    functionName: tlsp_client_init
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - tls_client_init
    - msg_warn
    - tls_proxy_client_init_serialize
    - vstring_alloc
    - NOT_EMPTY
    - htable_enter
    - SSL_CTX_set_mode
    - been_here_fixed
    - strcmp
    - htable_find
    - TLSP_CLIENT_INIT_RETURN
    - mystrdup
    - tlsp_log_config_diff
    - tls_proxy_client_param_serialize
    linkageType: ''
    returnType: TLS_APPL_STATE
    signature: "TLS_APPL_STATE *tlsp_client_init(TLS_CLIENT_PARAMS *tls_params,\n\t\t\t\t
      \         TLS_CLIENT_INIT_PROPS *init_props)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - retval
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1275
    functionName: TLSP_CLIENT_INIT_RETURN
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLSP_CLIENT_INIT_RETURN(retval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1326
    functionName: NOT_EMPTY
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOT_EMPTY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlsp_accept_event
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1382,1
    - Dst: tlsp_state_free
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1378
    functionDepth: 2
    functionLinenumber: 1378
    functionLinenumberEnd: 1384
    functionName: tlsp_close_event
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached:
    - tlsp_state_free
    - tlsp_accept_event
    linkageType: ''
    returnType: void
    signature: void tlsp_close_event(int event, void *context)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1393,1
    - Dst: tlsp_accept_event
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1407,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1413,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1414,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1428,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1429,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1430,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1431,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1432,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1433,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1435,1
    - Dst: tlsp_state_free
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1436,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1447,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1447,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1448,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1448,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1449,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1465,1
    - Dst: RECV_ATTR_FUNC
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1466,1
    - Dst: RECV_ATTR_FUNC
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1468,1
    - Dst: RECV_ATTR_FUNC
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1470,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1473,1
    - Dst: tlsp_state_free
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1474,1
    - Dst: tlsp_client_init
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1477,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1487,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1498,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1499,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1501,1
    - Dst: tlsp_request_read_event
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1503,1
    - Dst: tlsp_request_read_event
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1508,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1388
    functionDepth: 3
    functionLinenumber: 1388
    functionLinenumberEnd: 1512
    functionName: tlsp_get_request_event
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - tlsp_state_free
    - tlsp_accept_event
    - RECV_ATTR_FUNC
    - SEND_ATTR_INT
    - tlsp_client_init
    - vstring_alloc
    - RECV_ATTR_STR
    - attr_scan
    - msg_info
    - attr_print
    - vstream_fflush
    - tlsp_request_read_event
    - vstream_fileno
    - mystrdup
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: void
    signature: void tlsp_get_request_event(int event, void *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1521,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1527,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1535,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1536,1
    - Dst: CA_VSTREAM_CTL_PATH
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1537,1
    - Dst: CA_VSTREAM_CTL_TIMEOUT
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1538,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1541,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1542,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1544,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1545,1
    - Dst: tlsp_state_create
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1550,1
    - Dst: tlsp_request_read_event
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - plaintext_stream
    - service
    - argv
    argTypes:
    - VSTREAM*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1516
    functionDepth: 2
    functionLinenumber: 1516
    functionLinenumberEnd: 1553
    functionName: tlsp_service
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - CA_VSTREAM_CTL_PATH
    - CA_VSTREAM_CTL_TIMEOUT
    - SEND_ATTR_STR
    - tlsp_state_create
    - attr_print
    - vstream_fflush
    - vstream_control
    - tlsp_request_read_event
    - non_blocking
    - vstream_fileno
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: "void tlsp_service(VSTREAM *plaintext_stream,\n\t\t\t         char
      *service,\n\t\t\t         char **argv)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: tls_level_lookup
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1571,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1573,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1579,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1596,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1610,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1624,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1634,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1636,1
    - Dst: tls_pre_jail_init
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1640,1
    - Dst: TLS_SERVER_INIT
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1647,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1673,1
    - Dst: SSL_CTX_set_mode
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1684,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1687
      start: 1557
    functionDepth: 1
    functionLinenumber: 1557
    functionLinenumberEnd: 1687
    functionName: pre_jail_init_server
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - strcasecmp
    - SSL_CTX_set_mode
    - TLS_SERVER_INIT
    - tls_pre_jail_init
    - msg_fatal
    - tls_level_lookup
    linkageType: ''
    returnType: void
    signature: void pre_jail_init_server(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: htable_create
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1699,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1704,1
    - Dst: tls_level_lookup
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1749,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1768,1
    - Dst: tls_pre_jail_init
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1779,1
    - Dst: tls_proxy_client_param_from_config
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1788,1
    - Dst: TLS_CLIENT_INIT_ARGS
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1789,1
    - Dst: tlsp_client_init
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1804,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1805,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1691
    functionDepth: 3
    functionLinenumber: 1691
    functionLinenumberEnd: 1807
    functionName: pre_jail_init_client
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - htable_create
    - tls_proxy_client_param_from_config
    - tlsp_client_init
    - TLS_CLIENT_INIT_ARGS
    - msg_info
    - tls_pre_jail_init
    - msg_fatal
    - tls_level_lookup
    linkageType: ''
    returnType: void
    signature: void pre_jail_init_client(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pre_jail_init_server
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1817,1
    - Dst: pre_jail_init_client
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1818,1
    - Dst: been_here_init
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1831
      start: 1811
    functionDepth: 4
    functionLinenumber: 1811
    functionLinenumberEnd: 1831
    functionName: pre_jail_init
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 2
    functionsReached:
    - pre_jail_init_server
    - been_here_init
    - pre_jail_init_client
    linkageType: ''
    returnType: void
    signature: void pre_jail_init(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_server_main
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1971,1
    - Dst: CA_MAIL_SERVER_INT_TABLE
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1972,1
    - Dst: CA_MAIL_SERVER_NINT_TABLE
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1973,1
    - Dst: CA_MAIL_SERVER_STR_TABLE
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1974,1
    - Dst: CA_MAIL_SERVER_STR_TABLE
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1975,1
    - Dst: CA_MAIL_SERVER_BOOL_TABLE
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1976,1
    - Dst: CA_MAIL_SERVER_NBOOL_TABLE
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1977,1
    - Dst: CA_MAIL_SERVER_TIME_TABLE
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1978,1
    - Dst: CA_MAIL_SERVER_PRE_INIT
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1979,1
    - Dst: CA_MAIL_SERVER_SLOW_EXIT
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1980,1
    - Dst: CA_MAIL_SERVER_WATCHDOG
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1985
      start: 1837
    functionDepth: 1
    functionLinenumber: 1837
    functionLinenumberEnd: 1985
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 3
    functionsReached:
    - event_server_main
    - CA_MAIL_SERVER_SLOW_EXIT
    - CA_MAIL_SERVER_WATCHDOG
    - CA_MAIL_SERVER_STR_TABLE
    - CA_MAIL_SERVER_NINT_TABLE
    - CA_MAIL_SERVER_NBOOL_TABLE
    - CA_MAIL_SERVER_INT_TABLE
    - CA_MAIL_SERVER_TIME_TABLE
    - CA_MAIL_SERVER_PRE_INIT
    - CA_MAIL_SERVER_BOOL_TABLE
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1994,1
    - Dst: event_server_disconnect
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:1995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - stream
    - unused_service
    - unused_argv
    argTypes:
    - VSTREAM*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1991
    functionDepth: 1
    functionLinenumber: 1991
    functionLinenumberEnd: 1996
    functionName: tlsp_service
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached:
    - event_server_disconnect
    - msg_info
    linkageType: ''
    returnType: void
    signature: "void tlsp_service(VSTREAM *stream, char *unused_service,\n\t\t\t         char
      **unused_argv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_server_main
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy.c:2012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 2000
    functionDepth: 1
    functionLinenumber: 2000
    functionLinenumberEnd: 2014
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
    functionUses: 4
    functionsReached:
    - event_server_main
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy_state.c:106,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy_state.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - service
    - plaintext_stream
    argTypes:
    - char*
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 125
    functionName: tlsp_state_create
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy_state.c
    functionUses: 1
    functionsReached:
    - mymalloc
    - mystrdup
    linkageType: ''
    returnType: TLSP_STATE
    signature: "TLSP_STATE *tlsp_state_create(const char *service,\n\t\t\t              VSTREAM
      *plaintext_stream)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy_state.c:134,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy_state.c:136,1
    - Dst: nbbio_free
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy_state.c:138,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy_state.c:140,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy_state.c:140,1
    - Dst: event_server_disconnect
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy_state.c:141,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy_state.c:143,1
    - Dst: close
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy_state.c:144,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy_state.c:147,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy_state.c:149,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy_state.c:150,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy_state.c:153,1
    - Dst: tls_free_context
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy_state.c:155,1
    - Dst: tls_proxy_client_param_free
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy_state.c:157,1
    - Dst: tls_proxy_server_init_free
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy_state.c:159,1
    - Dst: tls_proxy_server_start_free
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy_state.c:161,1
    - Dst: tls_proxy_client_init_free
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy_state.c:163,1
    - Dst: tls_proxy_client_start_free
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy_state.c:165,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tlsproxy/tlsproxy_state.c:166,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 1
    argNames:
    - state
    argTypes:
    - TLSP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 167
    functionName: tlsp_state_free
    functionSourceFile: /src/postfix/postfix/src/tlsproxy/tlsproxy_state.c
    functionUses: 9
    functionsReached:
    - tls_free_context
    - close
    - nbbio_free
    - tls_proxy_client_param_free
    - tls_proxy_server_init_free
    - msg_info
    - myfree
    - tls_proxy_server_start_free
    - event_server_disconnect
    - event_disable_readwrite
    - tls_proxy_client_start_free
    - vstream_fileno
    - event_cancel_timer
    - tls_proxy_client_init_free
    linkageType: ''
    returnType: void
    signature: void tlsp_state_free(TLSP_STATE *state)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/virtual/maildir.c:90,1
    - Dst: MSG_LOG_STATE
      Src: /src/postfix/postfix/src/virtual/maildir.c:97,1
    - Dst: DEL_REQ_TRACE_ONLY
      Src: /src/postfix/postfix/src/virtual/maildir.c:102,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/virtual/maildir.c:103,1
    - Dst: sent
      Src: /src/postfix/postfix/src/virtual/maildir.c:104,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/virtual/maildir.c:104,1
    - Dst: SENT_ATTR
      Src: /src/postfix/postfix/src/virtual/maildir.c:105,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/virtual/maildir.c:112,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/virtual/maildir.c:113,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/virtual/maildir.c:113,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/virtual/maildir.c:116,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/virtual/maildir.c:121,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/virtual/maildir.c:122,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/virtual/maildir.c:123,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/virtual/maildir.c:177,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/virtual/maildir.c:178,1
    - Dst: get_hostname
      Src: /src/postfix/postfix/src/virtual/maildir.c:179,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/virtual/maildir.c:180,1
    - Dst: STR
      Src: /src/postfix/postfix/src/virtual/maildir.c:180,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/virtual/maildir.c:182,1
    - Dst: make_dirs
      Src: /src/postfix/postfix/src/virtual/maildir.c:184,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/virtual/maildir.c:185,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/virtual/maildir.c:186,1
    - Dst: mbox_dsn
      Src: /src/postfix/postfix/src/virtual/maildir.c:186,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/virtual/maildir.c:188,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/virtual/maildir.c:188,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/virtual/maildir.c:195,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/virtual/maildir.c:197,1
    - Dst: get_hostname
      Src: /src/postfix/postfix/src/virtual/maildir.c:202,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/virtual/maildir.c:203,1
    - Dst: STR
      Src: /src/postfix/postfix/src/virtual/maildir.c:203,1
    - Dst: mail_copy
      Src: /src/postfix/postfix/src/virtual/maildir.c:204,1
    - Dst: COPY_ATTR
      Src: /src/postfix/postfix/src/virtual/maildir.c:204,1
    - Dst: sane_link
      Src: /src/postfix/postfix/src/virtual/maildir.c:207,1
    - Dst: make_dirs
      Src: /src/postfix/postfix/src/virtual/maildir.c:209,1
    - Dst: make_dirs
      Src: /src/postfix/postfix/src/virtual/maildir.c:209,1
    - Dst: sane_link
      Src: /src/postfix/postfix/src/virtual/maildir.c:210,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/virtual/maildir.c:211,1
    - Dst: mbox_dsn
      Src: /src/postfix/postfix/src/virtual/maildir.c:211,1
    - Dst: unlink
      Src: /src/postfix/postfix/src/virtual/maildir.c:216,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/virtual/maildir.c:217,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/virtual/maildir.c:219,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/virtual/maildir.c:230,1
    - Dst: STR
      Src: /src/postfix/postfix/src/virtual/maildir.c:232,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/virtual/maildir.c:233,1
    - Dst: vstring_sprintf_prepend
      Src: /src/postfix/postfix/src/virtual/maildir.c:235,1
    - Dst: STR
      Src: /src/postfix/postfix/src/virtual/maildir.c:237,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/virtual/maildir.c:239,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/virtual/maildir.c:240,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/virtual/maildir.c:242,1
    - Dst: sent
      Src: /src/postfix/postfix/src/virtual/maildir.c:243,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/virtual/maildir.c:243,1
    - Dst: SENT_ATTR
      Src: /src/postfix/postfix/src/virtual/maildir.c:244,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/virtual/maildir.c:246,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/virtual/maildir.c:247,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/virtual/maildir.c:248,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/virtual/maildir.c:249,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/virtual/maildir.c:250,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/virtual/maildir.c:252,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 2
    argNames:
    - state
    - usr_attr
    argTypes:
    - LOCAL_STATE
    - USER_ATTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 254
    functionName: deliver_maildir
    functionSourceFile: /src/postfix/postfix/src/virtual/maildir.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - vstring_sprintf_prepend
    - dsb_simple
    - sent
    - VSTREAM_PATH
    - BOUNCE_ATTR
    - BOUNCE_FLAGS
    - vstring_alloc
    - sane_link
    - concatenate
    - vstream_fopen
    - mail_copy
    - mbox_dsn
    - GETTIMEOFDAY
    - make_dirs
    - MSG_LOG_STATE
    - unlink
    - myfree
    - fstat
    - SENT_ATTR
    - COPY_ATTR
    - set_eugid
    - vstring_free
    - msg_warn
    - vstream_fseek
    - DEL_REQ_TRACE_ONLY
    - get_hostname
    - vstream_fileno
    - msg_fatal
    - STR
    linkageType: ''
    returnType: int
    signature: int deliver_maildir(LOCAL_STATE state, USER_ATTR usr_attr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MSG_LOG_STATE
      Src: /src/postfix/postfix/src/virtual/mailbox.c:95,1
    - Dst: DEL_REQ_TRACE_ONLY
      Src: /src/postfix/postfix/src/virtual/mailbox.c:100,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/virtual/mailbox.c:101,1
    - Dst: sent
      Src: /src/postfix/postfix/src/virtual/mailbox.c:102,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/virtual/mailbox.c:102,1
    - Dst: SENT_ATTR
      Src: /src/postfix/postfix/src/virtual/mailbox.c:103,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/virtual/mailbox.c:110,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/virtual/mailbox.c:111,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/virtual/mailbox.c:111,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/virtual/mailbox.c:122,1
    - Dst: mbox_open
      Src: /src/postfix/postfix/src/virtual/mailbox.c:123,1
    - Dst: S_ISREG
      Src: /src/postfix/postfix/src/virtual/mailbox.c:127,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/virtual/mailbox.c:128,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/virtual/mailbox.c:129,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/virtual/mailbox.c:131,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/virtual/mailbox.c:133,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/virtual/mailbox.c:134,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/virtual/mailbox.c:136,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/virtual/mailbox.c:139,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/virtual/mailbox.c:140,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/virtual/mailbox.c:141,1
    - Dst: mail_copy
      Src: /src/postfix/postfix/src/virtual/mailbox.c:142,1
    - Dst: COPY_ATTR
      Src: /src/postfix/postfix/src/virtual/mailbox.c:142,1
    - Dst: mbox_release
      Src: /src/postfix/postfix/src/virtual/mailbox.c:145,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/virtual/mailbox.c:147,1
    - Dst: vstring_sprintf_prepend
      Src: /src/postfix/postfix/src/virtual/mailbox.c:155,1
    - Dst: STR
      Src: /src/postfix/postfix/src/virtual/mailbox.c:158,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/virtual/mailbox.c:160,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/virtual/mailbox.c:161,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/virtual/mailbox.c:163,1
    - Dst: sent
      Src: /src/postfix/postfix/src/virtual/mailbox.c:164,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/virtual/mailbox.c:164,1
    - Dst: SENT_ATTR
      Src: /src/postfix/postfix/src/virtual/mailbox.c:165,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - state
    - usr_attr
    argTypes:
    - LOCAL_STATE
    - USER_ATTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 168
    functionName: deliver_mailbox_file
    functionSourceFile: /src/postfix/postfix/src/virtual/mailbox.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf_prepend
    - dsb_simple
    - sent
    - VSTREAM_PATH
    - BOUNCE_ATTR
    - mbox_release
    - BOUNCE_FLAGS
    - S_ISREG
    - mail_copy
    - MSG_LOG_STATE
    - SENT_ATTR
    - COPY_ATTR
    - set_eugid
    - msg_warn
    - vstream_fseek
    - mbox_open
    - DEL_REQ_TRACE_ONLY
    - vstream_fclose
    - msg_fatal
    - STR
    linkageType: ''
    returnType: int
    signature: int deliver_mailbox_file(LOCAL_STATE state, USER_ATTR usr_attr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: MSG_LOG_STATE
      Src: /src/postfix/postfix/src/virtual/mailbox.c:186,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/virtual/mailbox.c:192,1
    - Dst: mail_addr_find
      Src: /src/postfix/postfix/src/virtual/mailbox.c:201,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/virtual/mailbox.c:206,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/virtual/mailbox.c:208,1
    - Dst: defer_append
      Src: /src/postfix/postfix/src/virtual/mailbox.c:209,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/virtual/mailbox.c:209,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/virtual/mailbox.c:210,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/virtual/mailbox.c:213,1
    - Dst: mail_addr_find
      Src: /src/postfix/postfix/src/virtual/mailbox.c:221,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/virtual/mailbox.c:224,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/virtual/mailbox.c:226,1
    - Dst: defer_append
      Src: /src/postfix/postfix/src/virtual/mailbox.c:227,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/virtual/mailbox.c:227,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/virtual/mailbox.c:228,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/virtual/mailbox.c:229,1
    - Dst: atol
      Src: /src/postfix/postfix/src/virtual/mailbox.c:231,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/virtual/mailbox.c:232,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/virtual/mailbox.c:234,1
    - Dst: defer_append
      Src: /src/postfix/postfix/src/virtual/mailbox.c:235,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/virtual/mailbox.c:235,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/virtual/mailbox.c:236,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/virtual/mailbox.c:237,1
    - Dst: mail_addr_find
      Src: /src/postfix/postfix/src/virtual/mailbox.c:244,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/virtual/mailbox.c:247,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/virtual/mailbox.c:249,1
    - Dst: defer_append
      Src: /src/postfix/postfix/src/virtual/mailbox.c:250,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/virtual/mailbox.c:250,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/virtual/mailbox.c:251,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/virtual/mailbox.c:252,1
    - Dst: atol
      Src: /src/postfix/postfix/src/virtual/mailbox.c:254,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/virtual/mailbox.c:255,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/virtual/mailbox.c:257,1
    - Dst: defer_append
      Src: /src/postfix/postfix/src/virtual/mailbox.c:258,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/virtual/mailbox.c:258,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/virtual/mailbox.c:259,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/virtual/mailbox.c:260,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/virtual/mailbox.c:265,1
    - Dst: LAST_CHAR
      Src: /src/postfix/postfix/src/virtual/mailbox.c:274,1
    - Dst: deliver_maildir
      Src: /src/postfix/postfix/src/virtual/mailbox.c:275,1
    - Dst: deliver_mailbox_file
      Src: /src/postfix/postfix/src/virtual/mailbox.c:277,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/virtual/mailbox.c:282,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 3
    argNames:
    - state
    - usr_attr
    - statusp
    argTypes:
    - LOCAL_STATE
    - USER_ATTR
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 283
    functionName: deliver_mailbox
    functionSourceFile: /src/postfix/postfix/src/virtual/mailbox.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - mail_addr_find
    - BOUNCE_ATTR
    - MSG_LOG_STATE
    - BOUNCE_FLAGS
    - msg_info
    - deliver_maildir
    - deliver_mailbox_file
    - defer_append
    - atol
    - LAST_CHAR
    - dsb_simple
    - concatenate
    - msg_fatal
    - RETURN
    linkageType: ''
    returnType: int
    signature: int deliver_mailbox(LOCAL_STATE state, USER_ATTR usr_attr, int *statusp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: RETURN
    functionSourceFile: /src/postfix/postfix/src/virtual/mailbox.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETURN(res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 273
    functionName: LAST_CHAR
    functionSourceFile: /src/postfix/postfix/src/virtual/mailbox.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LAST_CHAR(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RECIPIENT_ASSIGN
      Src: /src/postfix/postfix/src/virtual/deliver_attr.c:59,1
    - Dst: dsb_create
      Src: /src/postfix/postfix/src/virtual/deliver_attr.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - attrp
    argTypes:
    - DELIVER_ATTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: deliver_attr_init
    functionSourceFile: /src/postfix/postfix/src/virtual/deliver_attr.c
    functionUses: 0
    functionsReached:
    - dsb_create
    - RECIPIENT_ASSIGN
    linkageType: ''
    returnType: void
    signature: void deliver_attr_init(DELIVER_ATTR *attrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/virtual/deliver_attr.c:70,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/virtual/deliver_attr.c:71,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/virtual/deliver_attr.c:71,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/virtual/deliver_attr.c:72,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/virtual/deliver_attr.c:73,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/virtual/deliver_attr.c:74,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/virtual/deliver_attr.c:75,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/virtual/deliver_attr.c:76,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/virtual/deliver_attr.c:77,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/virtual/deliver_attr.c:78,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/virtual/deliver_attr.c:79,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/virtual/deliver_attr.c:80,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/virtual/deliver_attr.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - attrp
    argTypes:
    - DELIVER_ATTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: deliver_attr_dump
    functionSourceFile: /src/postfix/postfix/src/virtual/deliver_attr.c
    functionUses: 0
    functionsReached:
    - VSTREAM_PATH
    - msg_info
    linkageType: ''
    returnType: void
    signature: void deliver_attr_dump(DELIVER_ATTR *attrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsb_free
      Src: /src/postfix/postfix/src/virtual/deliver_attr.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attrp
    argTypes:
    - DELIVER_ATTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: deliver_attr_free
    functionSourceFile: /src/postfix/postfix/src/virtual/deliver_attr.c
    functionUses: 0
    functionsReached:
    - dsb_free
    linkageType: ''
    returnType: void
    signature: void deliver_attr_free(DELIVER_ATTR *attrp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MSG_LOG_STATE
      Src: /src/postfix/postfix/src/virtual/unknown.c:59,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/virtual/unknown.c:61,1
    - Dst: bounce_append
      Src: /src/postfix/postfix/src/virtual/unknown.c:63,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/virtual/unknown.c:63,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/virtual/unknown.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - LOCAL_STATE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: deliver_unknown
    functionSourceFile: /src/postfix/postfix/src/virtual/unknown.c
    functionUses: 0
    functionsReached:
    - dsb_simple
    - BOUNCE_ATTR
    - BOUNCE_FLAGS
    - MSG_LOG_STATE
    - bounce_append
    linkageType: ''
    returnType: int
    signature: int deliver_unknown(LOCAL_STATE state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MSG_LOG_STATE
      Src: /src/postfix/postfix/src/virtual/recipient.c:68,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/virtual/recipient.c:76,1
    - Dst: casefold
      Src: /src/postfix/postfix/src/virtual/recipient.c:77,1
    - Dst: deliver_attr_dump
      Src: /src/postfix/postfix/src/virtual/recipient.c:83,1
    - Dst: deliver_mailbox
      Src: /src/postfix/postfix/src/virtual/recipient.c:85,1
    - Dst: deliver_unknown
      Src: /src/postfix/postfix/src/virtual/recipient.c:86,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/virtual/recipient.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - state
    - usr_attr
    argTypes:
    - LOCAL_STATE
    - USER_ATTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 94
    functionName: deliver_recipient
    functionSourceFile: /src/postfix/postfix/src/virtual/recipient.c
    functionUses: 0
    functionsReached:
    - deliver_mailbox
    - vstring_alloc
    - MSG_LOG_STATE
    - deliver_unknown
    - casefold
    - deliver_attr_dump
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int deliver_recipient(LOCAL_STATE state, USER_ATTR usr_attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - usr_attr
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: RESET_USER_ATTR
    functionSourceFile: /src/postfix/postfix/src/virtual/virtual.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESET_USER_ATTR(usr_attr, level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - request
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: BOUNCE_FLAGS
    functionSourceFile: /src/postfix/postfix/src/virtual/virtual.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOUNCE_FLAGS(request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: BOUNCE_ATTR
    functionSourceFile: /src/postfix/postfix/src/virtual/virtual.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOUNCE_ATTR(attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: SENT_ATTR
    functionSourceFile: /src/postfix/postfix/src/virtual/virtual.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SENT_ATTR(attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: COPY_ATTR
    functionSourceFile: /src/postfix/postfix/src/virtual/virtual.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_ATTR(attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: MSG_LOG_STATE
    functionSourceFile: /src/postfix/postfix/src/virtual/virtual.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MSG_LOG_STATE(m, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/virtual/virtual.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/virtual/virtual.c:392,1
    - Dst: deliver_attr_init
      Src: /src/postfix/postfix/src/virtual/virtual.c:398,1
    - Dst: RESET_USER_ATTR
      Src: /src/postfix/postfix/src/virtual/virtual.c:408,1
    - Dst: deliver_recipient
      Src: /src/postfix/postfix/src/virtual/virtual.c:419,1
    - Dst: deliver_completed
      Src: /src/postfix/postfix/src/virtual/virtual.c:421,1
    - Dst: deliver_attr_free
      Src: /src/postfix/postfix/src/virtual/virtual.c:425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - rqst
    - service
    argTypes:
    - DELIVER_REQUEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 427
    functionName: local_deliver
    functionSourceFile: /src/postfix/postfix/src/virtual/virtual.c
    functionUses: 0
    functionsReached:
    - deliver_recipient
    - deliver_attr_init
    - deliver_completed
    - msg_info
    - RESET_USER_ATTR
    - deliver_attr_free
    linkageType: ''
    returnType: int
    signature: int local_deliver(DELIVER_REQUEST *rqst, char *service)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/virtual/virtual.c:440,1
    - Dst: deliver_request_read
      Src: /src/postfix/postfix/src/virtual/virtual.c:449,1
    - Dst: local_deliver
      Src: /src/postfix/postfix/src/virtual/virtual.c:450,1
    - Dst: deliver_request_done
      Src: /src/postfix/postfix/src/virtual/virtual.c:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - stream
    - service
    - argv
    argTypes:
    - VSTREAM*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 453
    functionName: local_service
    functionSourceFile: /src/postfix/postfix/src/virtual/virtual.c
    functionUses: 0
    functionsReached:
    - deliver_request_done
    - msg_fatal
    - local_deliver
    - deliver_request_read
    linkageType: ''
    returnType: void
    signature: void local_service(VSTREAM *stream, char *service, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_changed_name
      Src: /src/postfix/postfix/src/virtual/virtual.c:461,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/virtual/virtual.c:462,1
    - Dst: exit
      Src: /src/postfix/postfix/src/virtual/virtual.c:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 465
    functionName: pre_accept
    functionSourceFile: /src/postfix/postfix/src/virtual/virtual.c
    functionUses: 0
    functionsReached:
    - dict_changed_name
    - exit
    - msg_info
    linkageType: ''
    returnType: void
    signature: void pre_accept(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/virtual/virtual.c:475,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/virtual/virtual.c:481,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/virtual/virtual.c:486,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/virtual/virtual.c:491,1
    - Dst: mbox_lock_mask
      Src: /src/postfix/postfix/src/virtual/virtual.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 496
    functionName: post_init
    functionSourceFile: /src/postfix/postfix/src/virtual/virtual.c
    functionUses: 0
    functionsReached:
    - mbox_lock_mask
    - set_eugid
    - maps_create
    linkageType: ''
    returnType: void
    signature: void post_init(char *unused_name, char **unused_argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENFORCING_SIZE_LIMIT
      Src: /src/postfix/postfix/src/virtual/virtual.c:511,1
    - Dst: ENFORCING_SIZE_LIMIT
      Src: /src/postfix/postfix/src/virtual/virtual.c:512,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/virtual/virtual.c:513,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/virtual/virtual.c:516,1
    - Dst: set_file_limit
      Src: /src/postfix/postfix/src/virtual/virtual.c:518,1
    - Dst: flush_init
      Src: /src/postfix/postfix/src/virtual/virtual.c:524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 525
    functionName: pre_init
    functionSourceFile: /src/postfix/postfix/src/virtual/virtual.c
    functionUses: 0
    functionsReached:
    - ENFORCING_SIZE_LIMIT
    - flush_init
    - msg_fatal
    - set_file_limit
    linkageType: ''
    returnType: void
    signature: void pre_init(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: single_server_main
      Src: /src/postfix/postfix/src/virtual/virtual.c:561,1
    - Dst: CA_MAIL_SERVER_INT_TABLE
      Src: /src/postfix/postfix/src/virtual/virtual.c:562,1
    - Dst: CA_MAIL_SERVER_LONG_TABLE
      Src: /src/postfix/postfix/src/virtual/virtual.c:563,1
    - Dst: CA_MAIL_SERVER_STR_TABLE
      Src: /src/postfix/postfix/src/virtual/virtual.c:564,1
    - Dst: CA_MAIL_SERVER_BOOL_TABLE
      Src: /src/postfix/postfix/src/virtual/virtual.c:565,1
    - Dst: CA_MAIL_SERVER_PRE_INIT
      Src: /src/postfix/postfix/src/virtual/virtual.c:566,1
    - Dst: CA_MAIL_SERVER_POST_INIT
      Src: /src/postfix/postfix/src/virtual/virtual.c:567,1
    - Dst: CA_MAIL_SERVER_PRE_ACCEPT
      Src: /src/postfix/postfix/src/virtual/virtual.c:568,1
    - Dst: CA_MAIL_SERVER_BOUNCE_INIT
      Src: /src/postfix/postfix/src/virtual/virtual.c:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 573
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/virtual/virtual.c
    functionUses: 5
    functionsReached:
    - CA_MAIL_SERVER_PRE_ACCEPT
    - CA_MAIL_SERVER_LONG_TABLE
    - CA_MAIL_SERVER_STR_TABLE
    - single_server_main
    - CA_MAIL_SERVER_BOUNCE_INIT
    - CA_MAIL_SERVER_POST_INIT
    - CA_MAIL_SERVER_INT_TABLE
    - CA_MAIL_SERVER_PRE_INIT
    - CA_MAIL_SERVER_BOOL_TABLE
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tls/tls_session.c:99,1
    - Dst: SSL_in_init
      Src: /src/postfix/postfix/src/tls/tls_session.c:121,1
    - Dst: tls_bio_shutdown
      Src: /src/postfix/postfix/src/tls/tls_session.c:122,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/tls/tls_session.c:122,1
    - Dst: tls_bio_shutdown
      Src: /src/postfix/postfix/src/tls/tls_session.c:124,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/tls/tls_session.c:124,1
    - Dst: tls_free_context
      Src: /src/postfix/postfix/src/tls/tls_session.c:126,1
    - Dst: tls_stream_stop
      Src: /src/postfix/postfix/src/tls/tls_session.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - unused_ctx
    - stream
    - timeout
    - failure
    - TLScontext
    argTypes:
    - TLS_APPL_STATE*
    - VSTREAM*
    - int
    - int
    - TLS_SESS_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 128
    functionName: tls_session_stop
    functionSourceFile: /src/postfix/postfix/src/tls/tls_session.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - tls_bio_shutdown
    - tls_stream_stop
    - SSL_in_init
    - tls_free_context
    - vstream_fileno
    linkageType: ''
    returnType: void
    signature: "void tls_session_stop(TLS_APPL_STATE *unused_ctx, VSTREAM *stream,
      int timeout,\n\t\t\t         int failure, TLS_SESS_STATE *TLScontext)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2d_SSL_SESSION
      Src: /src/postfix/postfix/src/tls/tls_session.c:144,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_session.c:146,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_session.c:154,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_session.c:155,1
    - Dst: i2d_SSL_SESSION
      Src: /src/postfix/postfix/src/tls/tls_session.c:156,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_session.c:158,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/tls/tls_session.c:159,1
    - Dst: vstring_set_payload_size
      Src: /src/postfix/postfix/src/tls/tls_session.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - session
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 165
    functionName: tls_session_passivate
    functionSourceFile: /src/postfix/postfix/src/tls/tls_session.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - vstring_alloc
    - vstring_set_payload_size
    - i2d_SSL_SESSION
    - vstring_free
    - STR
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *tls_session_passivate(SSL_SESSION *session)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_SSL_SESSION
      Src: /src/postfix/postfix/src/tls/tls_session.c:178,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_session.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - session_data
    - session_data_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 183
    functionName: tls_session_activate
    functionSourceFile: /src/postfix/postfix/src/tls/tls_session.c
    functionUses: 0
    functionsReached:
    - tls_print_errors
    - d2i_SSL_SESSION
    linkageType: ''
    returnType: SSL_SESSION
    signature: SSL_SESSION *tls_session_activate(const char *session_data, int session_data_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TLS_PROXY_PARAMS
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_misc.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - params
    argTypes:
    - TLS_CLIENT_PARAMS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 89
    functionName: tls_proxy_client_param_from_config
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_client_misc.c
    functionUses: 1
    functionsReached:
    - TLS_PROXY_PARAMS
    linkageType: ''
    returnType: TLS_CLIENT_PARAMS
    signature: TLS_CLIENT_PARAMS *tls_proxy_client_param_from_config(TLS_CLIENT_PARAMS
      *params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstream_memopen
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_misc.c:100,1
    - Dst: print_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_misc.c:101,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_misc.c:102,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_misc.c:105,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_misc.c:106,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_misc.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - print_fn
    - buf
    - params
    argTypes:
    - ATTR_PRINT_COMMON_FN
    - VSTRING*
    - TLS_CLIENT_PARAMS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 108
    functionName: tls_proxy_client_param_serialize
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_client_misc.c
    functionUses: 1
    functionsReached:
    - print_fn
    - vstring_str
    - vstream_memopen
    - vstream_fclose
    - SEND_ATTR_FUNC
    - msg_fatal
    linkageType: ''
    returnType: char
    signature: "char *tls_proxy_client_param_serialize(ATTR_PRINT_COMMON_FN print_fn,\n\t\t\t\t\t
      \        VSTRING *buf,\n\t\t\t\t            const TLS_CLIENT_PARAMS *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstream_memopen
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_misc.c:119,1
    - Dst: print_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_misc.c:120,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_misc.c:121,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_misc.c:124,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_misc.c:125,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_misc.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - print_fn
    - buf
    - props
    argTypes:
    - ATTR_PRINT_COMMON_FN
    - VSTRING*
    - TLS_CLIENT_INIT_PROPS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 127
    functionName: tls_proxy_client_init_serialize
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_client_misc.c
    functionUses: 1
    functionsReached:
    - print_fn
    - vstring_str
    - vstream_memopen
    - vstream_fclose
    - SEND_ATTR_FUNC
    - msg_fatal
    linkageType: ''
    returnType: char
    signature: "char *tls_proxy_client_init_serialize(ATTR_PRINT_COMMON_FN print_fn,\n\t\t\t\t\t
      \       VSTRING *buf,\n\t\t\t\t         const TLS_CLIENT_INIT_PROPS *props)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:90,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:92,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:93,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:94,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:95,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:96,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:97,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:98,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:99,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:100,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:101,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:102,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:103,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:104,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:105,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:106,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:107,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:108,1
    - Dst: memset
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:113,1
    - Dst: scan_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:114,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:115,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:116,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:117,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:118,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:119,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:120,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:121,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:122,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:123,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:124,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:125,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:126,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:127,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:128,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:129,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:130,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:131,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:132,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:133,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:134,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:137,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:138,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:139,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:140,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:141,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:142,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:143,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:144,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:145,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:146,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:147,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:148,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:149,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:150,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:151,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:152,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:153,1
    - Dst: tls_proxy_server_init_free
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - scan_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_SCAN_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 161
    functionName: tls_proxy_server_init_scan
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c
    functionUses: 0
    functionsReached:
    - vstring_export
    - tls_proxy_server_init_free
    - RECV_ATTR_STR
    - vstring_alloc
    - memset
    - mymalloc
    - scan_fn
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: "int tls_proxy_server_init_scan(ATTR_SCAN_COMMON_FN scan_fn, VSTREAM
      *fp,\n\t\t\t\t           int flags, void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:167,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:168,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:169,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:170,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:171,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:172,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:173,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:174,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:175,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:176,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:177,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:178,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:179,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:180,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:181,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:182,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:183,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - props
    argTypes:
    - TLS_SERVER_INIT_PROPS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 185
    functionName: tls_proxy_server_init_free
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c
    functionUses: 2
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void tls_proxy_server_init_free(TLS_SERVER_INIT_PROPS *props)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:193,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:195,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:196,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:197,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:198,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:199,1
    - Dst: memset
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:204,1
    - Dst: scan_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:208,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:209,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:210,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:211,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:212,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:213,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:214,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:216,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:218,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:219,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:220,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:221,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:222,1
    - Dst: tls_proxy_server_start_free
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - scan_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_SCAN_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 230
    functionName: tls_proxy_server_start_scan
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c
    functionUses: 0
    functionsReached:
    - vstring_export
    - tls_proxy_server_start_free
    - vstring_alloc
    - RECV_ATTR_STR
    - memset
    - mymalloc
    - scan_fn
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: "int tls_proxy_server_start_scan(ATTR_SCAN_COMMON_FN scan_fn, VSTREAM
      *fp,\n\t\t\t\t            int flags, void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:237,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:238,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:239,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:240,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:241,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - props
    argTypes:
    - TLS_SERVER_START_PROPS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 243
    functionName: tls_proxy_server_start_free
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c
    functionUses: 2
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void tls_proxy_server_start_free(TLS_SERVER_START_PROPS *props)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:128,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:129,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:130,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:131,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:132,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:133,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:134,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:135,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:136,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:137,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:138,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:139,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:140,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:141,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - params
    argTypes:
    - TLS_CLIENT_PARAMS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 143
    functionName: tls_proxy_client_param_free
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c
    functionUses: 1
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void tls_proxy_client_param_free(TLS_CLIENT_PARAMS *params)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:151,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:153,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:154,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:155,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:156,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:157,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:158,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:159,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:160,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:161,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:162,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:163,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:164,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:165,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:166,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:169,1
    - Dst: memset
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:174,1
    - Dst: scan_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:175,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:176,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:177,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:178,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:179,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:180,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:181,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:182,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:183,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:184,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:185,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:186,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:187,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:188,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:189,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:190,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:192,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:194,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:196,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:198,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:202,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:203,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:204,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:205,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:206,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:207,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:208,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:209,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:210,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:211,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:212,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:213,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:214,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:215,1
    - Dst: tls_proxy_client_param_free
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:219,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 4
    argNames:
    - scan_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_SCAN_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 226
    functionName: tls_proxy_client_param_scan
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c
    functionUses: 0
    functionsReached:
    - vstring_export
    - vstring_alloc
    - RECV_ATTR_STR
    - msg_info
    - tls_proxy_client_param_free
    - memset
    - mymalloc
    - scan_fn
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: "int tls_proxy_client_param_scan(ATTR_SCAN_COMMON_FN scan_fn, VSTREAM
      *fp,\n\t\t\t\t            int flags, void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:232,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:233,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:234,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:235,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:236,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:237,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:238,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:239,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:240,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:241,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:242,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:243,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:244,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - props
    argTypes:
    - TLS_CLIENT_INIT_PROPS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 246
    functionName: tls_proxy_client_init_free
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c
    functionUses: 1
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void tls_proxy_client_init_free(TLS_CLIENT_INIT_PROPS *props)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:254,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:256,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:257,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:258,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:259,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:260,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:261,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:262,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:263,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:264,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:265,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:266,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:267,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:268,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:271,1
    - Dst: memset
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:276,1
    - Dst: scan_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:277,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:278,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:279,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:280,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:281,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:282,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:283,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:284,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:285,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:286,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:287,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:288,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:289,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:290,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:291,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:294,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:295,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:296,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:297,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:298,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:299,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:300,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:301,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:302,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:303,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:304,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:305,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:306,1
    - Dst: tls_proxy_client_init_free
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:309,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 4
    argNames:
    - scan_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_SCAN_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 316
    functionName: tls_proxy_client_init_scan
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c
    functionUses: 0
    functionsReached:
    - vstring_export
    - vstring_alloc
    - RECV_ATTR_STR
    - msg_info
    - memset
    - mymalloc
    - scan_fn
    - RECV_ATTR_INT
    - tls_proxy_client_init_free
    linkageType: ''
    returnType: int
    signature: "int tls_proxy_client_init_scan(ATTR_SCAN_COMMON_FN scan_fn, VSTREAM
      *fp,\n\t\t\t\t           int flags, void *ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:322,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:323,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:324,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:325,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:326,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:327,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:328,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:329,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:330,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:332,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:333,1
    - Dst: tls_dane_free
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:335,1
    - Dst: trw_free
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:338,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:341,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - props
    argTypes:
    - TLS_CLIENT_START_PROPS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 343
    functionName: tls_proxy_client_start_free
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c
    functionUses: 1
    functionsReached:
    - myfree
    - tls_dane_free
    - trw_free
    - argv_free
    linkageType: ''
    returnType: void
    signature: void tls_proxy_client_start_free(TLS_CLIENT_START_PROPS *props)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:356,1
    - Dst: scan_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:358,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:359,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:362,1
    - Dst: scan_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:367,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:368,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:369,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:370,1
    - Dst: RECV_ATTR_DATA
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:371,1
    - Dst: tlsa_prepend
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:376,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:376,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:377,1
    - Dst: tls_tlsa_free
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:383,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:388,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - scan_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_SCAN_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 390
    functionName: tls_proxy_client_tlsa_scan
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c
    functionUses: 0
    functionsReached:
    - RECV_ATTR_DATA
    - tlsa_prepend
    - tls_tlsa_free
    - vstring_alloc
    - LEN
    - msg_info
    - scan_fn
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: int
    signature: "int tls_proxy_client_tlsa_scan(ATTR_SCAN_COMMON_FN scan_fn,\n\t\t\t\t
      \         VSTREAM *fp, int flags, void *ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: scan_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:401,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:402,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:405,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:408,1
    - Dst: tls_dane_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:410,1
    - Dst: scan_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:412,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:413,1
    - Dst: RECV_ATTR_FUNC
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:414,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:419,1
    - Dst: tls_dane_free
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:422,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:428,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - scan_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_SCAN_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 430
    functionName: tls_proxy_client_dane_scan
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c
    functionUses: 0
    functionsReached:
    - tls_dane_alloc
    - vstring_export
    - RECV_ATTR_FUNC
    - vstring_alloc
    - RECV_ATTR_STR
    - msg_info
    - tls_dane_free
    - scan_fn
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: "int tls_proxy_client_dane_scan(ATTR_SCAN_COMMON_FN scan_fn,\n\t\t\t\t
      \         VSTREAM *fp, int flags, void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - vstr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 440
    functionName: EXPORT_OR_NULL
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPORT_OR_NULL(str, vstr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: scan_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:452,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:453,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:456,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:459,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:460,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:461,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:464,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:466,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:467,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:468,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:469,1
    - Dst: scan_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:473,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:474,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:475,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:476,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:477,1
    - Dst: RECV_ATTR_FUNC
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:478,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:479,1
    - Dst: RECV_ATTR_FUNC
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:480,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:481,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:482,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:483,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:484,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:485,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:486,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:490,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:491,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:492,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:493,1
    - Dst: EXPORT_OR_NULL
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:496,1
    - Dst: EXPORT_OR_NULL
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:498,1
    - Dst: EXPORT_OR_NULL
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:499,1
    - Dst: EXPORT_OR_NULL
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:500,1
    - Dst: EXPORT_OR_NULL
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:501,1
    - Dst: trw_free
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:506,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:512,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - scan_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_SCAN_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 514
    functionName: tls_proxy_client_tlsrpt_scan
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c
    functionUses: 0
    functionsReached:
    - vstring_export
    - RECV_ATTR_FUNC
    - EXPORT_OR_NULL
    - RECV_ATTR_STR
    - vstring_alloc
    - msg_info
    - trw_free
    - mymalloc
    - scan_fn
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: "int tls_proxy_client_tlsrpt_scan(ATTR_SCAN_COMMON_FN scan_fn,\n\t\t\t\t
      \         VSTREAM *fp, int flags, void *ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:524,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:526,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:527,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:528,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:529,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:530,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:531,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:532,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:533,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:534,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:535,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:536,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:545,1
    - Dst: memset
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:550,1
    - Dst: scan_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:555,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:556,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:557,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:558,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:559,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:560,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:561,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:562,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:563,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:564,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:565,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:566,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:567,1
    - Dst: RECV_ATTR_FUNC
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:569,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:570,1
    - Dst: RECV_ATTR_FUNC
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:571,1
    - Dst: RECV_ATTR_FUNC
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:574,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:577,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:580,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:581,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:582,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:583,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:584,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:585,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:586,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:587,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:588,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:589,1
    - Dst: EXPORT_OR_NULL
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:590,1
    - Dst: tls_proxy_client_start_free
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:593,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c:598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 4
    argNames:
    - scan_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_SCAN_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 600
    functionName: tls_proxy_client_start_scan
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c
    functionUses: 0
    functionsReached:
    - vstring_export
    - RECV_ATTR_FUNC
    - EXPORT_OR_NULL
    - vstring_alloc
    - RECV_ATTR_STR
    - msg_info
    - memset
    - tls_proxy_client_start_free
    - mymalloc
    - scan_fn
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: "int tls_proxy_client_start_scan(ATTR_SCAN_COMMON_FN scan_fn, VSTREAM
      *fp,\n\t\t\t\t            int flags, void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/tls/tls_server.c
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/tls/tls_server.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - v
    - ','
    - lptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: GET_SID
    functionSourceFile: /src/postfix/postfix/src/tls/tls_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_SID(s, v, lptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_server.c:192,1
    - Dst: SSL_get_ex_data
      Src: /src/postfix/postfix/src/tls/tls_server.c:195,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tls/tls_server.c:196,1
    - Dst: GEN_CACHE_ID
      Src: /src/postfix/postfix/src/tls/tls_server.c:207,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_server.c:210,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_server.c:211,1
    - Dst: tls_mgr_lookup
      Src: /src/postfix/postfix/src/tls/tls_server.c:216,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_server.c:216,1
    - Dst: tls_session_activate
      Src: /src/postfix/postfix/src/tls/tls_server.c:218,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_server.c:218,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/tls/tls_server.c:218,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_server.c:220,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_server.c:221,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/tls/tls_server.c:228,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/tls/tls_server.c:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - ssl
    - session_id
    - session_id_length
    - unused_copy
    argTypes:
    - SSL*
    - session_id_t
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 232
    functionName: get_server_session_cb
    functionSourceFile: /src/postfix/postfix/src/tls/tls_server.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstring_alloc
    - LEN
    - msg_info
    - GEN_CACHE_ID
    - STR
    - tls_mgr_lookup
    - tls_session_activate
    - vstring_free
    - SSL_get_ex_data
    linkageType: ''
    returnType: SSL_SESSION
    signature: "SSL_SESSION *get_server_session_cb(SSL *ssl, session_id_t session_id,\n\t\t\t\t\t
      \         int session_id_length,\n\t\t\t\t\t          int *unused_copy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - buf
    - ','
    - id
    - ','
    - len
    - ','
    - service
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 205
    functionName: GEN_CACHE_ID
    functionSourceFile: /src/postfix/postfix/src/tls/tls_server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GEN_CACHE_ID(buf, id, len, service)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_session
      Src: /src/postfix/postfix/src/tls/tls_server.c:239,1
    - Dst: SSL_CTX_remove_session
      Src: /src/postfix/postfix/src/tls/tls_server.c:243,1
    - Dst: GET_SID
      Src: /src/postfix/postfix/src/tls/tls_server.c:248,1
    - Dst: GEN_CACHE_ID
      Src: /src/postfix/postfix/src/tls/tls_server.c:249,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_server.c:252,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_server.c:253,1
    - Dst: tls_mgr_delete
      Src: /src/postfix/postfix/src/tls/tls_server.c:255,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_server.c:255,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/tls/tls_server.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - TLScontext
    argTypes:
    - SSL_CTX*
    - TLS_SESS_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 257
    functionName: uncache_session
    functionSourceFile: /src/postfix/postfix/src/tls/tls_server.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_remove_session
    - GET_SID
    - msg_info
    - GEN_CACHE_ID
    - tls_mgr_delete
    - SSL_get_session
    - vstring_free
    - STR
    linkageType: ''
    returnType: void
    signature: void uncache_session(SSL_CTX *ctx, TLS_SESS_STATE *TLScontext)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/postfix/postfix/src/tls/tls_server.c:270,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tls/tls_server.c:271,1
    - Dst: GET_SID
      Src: /src/postfix/postfix/src/tls/tls_server.c:273,1
    - Dst: GEN_CACHE_ID
      Src: /src/postfix/postfix/src/tls/tls_server.c:274,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_server.c:277,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_server.c:278,1
    - Dst: tls_session_passivate
      Src: /src/postfix/postfix/src/tls/tls_server.c:283,1
    - Dst: tls_mgr_update
      Src: /src/postfix/postfix/src/tls/tls_server.c:285,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_server.c:285,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_server.c:286,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/tls/tls_server.c:286,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/tls/tls_server.c:292,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/tls/tls_server.c:293,1
    - Dst: SSL_SESSION_free
      Src: /src/postfix/postfix/src/tls/tls_server.c:294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ssl
    - session
    argTypes:
    - SSL*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 297
    functionName: new_server_session_cb
    functionSourceFile: /src/postfix/postfix/src/tls/tls_server.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - tls_mgr_update
    - GET_SID
    - LEN
    - msg_info
    - GEN_CACHE_ID
    - STR
    - SSL_SESSION_free
    - vstring_free
    - tls_session_passivate
    - SSL_get_ex_data
    linkageType: ''
    returnType: int
    signature: int new_server_session_cb(SSL *ssl, SSL_SESSION *session)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/postfix/postfix/src/tls/tls_server.c:316,1
    - Dst: SSL_CTX_get_timeout
      Src: /src/postfix/postfix/src/tls/tls_server.c:317,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/postfix/postfix/src/tls/tls_server.c:317,1
    - Dst: tls_mgr_key
      Src: /src/postfix/postfix/src/tls/tls_server.c:319,1
    - Dst: RAND_bytes
      Src: /src/postfix/postfix/src/tls/tls_server.c:320,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/postfix/postfix/src/tls/tls_server.c:323,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/postfix/postfix/src/tls/tls_server.c:325,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/postfix/postfix/src/tls/tls_server.c:328,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/postfix/postfix/src/tls/tls_server.c:329,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/postfix/postfix/src/tls/tls_server.c:333,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/tls/tls_server.c:334,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_server.c:336,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/postfix/postfix/src/tls/tls_server.c:339,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_server.c:341,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 6
    argNames:
    - con
    - name
    - iv
    - ctx
    - hctx
    - create
    argTypes:
    - SSL*
    - unsigned char[]
    - unsigned char[]
    - EVP_CIPHER_CTX*
    - EVP_MAC_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 346
    functionName: ticket_cb
    functionSourceFile: /src/postfix/postfix/src/tls/tls_server.c
    functionUses: 0
    functionsReached:
    - EVP_DecryptInit_ex
    - EVP_MAC_CTX_set_params
    - OSSL_PARAM_construct_octet_string
    - tls_mgr_key
    - SSL_CTX_get_timeout
    - OSSL_PARAM_construct_utf8_string
    - memcpy
    - msg_info
    - EVP_EncryptInit_ex
    - SSL_get_SSL_CTX
    - OSSL_PARAM_construct_end
    - RAND_bytes
    - SSL_get_ex_data
    linkageType: ''
    returnType: int
    signature: "int ticket_cb(SSL *con, unsigned char name[], unsigned char iv[],\n\t\t
      \        EVP_CIPHER_CTX *ctx, EVP_MAC_CTX *hctx, int create)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/postfix/postfix/src/tls/tls_server.c:357,1
    - Dst: SSL_CTX_get_timeout
      Src: /src/postfix/postfix/src/tls/tls_server.c:358,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/postfix/postfix/src/tls/tls_server.c:358,1
    - Dst: EVP_sha256
      Src: /src/postfix/postfix/src/tls/tls_server.c:360,1
    - Dst: tls_mgr_key
      Src: /src/postfix/postfix/src/tls/tls_server.c:361,1
    - Dst: RAND_bytes
      Src: /src/postfix/postfix/src/tls/tls_server.c:362,1
    - Dst: HMAC_Init_ex
      Src: /src/postfix/postfix/src/tls/tls_server.c:365,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/postfix/postfix/src/tls/tls_server.c:368,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/tls/tls_server.c:369,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_server.c:371,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/postfix/postfix/src/tls/tls_server.c:374,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_server.c:376,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 6
    argNames:
    - con
    - name
    - iv
    - ctx
    - hctx
    - create
    argTypes:
    - SSL*
    - unsigned char[]
    - unsigned char[]
    - EVP_CIPHER_CTX*
    - HMAC_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 381
    functionName: ticket_cb
    functionSourceFile: /src/postfix/postfix/src/tls/tls_server.c
    functionUses: 0
    functionsReached:
    - EVP_DecryptInit_ex
    - EVP_sha256
    - tls_mgr_key
    - SSL_CTX_get_timeout
    - memcpy
    - msg_info
    - HMAC_Init_ex
    - EVP_EncryptInit_ex
    - SSL_get_SSL_CTX
    - RAND_bytes
    - SSL_get_ex_data
    linkageType: ''
    returnType: int
    signature: "int ticket_cb(SSL *con, unsigned char name[], unsigned char iv[],\n\t\t
      \            EVP_CIPHER_CTX *ctx, HMAC_CTX *hctx, int create)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: tls_log_mask
      Src: /src/postfix/postfix/src/tls/tls_server.c:409,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_server.c:412,1
    - Dst: tls_param_init
      Src: /src/postfix/postfix/src/tls/tls_server.c:417,1
    - Dst: tls_check_version
      Src: /src/postfix/postfix/src/tls/tls_server.c:422,1
    - Dst: tls_library_init
      Src: /src/postfix/postfix/src/tls/tls_server.c:428,1
    - Dst: tls_proto_mask_lims
      Src: /src/postfix/postfix/src/tls/tls_server.c:434,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_server.c:437,1
    - Dst: SSL_get_ex_new_index
      Src: /src/postfix/postfix/src/tls/tls_server.c:448,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_server.c:449,1
    - Dst: tls_validate_digest
      Src: /src/postfix/postfix/src/tls/tls_server.c:459,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_server.c:460,1
    - Dst: tls_ext_seed
      Src: /src/postfix/postfix/src/tls/tls_server.c:469,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_server.c:470,1
    - Dst: tls_int_seed
      Src: /src/postfix/postfix/src/tls/tls_server.c:473,1
    - Dst: ERR_clear_error
      Src: /src/postfix/postfix/src/tls/tls_server.c:485,1
    - Dst: SSL_CTX_new
      Src: /src/postfix/postfix/src/tls/tls_server.c:486,1
    - Dst: TLS_server_method
      Src: /src/postfix/postfix/src/tls/tls_server.c:486,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_server.c:488,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_server.c:489,1
    - Dst: SSL_CTX_new
      Src: /src/postfix/postfix/src/tls/tls_server.c:492,1
    - Dst: TLS_server_method
      Src: /src/postfix/postfix/src/tls/tls_server.c:492,1
    - Dst: SSL_CTX_free
      Src: /src/postfix/postfix/src/tls/tls_server.c:494,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_server.c:495,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_server.c:496,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/postfix/postfix/src/tls/tls_server.c:501,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/postfix/postfix/src/tls/tls_server.c:502,1
    - Dst: SSL_CTX_set_verify_depth
      Src: /src/postfix/postfix/src/tls/tls_server.c:508,1
    - Dst: SSL_CTX_set_verify_depth
      Src: /src/postfix/postfix/src/tls/tls_server.c:509,1
    - Dst: tls_mgr_policy
      Src: /src/postfix/postfix/src/tls/tls_server.c:521,1
    - Dst: tls_bug_bits
      Src: /src/postfix/postfix/src/tls/tls_server.c:539,1
    - Dst: OPENSSL_VERSION_PREREQ
      Src: /src/postfix/postfix/src/tls/tls_server.c:549,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/postfix/postfix/src/tls/tls_server.c:550,1
    - Dst: EVP_get_cipherbyname
      Src: /src/postfix/postfix/src/tls/tls_server.c:552,1
    - Dst: EVP_CIPHER_mode
      Src: /src/postfix/postfix/src/tls/tls_server.c:555,1
    - Dst: EVP_CIPHER_iv_length
      Src: /src/postfix/postfix/src/tls/tls_server.c:556,1
    - Dst: EVP_CIPHER_key_length
      Src: /src/postfix/postfix/src/tls/tls_server.c:557,1
    - Dst: EVP_CIPHER_key_length
      Src: /src/postfix/postfix/src/tls/tls_server.c:558,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_server.c:559,1
    - Dst: OPENSSL_VERSION_PREREQ
      Src: /src/postfix/postfix/src/tls/tls_server.c:565,1
    - Dst: SSL_CTX_set_tlsext_ticket_key_evp_cb
      Src: /src/postfix/postfix/src/tls/tls_server.c:566,1
    - Dst: SSL_CTX_set_tlsext_ticket_key_cb
      Src: /src/postfix/postfix/src/tls/tls_server.c:568,1
    - Dst: SSL_CTX_set_num_tickets
      Src: /src/postfix/postfix/src/tls/tls_server.c:583,1
    - Dst: SSL_CTX_set_options
      Src: /src/postfix/postfix/src/tls/tls_server.c:589,1
    - Dst: SSL_CTX_set_options
      Src: /src/postfix/postfix/src/tls/tls_server.c:595,1
    - Dst: TLS_SSL_OP_PROTOMASK
      Src: /src/postfix/postfix/src/tls/tls_server.c:595,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/postfix/postfix/src/tls/tls_server.c:596,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/postfix/postfix/src/tls/tls_server.c:597,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/postfix/postfix/src/tls/tls_server.c:598,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/postfix/postfix/src/tls/tls_server.c:599,1
    - Dst: SSL_CTX_set_options
      Src: /src/postfix/postfix/src/tls/tls_server.c:608,1
    - Dst: SSL_CTX_clear_options
      Src: /src/postfix/postfix/src/tls/tls_server.c:611,1
    - Dst: SSL_CTX_set_options
      Src: /src/postfix/postfix/src/tls/tls_server.c:612,1
    - Dst: SSL_CTX_get_options
      Src: /src/postfix/postfix/src/tls/tls_server.c:612,1
    - Dst: SSL_CTX_set_info_callback
      Src: /src/postfix/postfix/src/tls/tls_server.c:618,1
    - Dst: SSL_CTX_set_info_callback
      Src: /src/postfix/postfix/src/tls/tls_server.c:619,1
    - Dst: tls_set_ca_certificate_info
      Src: /src/postfix/postfix/src/tls/tls_server.c:633,1
    - Dst: SSL_CTX_free
      Src: /src/postfix/postfix/src/tls/tls_server.c:636,1
    - Dst: SSL_CTX_free
      Src: /src/postfix/postfix/src/tls/tls_server.c:637,1
    - Dst: tls_enable_server_rpk
      Src: /src/postfix/postfix/src/tls/tls_server.c:645,1
    - Dst: tls_enable_server_rpk
      Src: /src/postfix/postfix/src/tls/tls_server.c:646,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/postfix/postfix/src/tls/tls_server.c:652,1
    - Dst: X509_STORE_up_ref
      Src: /src/postfix/postfix/src/tls/tls_server.c:653,1
    - Dst: SSL_CTX_set_cert_store
      Src: /src/postfix/postfix/src/tls/tls_server.c:654,1
    - Dst: tls_set_my_certificate_key_info
      Src: /src/postfix/postfix/src/tls/tls_server.c:668,1
    - Dst: SSL_CTX_free
      Src: /src/postfix/postfix/src/tls/tls_server.c:677,1
    - Dst: SSL_CTX_free
      Src: /src/postfix/postfix/src/tls/tls_server.c:678,1
    - Dst: tls_set_dh_from_file
      Src: /src/postfix/postfix/src/tls/tls_server.c:691,1
    - Dst: tls_tmp_dh
      Src: /src/postfix/postfix/src/tls/tls_server.c:692,1
    - Dst: tls_tmp_dh
      Src: /src/postfix/postfix/src/tls/tls_server.c:693,1
    - Dst: tls_auto_groups
      Src: /src/postfix/postfix/src/tls/tls_server.c:701,1
    - Dst: tls_auto_groups
      Src: /src/postfix/postfix/src/tls/tls_server.c:702,1
    - Dst: SSL_CTX_set_verify
      Src: /src/postfix/postfix/src/tls/tls_server.c:726,1
    - Dst: SSL_CTX_set_verify
      Src: /src/postfix/postfix/src/tls/tls_server.c:728,1
    - Dst: STACK_OF
      Src: /src/postfix/postfix/src/tls/tls_server.c:731,1
    - Dst: SSL_load_client_CA_file
      Src: /src/postfix/postfix/src/tls/tls_server.c:731,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_server.c:735,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_server.c:737,1
    - Dst: SSL_CTX_set_client_CA_list
      Src: /src/postfix/postfix/src/tls/tls_server.c:739,1
    - Dst: sk_X509_NAME_num
      Src: /src/postfix/postfix/src/tls/tls_server.c:741,1
    - Dst: SSL_dup_CA_list
      Src: /src/postfix/postfix/src/tls/tls_server.c:742,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_server.c:745,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_server.c:746,1
    - Dst: SSL_CTX_set_client_CA_list
      Src: /src/postfix/postfix/src/tls/tls_server.c:748,1
    - Dst: tls_alloc_app_context
      Src: /src/postfix/postfix/src/tls/tls_server.c:757,1
    - Dst: SSL_CTX_sess_set_cache_size
      Src: /src/postfix/postfix/src/tls/tls_server.c:779,1
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/postfix/postfix/src/tls/tls_server.c:780,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/postfix/postfix/src/tls/tls_server.c:783,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_server.c:788,1
    - Dst: SSL_CTX_sess_set_get_cb
      Src: /src/postfix/postfix/src/tls/tls_server.c:790,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/postfix/postfix/src/tls/tls_server.c:791,1
    - Dst: SSL_CTX_set_timeout
      Src: /src/postfix/postfix/src/tls/tls_server.c:804,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/postfix/postfix/src/tls/tls_server.c:812,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 140
    argCount: 1
    argNames:
    - props
    argTypes:
    - TLS_SERVER_INIT_PROPS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 816
    functionName: tls_server_init
    functionSourceFile: /src/postfix/postfix/src/tls/tls_server.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new
    - tls_print_errors
    - SSL_CTX_set_security_level
    - tls_auto_groups
    - tls_set_my_certificate_key_info
    - msg_info
    - SSL_CTX_clear_options
    - tls_library_init
    - X509_STORE_up_ref
    - SSL_get_ex_new_index
    - SSL_CTX_set_verify_depth
    - SSL_CTX_set_verify
    - SSL_CTX_set_client_CA_list
    - SSL_CTX_set_tlsext_ticket_key_evp_cb
    - TLS_SSL_OP_PROTOMASK
    - TLS_server_method
    - tls_alloc_app_context
    - SSL_CTX_get_options
    - tls_int_seed
    - tls_enable_server_rpk
    - sk_X509_NAME_num
    - SSL_dup_CA_list
    - SSL_CTX_set_session_cache_mode
    - SSL_CTX_set_session_id_context
    - SSL_CTX_set_num_tickets
    - SSL_CTX_set_options
    - SSL_CTX_set_min_proto_version
    - SSL_CTX_sess_set_cache_size
    - tls_log_mask
    - tls_bug_bits
    - EVP_CIPHER_mode
    - tls_tmp_dh
    - SSL_CTX_set_cert_store
    - EVP_CIPHER_iv_length
    - SSL_CTX_set_tlsext_ticket_key_cb
    - SSL_CTX_set_timeout
    - EVP_CIPHER_fetch
    - STACK_OF
    - SSL_CTX_sess_set_get_cb
    - SSL_CTX_set_max_proto_version
    - EVP_get_cipherbyname
    - tls_proto_mask_lims
    - tls_check_version
    - OPENSSL_VERSION_PREREQ
    - EVP_CIPHER_key_length
    - tls_param_init
    - tls_set_ca_certificate_info
    - SSL_CTX_get_cert_store
    - SSL_load_client_CA_file
    - tls_validate_digest
    - SSL_CTX_set_info_callback
    - msg_warn
    - tls_ext_seed
    - SSL_CTX_free
    - ERR_clear_error
    - tls_mgr_policy
    - SSL_CTX_sess_set_new_cb
    - tls_set_dh_from_file
    - mystrdup
    linkageType: ''
    returnType: TLS_APPL_STATE
    signature: TLS_APPL_STATE *tls_server_init(const TLS_SERVER_INIT_PROPS *props)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_server.c:839,1
    - Dst: tls_alloc_sess_context
      Src: /src/postfix/postfix/src/tls/tls_server.c:846,1
    - Dst: ERR_clear_error
      Src: /src/postfix/postfix/src/tls/tls_server.c:849,1
    - Dst: SSL_new
      Src: /src/postfix/postfix/src/tls/tls_server.c:850,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_server.c:851,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_server.c:852,1
    - Dst: tls_free_context
      Src: /src/postfix/postfix/src/tls/tls_server.c:853,1
    - Dst: tls_set_ciphers
      Src: /src/postfix/postfix/src/tls/tls_server.c:856,1
    - Dst: tls_free_context
      Src: /src/postfix/postfix/src/tls/tls_server.c:860,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_server.c:864,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_server.c:866,1
    - Dst: SSL_set_ex_data
      Src: /src/postfix/postfix/src/tls/tls_server.c:871,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_server.c:872,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_server.c:873,1
    - Dst: tls_free_context
      Src: /src/postfix/postfix/src/tls/tls_server.c:874,1
    - Dst: SSL_set_security_level
      Src: /src/postfix/postfix/src/tls/tls_server.c:883,1
    - Dst: tls_enable_client_rpk
      Src: /src/postfix/postfix/src/tls/tls_server.c:890,1
    - Dst: tls_int_seed
      Src: /src/postfix/postfix/src/tls/tls_server.c:896,1
    - Dst: tls_ext_seed
      Src: /src/postfix/postfix/src/tls/tls_server.c:897,1
    - Dst: SSL_set_fd
      Src: /src/postfix/postfix/src/tls/tls_server.c:902,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/tls/tls_server.c:903,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_server.c:904,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_server.c:905,1
    - Dst: uncache_session
      Src: /src/postfix/postfix/src/tls/tls_server.c:906,1
    - Dst: tls_free_context
      Src: /src/postfix/postfix/src/tls/tls_server.c:907,1
    - Dst: tls_set_bio_callback
      Src: /src/postfix/postfix/src/tls/tls_server.c:921,1
    - Dst: SSL_get_rbio
      Src: /src/postfix/postfix/src/tls/tls_server.c:921,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/tls/tls_server.c:934,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/tls/tls_server.c:934,1
    - Dst: tls_bio_accept
      Src: /src/postfix/postfix/src/tls/tls_server.c:943,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/tls/tls_server.c:943,1
    - Dst: ERR_peek_error
      Src: /src/postfix/postfix/src/tls/tls_server.c:946,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_server.c:947,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_server.c:948,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_server.c:950,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_server.c:952,1
    - Dst: tls_free_context
      Src: /src/postfix/postfix/src/tls/tls_server.c:955,1
    - Dst: tls_server_post_accept
      Src: /src/postfix/postfix/src/tls/tls_server.c:958,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    argCount: 1
    argNames:
    - props
    argTypes:
    - TLS_SERVER_START_PROPS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 959
    functionName: tls_server_start
    functionSourceFile: /src/postfix/postfix/src/tls/tls_server.c
    functionUses: 0
    functionsReached:
    - SSL_new
    - tls_print_errors
    - msg_info
    - tls_bio_accept
    - non_blocking
    - tls_free_context
    - SSL_get_rbio
    - tls_int_seed
    - tls_set_bio_callback
    - tls_enable_client_rpk
    - ERR_peek_error
    - uncache_session
    - SSL_set_security_level
    - vstream_fileno
    - msg_warn
    - tls_ext_seed
    - SSL_set_ex_data
    - ERR_clear_error
    - tls_alloc_sess_context
    - tls_server_post_accept
    - tls_set_ciphers
    - SSL_set_fd
    - mystrdup
    linkageType: ''
    returnType: TLS_SESS_STATE
    signature: TLS_SESS_STATE *tls_server_start(const TLS_SERVER_START_PROPS *props)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tls_set_bio_callback
      Src: /src/postfix/postfix/src/tls/tls_server.c:972,1
    - Dst: SSL_get_rbio
      Src: /src/postfix/postfix/src/tls/tls_server.c:972,1
    - Dst: SSL_session_reused
      Src: /src/postfix/postfix/src/tls/tls_server.c:978,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_server.c:980,1
    - Dst: TLS_PEEK_PEER_CERT
      Src: /src/postfix/postfix/src/tls/tls_server.c:987,1
    - Dst: X509_get0_pubkey
      Src: /src/postfix/postfix/src/tls/tls_server.c:989,1
    - Dst: OPENSSL_VERSION_PREREQ
      Src: /src/postfix/postfix/src/tls/tls_server.c:991,1
    - Dst: SSL_get0_peer_rpk
      Src: /src/postfix/postfix/src/tls/tls_server.c:993,1
    - Dst: SSL_get_verify_result
      Src: /src/postfix/postfix/src/tls/tls_server.c:999,1
    - Dst: X509_NAME_oneline
      Src: /src/postfix/postfix/src/tls/tls_server.c:1003,1
    - Dst: X509_get_subject_name
      Src: /src/postfix/postfix/src/tls/tls_server.c:1003,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_server.c:1005,1
    - Dst: printable
      Src: /src/postfix/postfix/src/tls/tls_server.c:1005,1
    - Dst: X509_NAME_oneline
      Src: /src/postfix/postfix/src/tls/tls_server.c:1006,1
    - Dst: X509_get_issuer_name
      Src: /src/postfix/postfix/src/tls/tls_server.c:1006,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_server.c:1008,1
    - Dst: printable
      Src: /src/postfix/postfix/src/tls/tls_server.c:1008,1
    - Dst: tls_peer_CN
      Src: /src/postfix/postfix/src/tls/tls_server.c:1010,1
    - Dst: tls_issuer_CN
      Src: /src/postfix/postfix/src/tls/tls_server.c:1011,1
    - Dst: tls_cert_fprint
      Src: /src/postfix/postfix/src/tls/tls_server.c:1013,1
    - Dst: tls_pkey_fprint
      Src: /src/postfix/postfix/src/tls/tls_server.c:1015,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_server.c:1018,1
    - Dst: TLS_FREE_PEER_CERT
      Src: /src/postfix/postfix/src/tls/tls_server.c:1030,1
    - Dst: TLS_CERT_IS_TRUSTED
      Src: /src/postfix/postfix/src/tls/tls_server.c:1038,1
    - Dst: tls_log_verify_error
      Src: /src/postfix/postfix/src/tls/tls_server.c:1041,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_server.c:1043,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_server.c:1048,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_server.c:1049,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_server.c:1050,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_server.c:1052,1
    - Dst: tls_pkey_fprint
      Src: /src/postfix/postfix/src/tls/tls_server.c:1062,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_server.c:1064,1
    - Dst: SSL_get_version
      Src: /src/postfix/postfix/src/tls/tls_server.c:1072,1
    - Dst: SSL_get_current_cipher
      Src: /src/postfix/postfix/src/tls/tls_server.c:1073,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/postfix/postfix/src/tls/tls_server.c:1074,1
    - Dst: SSL_CIPHER_get_bits
      Src: /src/postfix/postfix/src/tls/tls_server.c:1075,1
    - Dst: tls_stream_start
      Src: /src/postfix/postfix/src/tls/tls_server.c:1085,1
    - Dst: tls_get_signature_params
      Src: /src/postfix/postfix/src/tls/tls_server.c:1090,1
    - Dst: tls_log_summary
      Src: /src/postfix/postfix/src/tls/tls_server.c:1096,1
    - Dst: tls_int_seed
      Src: /src/postfix/postfix/src/tls/tls_server.c:1098,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 1
    argNames:
    - TLScontext
    argTypes:
    - TLS_SESS_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 1101
    functionName: tls_server_post_accept
    functionSourceFile: /src/postfix/postfix/src/tls/tls_server.c
    functionUses: 2
    functionsReached:
    - X509_get_issuer_name
    - tls_cert_fprint
    - SSL_get_current_cipher
    - X509_get_subject_name
    - tls_log_summary
    - SSL_CIPHER_get_bits
    - msg_info
    - tls_peer_CN
    - SSL_get_rbio
    - SSL_get_verify_result
    - tls_int_seed
    - tls_set_bio_callback
    - tls_issuer_CN
    - TLS_CERT_IS_TRUSTED
    - SSL_get0_peer_rpk
    - TLS_PEEK_PEER_CERT
    - tls_pkey_fprint
    - SSL_CIPHER_get_name
    - X509_get0_pubkey
    - TLS_FREE_PEER_CERT
    - OPENSSL_VERSION_PREREQ
    - SSL_get_version
    - tls_get_signature_params
    - printable
    - X509_NAME_oneline
    - tls_stream_start
    - SSL_session_reused
    - tls_log_verify_error
    - mystrdup
    linkageType: ''
    returnType: TLS_SESS_STATE
    signature: TLS_SESS_STATE *tls_server_post_accept(TLS_SESS_STATE *TLScontext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 224
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_log_mask
      Src: /src/postfix/postfix/src/tls/tls_dane.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - log_param
    - log_level
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: tls_dane_loglevel
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 0
    functionsReached:
    - tls_log_mask
    linkageType: ''
    returnType: void
    signature: void tls_dane_loglevel(const char *log_param, const char *log_level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: tls_dane_avail
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_dane_avail(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tls_dane.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 298
    functionName: tls_dane_alloc
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 1
    functionsReached:
    - mymalloc
    linkageType: ''
    returnType: TLS_DANE
    signature: TLS_DANE *tls_dane_alloc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_dane.c:308,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_dane.c:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tlsa
    argTypes:
    - TLS_TLSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 311
    functionName: tls_tlsa_free
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 1
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void tls_tlsa_free(TLS_TLSA *tlsa)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_dane.c:320,1
    - Dst: tls_tlsa_free
      Src: /src/postfix/postfix/src/tls/tls_dane.c:322,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_dane.c:323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - dane
    argTypes:
    - TLS_DANE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 324
    functionName: tls_dane_free
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 2
    functionsReached:
    - myfree
    - tls_tlsa_free
    linkageType: ''
    returnType: void
    signature: void tls_dane_free(TLS_DANE *dane)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tls_dane.c:334,1
    - Dst: mymemdup
      Src: /src/postfix/postfix/src/tls/tls_dane.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - tlsa
    - usage
    - selector
    - mtype
    - data
    - data_len
    argTypes:
    - TLS_TLSA*
    - uint8_t
    - uint8_t
    - uint8_t
    - unsigned char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 342
    functionName: tlsa_prepend
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 1
    functionsReached:
    - mymalloc
    - mymemdup
    linkageType: ''
    returnType: TLS_TLSA
    signature: "TLS_TLSA *tlsa_prepend(TLS_TLSA *tlsa, uint8_t usage, uint8_t selector,\n\t\t
      \              uint8_t mtype, const unsigned char *data,\n\t\t               uint16_t
      data_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_dane.c:358,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_dane.c:360,1
    - Dst: hex_encode
      Src: /src/postfix/postfix/src/tls/tls_dane.c:363,1
    - Dst: hex_encode
      Src: /src/postfix/postfix/src/tls/tls_dane.c:364,1
    - Dst: hex_encode
      Src: /src/postfix/postfix/src/tls/tls_dane.c:366,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/tls/tls_dane.c:368,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_dane.c:371,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_dane.c:371,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_dane.c:373,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 7
    argNames:
    - tag
    - msg
    - u
    - s
    - m
    - data
    - dlen
    argTypes:
    - char*
    - char*
    - uint8_t
    - uint8_t
    - uint8_t
    - unsigned char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 374
    functionName: tlsa_info
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - vstring_alloc
    - msg_info
    - hex_encode
    - STR
    linkageType: ''
    returnType: void
    signature: "void tlsa_info(const char *tag, const char *msg,\n\t\t              uint8_t
      u, uint8_t s, uint8_t m,\n\t\t              const unsigned char *data, ssize_t
      dlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_dane.c:386,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_dane.c:388,1
    - Dst: hex_encode
      Src: /src/postfix/postfix/src/tls/tls_dane.c:391,1
    - Dst: hex_encode
      Src: /src/postfix/postfix/src/tls/tls_dane.c:392,1
    - Dst: hex_encode
      Src: /src/postfix/postfix/src/tls/tls_dane.c:394,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/tls/tls_dane.c:396,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dane.c:399,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_dane.c:399,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_dane.c:401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 9
    argNames:
    - s1
    - s2
    - s3
    - s4
    - u
    - s
    - m
    - data
    - dlen
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - uint8_t
    - uint8_t
    - uint8_t
    - unsigned char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 402
    functionName: tlsa_carp
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - msg_warn
    - vstring_alloc
    - hex_encode
    - STR
    linkageType: ''
    returnType: void
    signature: "void tlsa_carp(const char *s1, const char *s2, const char *s3,\n\t\t
      \           const char *s4, uint8_t u, uint8_t s, uint8_t m,\n\t\t              const
      unsigned char *data, ssize_t dlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctable_free
      Src: /src/postfix/postfix/src/tls/tls_dane.c:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 411
    functionName: tls_dane_flush
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 0
    functionsReached:
    - ctable_free
    linkageType: ''
    returnType: void
    signature: void tls_dane_flush(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_dane_free
      Src: /src/postfix/postfix/src/tls/tls_dane.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dane
    - unused_context
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: dane_free
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 3
    functionsReached:
    - tls_dane_free
    linkageType: ''
    returnType: void
    signature: void dane_free(void *dane, void *unused_context)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: argv_split
      Src: /src/postfix/postfix/src/tls/tls_dane.c:426,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_dane.c:431,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_dane.c:436,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/tls/tls_dane.c:443,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dane.c:452,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_dane.c:456,1
    - Dst: hex_decode_opt
      Src: /src/postfix/postfix/src/tls/tls_dane.c:457,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_dane.c:458,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dane.c:459,1
    - Dst: tlsa_prepend
      Src: /src/postfix/postfix/src/tls/tls_dane.c:485,1
    - Dst: USTR_LEN
      Src: /src/postfix/postfix/src/tls/tls_dane.c:485,1
    - Dst: tlsa_info
      Src: /src/postfix/postfix/src/tls/tls_dane.c:487,1
    - Dst: USTR_LEN
      Src: /src/postfix/postfix/src/tls/tls_dane.c:488,1
    - Dst: tlsa_prepend
      Src: /src/postfix/postfix/src/tls/tls_dane.c:491,1
    - Dst: USTR_LEN
      Src: /src/postfix/postfix/src/tls/tls_dane.c:491,1
    - Dst: tlsa_info
      Src: /src/postfix/postfix/src/tls/tls_dane.c:493,1
    - Dst: USTR_LEN
      Src: /src/postfix/postfix/src/tls/tls_dane.c:494,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/tls/tls_dane.c:496,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/tls/tls_dane.c:498,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 5
    argNames:
    - dane
    - pkey_only
    - digest
    - delim
    - smtp_mode
    argTypes:
    - TLS_DANE*
    - int
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 499
    functionName: tls_dane_add_fpt_digests
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - strlen
    - USTR_LEN
    - vstring_alloc
    - argv_free
    - msg_info
    - myfree
    - hex_decode_opt
    - tlsa_info
    - argv_split
    - tlsa_prepend
    - vstring_free
    linkageType: ''
    returnType: void
    signature: "void tls_dane_add_fpt_digests(TLS_DANE *dane, int pkey_only,\n\t\t\t
      \             const char *digest, const char *delim,\n\t\t\t\t         int smtp_mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - raw
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 463
    functionName: USTR_LEN
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: USTR_LEN(raw)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/tls/tls_dane.c:511,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tls/tls_dane.c:517,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dane.c:522,1
    - Dst: tlsa_carp
      Src: /src/postfix/postfix/src/tls/tls_dane.c:541,1
    - Dst: tlsa_carp
      Src: /src/postfix/postfix/src/tls/tls_dane.c:550,1
    - Dst: tlsa_info
      Src: /src/postfix/postfix/src/tls/tls_dane.c:555,1
    - Dst: tlsa_prepend
      Src: /src/postfix/postfix/src/tls/tls_dane.c:557,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - dane
    - rr
    argTypes:
    - TLS_DANE*
    - DNS_RR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 559
    functionName: parse_tlsa_rr
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_warn
    - strcasecmp
    - tlsa_info
    - tlsa_prepend
    - tlsa_carp
    linkageType: ''
    returnType: int
    signature: int parse_tlsa_rr(TLS_DANE *dane, DNS_RR *rr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tls_dane_alloc
      Src: /src/postfix/postfix/src/tls/tls_dane.c:568,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_dane.c:572,1
    - Dst: dns_lookup
      Src: /src/postfix/postfix/src/tls/tls_dane.c:574,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/tls/tls_dane.c:584,1
    - Dst: parse_tlsa_rr
      Src: /src/postfix/postfix/src/tls/tls_dane.c:590,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/tls/tls_dane.c:597,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/tls/tls_dane.c:602,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dane.c:606,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_dane.c:606,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - tlsa_fqdn
    - unused_ctx
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 563
    functionDepth: 3
    functionLinenumber: 563
    functionLinenumberEnd: 612
    functionName: dane_lookup
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 0
    functionsReached:
    - tls_dane_alloc
    - msg_warn
    - dns_rr_free
    - vstring_alloc
    - event_time
    - dns_lookup
    - parse_tlsa_rr
    - STR
    linkageType: ''
    returnType: void
    signature: void *dane_lookup(const char *tlsa_fqdn, void *unused_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_dane.c:623,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/tls/tls_dane.c:625,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/tls/tls_dane.c:625,1
    - Dst: ctable_locate
      Src: /src/postfix/postfix/src/tls/tls_dane.c:626,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_dane.c:626,1
    - Dst: timecmp
      Src: /src/postfix/postfix/src/tls/tls_dane.c:627,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/tls/tls_dane.c:627,1
    - Dst: ctable_refresh
      Src: /src/postfix/postfix/src/tls/tls_dane.c:628,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_dane.c:628,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_dane.c:630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - host
    - proto
    - port
    argTypes:
    - char*
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 634
    functionName: resolve_host
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 0
    functionsReached:
    - ctable_locate
    - vstring_sprintf
    - ctable_refresh
    - vstring_alloc
    - event_time
    - ntohs
    - timecmp
    - mystrdup
    - STR
    linkageType: ''
    returnType: TLS_DANE
    signature: "TLS_DANE *resolve_host(const char *host, const char *proto,\n\t\t\t
      \             unsigned port)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_dane.c:645,1
    - Dst: dns_lookup
      Src: /src/postfix/postfix/src/tls/tls_dane.c:654,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/tls/tls_dane.c:657,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/tls/tls_dane.c:661,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dane.c:662,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_dane.c:662,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - qname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 664
    functionName: qname_secure
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - dns_rr_free
    - msg_warn
    - vstring_alloc
    - dns_lookup
    - STR
    linkageType: ''
    returnType: int
    signature: int qname_secure(const char *qname)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/tls/tls_dane.c:672,1
    - Dst: tls_dane_avail
      Src: /src/postfix/postfix/src/tls/tls_dane.c:675,1
    - Dst: qname_secure
      Src: /src/postfix/postfix/src/tls/tls_dane.c:684,1
    - Dst: tls_dane_alloc
      Src: /src/postfix/postfix/src/tls/tls_dane.c:689,1
    - Dst: ctable_create
      Src: /src/postfix/postfix/src/tls/tls_dane.c:693,1
    - Dst: resolve_host
      Src: /src/postfix/postfix/src/tls/tls_dane.c:701,1
    - Dst: tls_dane_notfound
      Src: /src/postfix/postfix/src/tls/tls_dane.c:702,1
    - Dst: tls_dane_free
      Src: /src/postfix/postfix/src/tls/tls_dane.c:703,1
    - Dst: resolve_host
      Src: /src/postfix/postfix/src/tls/tls_dane.c:708,1
    - Dst: tls_dane_free
      Src: /src/postfix/postfix/src/tls/tls_dane.c:711,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 4
    argNames:
    - port
    - proto
    - hostrr
    - forcetlsa
    argTypes:
    - unsigned
    - char*
    - DNS_RR*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 717
    functionName: tls_dane_resolve
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 0
    functionsReached:
    - tls_dane_alloc
    - resolve_host
    - ctable_create
    - qname_secure
    - tls_dane_notfound
    - strcasecmp
    - tls_dane_avail
    - tls_dane_free
    linkageType: ''
    returnType: TLS_DANE
    signature: "TLS_DANE *tls_dane_resolve(unsigned port, const char *proto, DNS_RR
      *hostrr,\n\t\t\t           int forcetlsa)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/postfix/postfix/src/tls/tls_dane.c:741,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dane.c:742,1
    - Dst: ERR_clear_error
      Src: /src/postfix/postfix/src/tls/tls_dane.c:746,1
    - Dst: PEM_read_bio
      Src: /src/postfix/postfix/src/tls/tls_dane.c:754,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_dane.c:760,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_dane.c:761,1
    - Dst: tlsa_info
      Src: /src/postfix/postfix/src/tls/tls_dane.c:765,1
    - Dst: tlsa_prepend
      Src: /src/postfix/postfix/src/tls/tls_dane.c:768,1
    - Dst: tlsa_prepend
      Src: /src/postfix/postfix/src/tls/tls_dane.c:770,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_dane.c:771,1
    - Dst: tlsa_info
      Src: /src/postfix/postfix/src/tls/tls_dane.c:775,1
    - Dst: tlsa_prepend
      Src: /src/postfix/postfix/src/tls/tls_dane.c:778,1
    - Dst: tlsa_prepend
      Src: /src/postfix/postfix/src/tls/tls_dane.c:779,1
    - Dst: OPENSSL_free
      Src: /src/postfix/postfix/src/tls/tls_dane.c:785,1
    - Dst: OPENSSL_free
      Src: /src/postfix/postfix/src/tls/tls_dane.c:786,1
    - Dst: OPENSSL_free
      Src: /src/postfix/postfix/src/tls/tls_dane.c:787,1
    - Dst: BIO_free
      Src: /src/postfix/postfix/src/tls/tls_dane.c:789,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_dane.c:792,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dane.c:793,1
    - Dst: ERR_GET_REASON
      Src: /src/postfix/postfix/src/tls/tls_dane.c:797,1
    - Dst: ERR_peek_last_error
      Src: /src/postfix/postfix/src/tls/tls_dane.c:797,1
    - Dst: ERR_clear_error
      Src: /src/postfix/postfix/src/tls/tls_dane.c:799,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_dane.c:803,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - dane
    - tafile
    argTypes:
    - TLS_DANE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 805
    functionName: tls_dane_load_trustfile
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 0
    functionsReached:
    - ERR_GET_REASON
    - msg_warn
    - tls_print_errors
    - BIO_new_file
    - PEM_read_bio
    - ERR_peek_last_error
    - ERR_clear_error
    - strcmp
    - tlsa_info
    - OPENSSL_free
    - tlsa_prepend
    - BIO_free
    linkageType: ''
    returnType: int
    signature: int tls_dane_load_trustfile(TLS_DANE *dane, const char *tafile)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_dane_tlsa_add
      Src: /src/postfix/postfix/src/tls/tls_dane.c:817,1
    - Dst: tlsa_carp
      Src: /src/postfix/postfix/src/tls/tls_dane.c:833,1
    - Dst: tlsa_carp
      Src: /src/postfix/postfix/src/tls/tls_dane.c:839,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_dane.c:841,1
    - Dst: tls_enable_server_rpk
      Src: /src/postfix/postfix/src/tls/tls_dane.c:845,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - TLScontext
    argTypes:
    - TLS_SESS_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 807
    functionDepth: 2
    functionLinenumber: 807
    functionLinenumberEnd: 848
    functionName: tls_dane_enable
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 0
    functionsReached:
    - tls_enable_server_rpk
    - tls_print_errors
    - tlsa_carp
    - SSL_dane_tlsa_add
    linkageType: ''
    returnType: int
    signature: int tls_dane_enable(TLS_SESS_STATE *TLScontext)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postfix/postfix/src/tls/tls_dane.c:862,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_dane.c:878,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/tls/tls_dane.c:879,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/tls/tls_dane.c:880,1
    - Dst: safe_strtoul
      Src: /src/postfix/postfix/src/tls/tls_dane.c:892,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dane.c:895,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dane.c:900,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/tls/tls_dane.c:922,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/tls/tls_dane.c:924,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dane.c:927,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/tls/tls_dane.c:933,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dane.c:934,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/tls/tls_dane.c:941,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dane.c:942,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dane.c:953,1
    - Dst: tls_digest_byname
      Src: /src/postfix/postfix/src/tls/tls_dane.c:959,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dane.c:960,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_dane.c:965,1
    - Dst: SSL_CTX_dane_mtype_set
      Src: /src/postfix/postfix/src/tls/tls_dane.c:978,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dane.c:980,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_dane.c:982,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 75
    argCount: 2
    argNames:
    - ctx
    - fpt_alg
    argTypes:
    - SSL_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 985
    functionName: tls_dane_digest_init
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - mystrdup
    - tls_print_errors
    - myfree
    - strcasecmp
    - tls_digest_byname
    - memset
    - mystrtok
    - split_at
    - safe_strtoul
    - SSL_CTX_dane_mtype_set
    linkageType: ''
    returnType: void
    signature: void tls_dane_digest_init(SSL_CTX *ctx, const EVP_MD *fpt_alg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get0_dane_authority
      Src: /src/postfix/postfix/src/tls/tls_dane.c:995,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1006,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1012,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1014,1
    - Dst: SSL_get0_dane_tlsa
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1016,1
    - Dst: hex_encode
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1018,1
    - Dst: hex_encode
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1019,1
    - Dst: hex_encode
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1021,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1025,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1026,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1027,1
    - Dst: OPENSSL_VERSION_PREREQ
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1030,1
    - Dst: SSL_get0_peer_rpk
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1031,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1032,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1034,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1035,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1039,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1043,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1044,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - TLScontext
    argTypes:
    - TLS_SESS_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 1045
    functionName: tls_dane_log
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 0
    functionsReached:
    - SSL_get0_peer_rpk
    - vstring_alloc
    - SSL_get0_dane_tlsa
    - msg_info
    - hex_encode
    - OPENSSL_VERSION_PREREQ
    - SSL_get0_dane_authority
    - STR
    linkageType: ''
    returnType: void
    signature: void tls_dane_log(TLS_SESS_STATE *TLScontext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_SSL_CTX
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1061,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1062,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1063,1
    - Dst: sk_X509_value
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1065,1
    - Dst: X509_STORE_CTX_new
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1066,1
    - Dst: SSLerr
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1067,1
    - Dst: X509_STORE_CTX_init
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1070,1
    - Dst: X509_STORE_CTX_free
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1071,1
    - Dst: X509_STORE_CTX_set_ex_data
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1074,1
    - Dst: X509_STORE_CTX_set_default
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1077,1
    - Dst: X509_VERIFY_PARAM_set1
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1078,1
    - Dst: X509_STORE_CTX_get0_param
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1078,1
    - Dst: SSL_get0_param
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1079,1
    - Dst: X509_STORE_CTX_set0_dane
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1080,1
    - Dst: SSL_get0_dane
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1080,1
    - Dst: X509_verify_cert
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1082,1
    - Dst: SSL_set_verify_result
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1084,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1084,1
    - Dst: X509_STORE_CTX_free
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1085,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - ssl
    - chain
    - tctx
    argTypes:
    - SSL*
    - x509_stack_t*
    - TLS_SESS_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1088
    functionName: verify_chain
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_set0_dane
    - X509_STORE_CTX_get_error
    - X509_STORE_CTX_new
    - sk_X509_value
    - SSLerr
    - X509_STORE_CTX_free
    - X509_STORE_CTX_set_default
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - SSL_set_verify_result
    - X509_verify_cert
    - SSL_get0_dane
    - X509_STORE_CTX_init
    - SSL_get_SSL_CTX
    - X509_VERIFY_PARAM_set1
    - X509_STORE_CTX_set_ex_data
    - X509_STORE_CTX_get0_param
    - SSL_CTX_get_cert_store
    - SSL_get0_param
    linkageType: ''
    returnType: int
    signature: int verify_chain(SSL *ssl, x509_stack_t *chain, TLS_SESS_STATE *tctx)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1098,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1099,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1100,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1109,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1118,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1128,1
    - Dst: BIO_new_file
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1131,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1132,1
    - Dst: PEM_read_bio_X509
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1133,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1134,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1135,1
    - Dst: BIO_free
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1137,1
    - Dst: i2d_X509
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1144,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1146,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1147,1
    - Dst: i2d_X509
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1148,1
    - Dst: X509_get_pubkey
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1151,1
    - Dst: i2d_PUBKEY
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1152,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1154,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1155,1
    - Dst: i2d_PUBKEY
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1156,1
    - Dst: EVP_PKEY_free
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1157,1
    - Dst: X509_free
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1160,1
    - Dst: OPENSSL_assert
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1161,1
    - Dst: tls_digest_byname
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1167,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1168,1
    - Dst: tls_digest_byname
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1171,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1172,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1175,1
    - Dst: EVP_Digest
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1182,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1183,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1184,1
    - Dst: mymemdup
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1185,1
    - Dst: SSL_dane_tlsa_add
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1187,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1188,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 72
    argCount: 2
    argNames:
    - ssl
    - argv
    argTypes:
    - SSL*
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1090
    functionDepth: 1
    functionLinenumber: 1090
    functionLinenumberEnd: 1189
    functionName: load_tlsa_args
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 0
    functionsReached:
    - i2d_X509
    - EVP_Digest
    - tls_print_errors
    - BIO_new_file
    - SSL_dane_tlsa_add
    - OPENSSL_assert
    - EVP_PKEY_free
    - PEM_read_bio_X509
    - atoi
    - X509_get_pubkey
    - X509_free
    - tls_digest_byname
    - myfree
    - mymalloc
    - msg_fatal
    - mymemdup
    - i2d_PUBKEY
    - BIO_free
    linkageType: ''
    returnType: void
    signature: void load_tlsa_args(SSL *ssl, char *argv[])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_new_null
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1203,1
    - Dst: perror
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1204,1
    - Dst: exit
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1205,1
    - Dst: BIO_new_file
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1214,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1215,1
    - Dst: exit
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1216,1
    - Dst: ERR_clear_error
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1219,1
    - Dst: PEM_read_bio
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1222,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1226,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1227,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1228,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1232,1
    - Dst: d
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1233,1
    - Dst: sk_X509_push
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1235,1
    - Dst: perror
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1236,1
    - Dst: exit
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1237,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1240,1
    - Dst: exit
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1241,1
    - Dst: OPENSSL_free
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1247,1
    - Dst: OPENSSL_free
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1248,1
    - Dst: OPENSSL_free
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1249,1
    - Dst: BIO_free
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1251,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1254,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1255,1
    - Dst: exit
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1256,1
    - Dst: ERR_GET_REASON
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1258,1
    - Dst: ERR_peek_last_error
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1258,1
    - Dst: ERR_clear_error
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1260,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1263,1
    - Dst: exit
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1264,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1267,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1268,1
    - Dst: exit
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1269,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 1
    argNames:
    - chainfile
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1191
    functionDepth: 1
    functionLinenumber: 1191
    functionLinenumberEnd: 1270
    functionName: load_chain
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 0
    functionsReached:
    - ERR_GET_REASON
    - d
    - tls_print_errors
    - BIO_new_file
    - exit
    - PEM_read_bio
    - ERR_peek_last_error
    - ERR_clear_error
    - sk_X509_new_null
    - strcmp
    - OPENSSL_free
    - sk_X509_push
    - perror
    - fprintf
    - BIO_free
    linkageType: ''
    returnType: x509_stack_t
    signature: x509_stack_t *load_chain(const char *chainfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1274,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1277,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1278,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1279,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1280,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1281,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1282,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1283,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1284,1
    - Dst: exit
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1286
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 1
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(const char *progname)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tls_param_init
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1292,1
    - Dst: tls_check_version
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1293,1
    - Dst: tls_validate_digest
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1295,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1296,1
    - Dst: SSL_get_ex_new_index
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1299,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1300,1
    - Dst: ERR_clear_error
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1302,1
    - Dst: SSL_CTX_new
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1303,1
    - Dst: TLS_client_method
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1303,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1304,1
    - Dst: SSL_CTX_set_verify_depth
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1305,1
    - Dst: SSL_CTX_dane_enable
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1308,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1309,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1310,1
    - Dst: tls_set_ca_certificate_info
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1312,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1313,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1314,1
    - Dst: SSL_CTX_set_verify
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - CAfile
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1288
    functionDepth: 1
    functionLinenumber: 1288
    functionLinenumberEnd: 1319
    functionName: ctx_init
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new
    - TLS_client_method
    - tls_set_ca_certificate_info
    - tls_print_errors
    - ERR_clear_error
    - SSL_CTX_set_verify
    - SSL_get_ex_new_index
    - SSL_CTX_set_verify_depth
    - tls_check_version
    - msg_fatal
    - tls_param_init
    - SSL_CTX_dane_enable
    - tls_validate_digest
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *ctx_init(const char *CAfile)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1329,1
    - Dst: basename
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1329,1
    - Dst: set_mail_conf_str
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1330,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1331,1
    - Dst: usage
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1334,1
    - Dst: ctx_init
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1336,1
    - Dst: tls_dane_avail
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1337,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1338,1
    - Dst: tls_alloc_sess_context
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1340,1
    - Dst: tls_dane_alloc
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1343,1
    - Dst: tls_validate_digest
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1345,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1346,1
    - Dst: tls_dane_digest_init
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1348,1
    - Dst: SSL_new
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1350,1
    - Dst: SSL_set_ex_data
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1351,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1352,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1353,1
    - Dst: SSL_dane_enable
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1355,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1356,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1357,1
    - Dst: SSL_dane_set_flags
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1359,1
    - Dst: SSL_dane_set_flags
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1360,1
    - Dst: SSL_add1_host
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1362,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1363,1
    - Dst: load_tlsa_args
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1364,1
    - Dst: SSL_set_connect_state
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1365,1
    - Dst: load_chain
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1368,1
    - Dst: verify_chain
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1369,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1370,1
    - Dst: SSL_get0_peername
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1373,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1377,1
    - Dst: SSL_get_verify_result
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1379,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1380,1
    - Dst: X509_verify_cert_error_string
      Src: /src/postfix/postfix/src/tls/tls_dane.c:1381,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1321
    functionDepth: 2
    functionLinenumber: 1321
    functionLinenumberEnd: 1385
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dane.c
    functionUses: 5
    functionsReached:
    - SSL_new
    - tls_print_errors
    - basename
    - msg_vstream_init
    - msg_info
    - tls_dane_avail
    - SSL_get_verify_result
    - SSL_dane_enable
    - tls_dane_alloc
    - SSL_add1_host
    - set_mail_conf_str
    - ctx_init
    - SSL_dane_set_flags
    - load_tlsa_args
    - X509_verify_cert_error_string
    - load_chain
    - SSL_get0_peername
    - tls_validate_digest
    - SSL_set_connect_state
    - verify_chain
    - SSL_set_ex_data
    - tls_alloc_sess_context
    - usage
    - tls_dane_digest_init
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/postfix/postfix/src/tls/tls_seed.c:69,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/tls/tls_seed.c:70,1
    - Dst: RAND_seed
      Src: /src/postfix/postfix/src/tls/tls_seed.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: tls_int_seed
    functionSourceFile: /src/postfix/postfix/src/tls/tls_seed.c
    functionUses: 3
    functionsReached:
    - RAND_seed
    - getpid
    - GETTIMEOFDAY
    linkageType: ''
    returnType: void
    signature: void tls_int_seed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_seed.c:81,1
    - Dst: tls_mgr_seed
      Src: /src/postfix/postfix/src/tls/tls_seed.c:82,1
    - Dst: RAND_seed
      Src: /src/postfix/postfix/src/tls/tls_seed.c:83,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/tls/tls_seed.c:83,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/tls/tls_seed.c:83,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/tls/tls_seed.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - nbytes
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: tls_ext_seed
    functionSourceFile: /src/postfix/postfix/src/tls/tls_seed.c
    functionUses: 2
    functionsReached:
    - RAND_seed
    - vstring_str
    - VSTRING_LEN
    - vstring_alloc
    - tls_mgr_seed
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int tls_ext_seed(int nbytes)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_prng_egd.c:93,1
    - Dst: unix_connect
      Src: /src/postfix/postfix/src/tls/tls_prng_egd.c:95,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_prng_egd.c:97,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tls_prng_egd.c:100,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_prng_egd.c:102,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_prng_egd.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - name
    - timeout
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 108
    functionName: tls_prng_egd_open
    functionSourceFile: /src/postfix/postfix/src/tls/tls_prng_egd.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - mystrdup
    - unix_connect
    - msg_info
    linkageType: ''
    returnType: TLS_PRNG_SRC
    signature: TLS_PRNG_SRC *tls_prng_egd_open(const char *name, int timeout)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tls/tls_prng_egd.c:119,1
    - Dst: timed_write
      Src: /src/postfix/postfix/src/tls/tls_prng_egd.c:124,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_prng_egd.c:125,1
    - Dst: timed_read
      Src: /src/postfix/postfix/src/tls/tls_prng_egd.c:128,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_prng_egd.c:129,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_prng_egd.c:136,1
    - Dst: timed_read
      Src: /src/postfix/postfix/src/tls/tls_prng_egd.c:139,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_prng_egd.c:140,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_prng_egd.c:145,1
    - Dst: RAND_seed
      Src: /src/postfix/postfix/src/tls/tls_prng_egd.c:147,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - egd
    - len
    argTypes:
    - TLS_PRNG_SRC*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 149
    functionName: tls_prng_egd_read
    functionSourceFile: /src/postfix/postfix/src/tls/tls_prng_egd.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - RAND_seed
    - timed_read
    - timed_write
    - msg_info
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t tls_prng_egd_read(TLS_PRNG_SRC *egd, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_prng_egd.c:159,1
    - Dst: close
      Src: /src/postfix/postfix/src/tls/tls_prng_egd.c:160,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_prng_egd.c:161,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_prng_egd.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - egd
    argTypes:
    - TLS_PRNG_SRC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: tls_prng_egd_close
    functionSourceFile: /src/postfix/postfix/src/tls/tls_prng_egd.c
    functionUses: 0
    functionsReached:
    - myfree
    - close
    - msg_info
    linkageType: ''
    returnType: int
    signature: int tls_prng_egd_close(TLS_PRNG_SRC *egd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 359
    functionName: NAMEBUG
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAMEBUG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 459
    functionName: NAME_SSL_OP
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAME_SSL_OP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name_mask_opt
      Src: /src/postfix/postfix/src/tls/tls_misc.c:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - log_param
    - log_level
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 582
    functionName: tls_log_mask
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 2
    functionsReached:
    - name_mask_opt
    linkageType: ''
    returnType: int
    signature: int tls_log_mask(const char *log_param, const char *log_level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - app_ctx
    - log_mask
    argTypes:
    - TLS_APPL_STATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 589
    functionName: tls_update_app_logmask
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_update_app_logmask(TLS_APPL_STATE *app_ctx, int log_mask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: name_code
      Src: /src/postfix/postfix/src/tls/tls_misc.c:595,1
    - Dst: strtoul
      Src: /src/postfix/postfix/src/tls/tls_misc.c:604,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - tok
    - version
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: parse_tls_version
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 0
    functionsReached:
    - name_code
    - strtoul
    linkageType: ''
    returnType: int
    signature: int parse_tls_version(const char *tok, int *version)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_misc.c:632,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/tls/tls_misc.c:633,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/tls/tls_misc.c:634,1
    - Dst: parse_tls_version
      Src: /src/postfix/postfix/src/tls/tls_misc.c:635,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/tls/tls_misc.c:636,1
    - Dst: parse_tls_version
      Src: /src/postfix/postfix/src/tls/tls_misc.c:637,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/tls/tls_misc.c:640,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/tls/tls_misc.c:643,1
    - Dst: FREE_AND_RETURN
      Src: /src/postfix/postfix/src/tls/tls_misc.c:645,1
    - Dst: FREE_AND_RETURN
      Src: /src/postfix/postfix/src/tls/tls_misc.c:655,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - plist
    - floor
    - ceiling
    argTypes:
    - char*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 657
    functionName: tls_proto_mask_lims
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 1
    functionsReached:
    - name_code
    - FREE_AND_RETURN
    - strncmp
    - mystrtok
    - mystrdup
    - parse_tls_version
    linkageType: ''
    returnType: int
    signature: int tls_proto_mask_lims(const char *plist, int *floor, int *ceiling)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 629
    functionName: FREE_AND_RETURN
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_AND_RETURN(ptr, res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_mail_conf_str_table
      Src: /src/postfix/postfix/src/tls/tls_misc.c:706,1
    - Dst: get_mail_conf_int_table
      Src: /src/postfix/postfix/src/tls/tls_misc.c:707,1
    - Dst: get_mail_conf_bool_table
      Src: /src/postfix/postfix/src/tls/tls_misc.c:708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 709
    functionName: tls_param_init
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 2
    functionsReached:
    - get_mail_conf_int_table
    - get_mail_conf_bool_table
    - get_mail_conf_str_table
    linkageType: ''
    returnType: void
    signature: void tls_param_init(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_misc.c:733,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_misc.c:734,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_misc.c:736,1
    - Dst: OPENSSL_INIT_new
      Src: /src/postfix/postfix/src/tls/tls_misc.c:739,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_misc.c:740,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_misc.c:754,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_misc.c:755,1
    - Dst: TLS_LIB_INIT_RETURN
      Src: /src/postfix/postfix/src/tls/tls_misc.c:757,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_misc.c:769,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_misc.c:771,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_misc.c:794,1
    - Dst: TLS_LIB_INIT_RETURN
      Src: /src/postfix/postfix/src/tls/tls_misc.c:796,1
    - Dst: OPENSSL_INIT_set_config_file_flags
      Src: /src/postfix/postfix/src/tls/tls_misc.c:799,1
    - Dst: OPENSSL_INIT_set_config_filename
      Src: /src/postfix/postfix/src/tls/tls_misc.c:804,1
    - Dst: OPENSSL_INIT_set_config_appname
      Src: /src/postfix/postfix/src/tls/tls_misc.c:806,1
    - Dst: OPENSSL_init_ssl
      Src: /src/postfix/postfix/src/tls/tls_misc.c:808,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_misc.c:810,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_misc.c:815,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_misc.c:817,1
    - Dst: TLS_LIB_INIT_RETURN
      Src: /src/postfix/postfix/src/tls/tls_misc.c:818,1
    - Dst: TLS_LIB_INIT_RETURN
      Src: /src/postfix/postfix/src/tls/tls_misc.c:820,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 821
    functionName: tls_library_init
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - OPENSSL_INIT_set_config_appname
    - OPENSSL_init_ssl
    - tls_print_errors
    - OPENSSL_INIT_new
    - TLS_LIB_INIT_RETURN
    - msg_info
    - OPENSSL_INIT_set_config_filename
    - strcmp
    - OPENSSL_INIT_set_config_file_flags
    linkageType: ''
    returnType: int
    signature: int tls_library_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 746
    functionName: TLS_LIB_INIT_RETURN
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_LIB_INIT_RETURN(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tls_param_init
      Src: /src/postfix/postfix/src/tls/tls_misc.c:833,1
    - Dst: get_mail_conf_str_table
      Src: /src/postfix/postfix/src/tls/tls_misc.c:839,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/tls/tls_misc.c:845,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - role
    argTypes:
    - TLS_ROLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 825
    functionDepth: 2
    functionLinenumber: 825
    functionLinenumberEnd: 846
    functionName: tls_pre_jail_init
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 2
    functionsReached:
    - tls_param_init
    - get_mail_conf_str_table
    - maps_create
    linkageType: ''
    returnType: void
    signature: void tls_pre_jail_init(TLS_ROLE role)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/postfix/postfix/src/tls/tls_misc.c:853,1
    - Dst: SSL_get_servername
      Src: /src/postfix/postfix/src/tls/tls_misc.c:854,1
    - Dst: valid_hostname
      Src: /src/postfix/postfix/src/tls/tls_misc.c:862,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_misc.c:863,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_misc.c:882,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_misc.c:884,1
    - Dst: maps_file_find
      Src: /src/postfix/postfix/src/tls/tls_misc.c:890,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/tls/tls_misc.c:893,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_misc.c:897,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_misc.c:902,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/postfix/postfix/src/tls/tls_misc.c:913,1
    - Dst: tls_load_pem_chain
      Src: /src/postfix/postfix/src/tls/tls_misc.c:914,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_misc.c:919,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 3
    argNames:
    - ssl
    - alert
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 921
    functionName: server_sni_callback
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - strchr
    - tls_load_pem_chain
    - valid_hostname
    - maps_file_find
    - SSL_get_servername
    - msg_info
    - strcmp
    - SSL_set_SSL_CTX
    - mystrdup
    - SSL_get_ex_data
    linkageType: ''
    returnType: int
    signature: int server_sni_callback(SSL *ssl, int *alert, void *arg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_misc.c:935,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/tls/tls_misc.c:936,1
    - Dst: tls_cipher_grade
      Src: /src/postfix/postfix/src/tls/tls_misc.c:938,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_misc.c:940,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/tls/tls_misc.c:944,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/tls/tls_misc.c:947,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/tls/tls_misc.c:950,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tls/tls_misc.c:954,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/tls/tls_misc.c:960,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tls/tls_misc.c:961,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_misc.c:968,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/tls/tls_misc.c:969,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/tls/tls_misc.c:974,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_misc.c:975,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/tls/tls_misc.c:979,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_misc.c:981,1
    - Dst: ERR_clear_error
      Src: /src/postfix/postfix/src/tls/tls_misc.c:983,1
    - Dst: SSL_set_cipher_list
      Src: /src/postfix/postfix/src/tls/tls_misc.c:984,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/tls/tls_misc.c:984,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_misc.c:985,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_misc.c:987,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/tls/tls_misc.c:990,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - TLScontext
    - grade
    - exclusions
    argTypes:
    - TLS_SESS_STATE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 991
    functionName: tls_set_ciphers
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - msg_warn
    - strchr
    - vstring_str
    - VSTRING_LEN
    - tls_print_errors
    - vstring_alloc
    - ERR_clear_error
    - myfree
    - VSTRING_RESET
    - SSL_set_cipher_list
    - vstring_strcpy
    - mystrtok
    - vstring_sprintf_append
    - mystrdup
    - tls_cipher_grade
    linkageType: ''
    returnType: char
    signature: "char *tls_set_ciphers(TLS_SESS_STATE *TLScontext, const char *grade,\n\t\t\t
      \           const char *exclusions)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_VERSION_PREREQ
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1000,1
    - Dst: EVP_PKEY_get_group_name
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1003,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1004,1
    - Dst: EVP_PKEY_get_group_name
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1005,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1006,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1011,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1012,1
    - Dst: EC_KEY_get0_group
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1012,1
    - Dst: EC_curve_nid2nist
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1013,1
    - Dst: OBJ_nid2sn
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1016,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1018,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1021
    functionName: ec_curve_name
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get0_EC_KEY
    - mystrdup
    - EC_GROUP_get_curve_name
    - EVP_PKEY_get_group_name
    - myfree
    - OBJ_nid2sn
    - OPENSSL_VERSION_PREREQ
    - mymalloc
    - EC_curve_nid2nist
    - EC_KEY_get0_group
    linkageType: ''
    returnType: char
    signature: char *ec_curve_name(EVP_PKEY *pkey)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_server
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1039,1
    - Dst: SSL_version
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1047,1
    - Dst: TLS_GROUP_NAME
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1056,1
    - Dst: tls_get_peer_dh_pubkey
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1058,1
    - Dst: EVP_PKEY_id
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1059,1
    - Dst: OBJ_nid2sn
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1061,1
    - Dst: EVP_PKEY_type
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1061,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1066,1
    - Dst: EVP_PKEY_bits
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1073,1
    - Dst: ec_curve_name
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1079,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1085,1
    - Dst: EVP_PKEY_free
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1089,1
    - Dst: SSL_get_signature_nid
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1100,1
    - Dst: SSL_get_privatekey
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1101,1
    - Dst: OPENSSL_VERSION_PREREQ
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1105,1
    - Dst: SSL_get_negotiated_server_cert_type
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1108,1
    - Dst: SSL_get_negotiated_client_cert_type
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1111,1
    - Dst: EVP_PKEY_id
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1119,1
    - Dst: EVP_PKEY_type
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1122,1
    - Dst: OBJ_nid2sn
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1123,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1128,1
    - Dst: SIG_PROP
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1135,1
    - Dst: EVP_PKEY_bits
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1135,1
    - Dst: ec_curve_name
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1141,1
    - Dst: SSL_get_signature_nid
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1151,1
    - Dst: OBJ_nid2sn
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1152,1
    - Dst: SIG_PROP
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1155,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1155,1
    - Dst: SIG_PROP
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1156,1
    - Dst: SIG_PROP
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1158,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1158,1
    - Dst: TLS_PEEK_PEER_CERT
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1161,1
    - Dst: X509_get0_pubkey
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1163,1
    - Dst: OPENSSL_VERSION_PREREQ
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1165,1
    - Dst: SSL_get0_peer_rpk
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1167,1
    - Dst: OPENSSL_VERSION_PREREQ
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1173,1
    - Dst: SSL_get_negotiated_client_cert_type
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1176,1
    - Dst: SSL_get_negotiated_server_cert_type
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1179,1
    - Dst: EVP_PKEY_id
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1187,1
    - Dst: EVP_PKEY_type
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1190,1
    - Dst: OBJ_nid2sn
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1191,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1196,1
    - Dst: SIG_PROP
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1203,1
    - Dst: EVP_PKEY_bits
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1203,1
    - Dst: ec_curve_name
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1209,1
    - Dst: SSL_get_peer_signature_nid
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1219,1
    - Dst: OBJ_nid2sn
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1220,1
    - Dst: SIG_PROP
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1223,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1223,1
    - Dst: SIG_PROP
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1224,1
    - Dst: SIG_PROP
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1226,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1226,1
    - Dst: TLS_FREE_PEER_CERT
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1229,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 104
    argCount: 1
    argNames:
    - TLScontext
    argTypes:
    - TLS_SESS_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1027
    functionDepth: 2
    functionLinenumber: 1027
    functionLinenumberEnd: 1230
    functionName: tls_get_signature_params
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 1
    functionsReached:
    - SSL_get_signature_nid
    - EVP_PKEY_bits
    - EVP_PKEY_free
    - EVP_PKEY_id
    - SSL_version
    - EVP_PKEY_get0_type_name
    - SSL_get_negotiated_server_cert_type
    - SSL_get0_peer_rpk
    - SSL_get_peer_signature_nid
    - SSL_get_privatekey
    - SIG_PROP
    - TLS_PEEK_PEER_CERT
    - OBJ_nid2sn
    - X509_get0_pubkey
    - TLS_FREE_PEER_CERT
    - ec_curve_name
    - OPENSSL_VERSION_PREREQ
    - tls_get_peer_dh_pubkey
    - SSL_is_server
    - EVP_PKEY_type
    - SSL_get_negotiated_client_cert_type
    - TLS_GROUP_NAME
    - mystrdup
    linkageType: ''
    returnType: void
    signature: void tls_get_signature_params(TLS_SESS_STATE *TLScontext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1046
    functionName: SIG_PROP
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIG_PROP(c, s, p)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1236,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1246,1
    - Dst: TLS_CRED_IS_PRESENT
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1248,1
    - Dst: TLS_CERT_IS_SECURED
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1249,1
    - Dst: TLS_CERT_IS_TRUSTED
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1250,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1257,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1259,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1261,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1264,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1267,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1270,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1273,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1275,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1279,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1282,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1285,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1288,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1290,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1293,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1293,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1294,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 33
    argCount: 3
    argNames:
    - role
    - usage
    - ctx
    argTypes:
    - TLS_ROLE
    - TLS_USAGE
    - TLS_SESS_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1234
    functionDepth: 1
    functionLinenumber: 1234
    functionLinenumberEnd: 1295
    functionName: tls_log_summary
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 1
    functionsReached:
    - vstring_sprintf_append
    - vstring_sprintf
    - vstring_str
    - TLS_CRED_IS_PRESENT
    - TLS_CERT_IS_TRUSTED
    - vstring_alloc
    - msg_info
    - TLS_CERT_IS_SECURED
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void tls_log_summary(TLS_ROLE role, TLS_USAGE usage, TLS_SESS_STATE
      *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1304,1
    - Dst: memset
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1307,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1316,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ssl_ctx
    - sni_ctx
    - log_mask
    argTypes:
    - SSL_CTX*
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1299
    functionDepth: 1
    functionLinenumber: 1299
    functionLinenumberEnd: 1320
    functionName: tls_alloc_app_context
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 1
    functionsReached:
    - mymalloc
    - SSL_CTX_set_tlsext_servername_callback
    - SSL_CTX_set_tlsext_servername_arg
    - memset
    linkageType: ''
    returnType: TLS_APPL_STATE
    signature: "TLS_APPL_STATE *tls_alloc_app_context(SSL_CTX *ssl_ctx, SSL_CTX *sni_ctx,\n\t\t\t\t
      \             int log_mask)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1327,1
    - Dst: SSL_CTX_free
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1329,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1331,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - app_ctx
    argTypes:
    - TLS_APPL_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1333
    functionName: tls_free_app_context
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_free
    - myfree
    linkageType: ''
    returnType: void
    signature: void tls_free_app_context(TLS_APPL_STATE *app_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1350,1
    - Dst: memset
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1351,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1373,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 2
    argNames:
    - log_mask
    - namaddr
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1337
    functionDepth: 1
    functionLinenumber: 1337
    functionLinenumberEnd: 1383
    functionName: tls_alloc_sess_context
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 2
    functionsReached:
    - mymalloc
    - mystrdup
    - lowercase
    - memset
    linkageType: ''
    returnType: TLS_SESS_STATE
    signature: TLS_SESS_STATE *tls_alloc_sess_context(int log_mask, const char *namaddr)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1396,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1399,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1401,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1404,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1406,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1408,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1410,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1412,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1414,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1416,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1418,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1420,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1422,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1424,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1426,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1428,1
    - Dst: X509_free
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1430,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1432,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1434,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 1
    argNames:
    - TLScontext
    argTypes:
    - TLS_SESS_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1435
    functionName: tls_free_context
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 3
    functionsReached:
    - myfree
    - X509_free
    - SSL_free
    linkageType: ''
    returnType: void
    signature: void tls_free_context(TLS_SESS_STATE *TLScontext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - version
    - info
    argTypes:
    - unsigned long
    - TLS_VINFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1462
    functionName: tls_version_split
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_version_split(unsigned long version, TLS_VINFO *info)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tls_version_split
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1472,1
    - Dst: tls_version_split
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1473,1
    - Dst: OpenSSL_version_num
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1473,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1493,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1466
    functionDepth: 1
    functionLinenumber: 1466
    functionLinenumberEnd: 1497
    functionName: tls_check_version
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 2
    functionsReached:
    - OpenSSL_version_num
    - tls_version_split
    - msg_warn
    linkageType: ''
    returnType: void
    signature: void tls_check_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1501
    functionDepth: 0
    functionLinenumber: 1501
    functionLinenumberEnd: 1504
    functionName: tls_compile_version
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *tls_compile_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenSSL_version
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1511
    functionName: tls_run_version
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 0
    functionsReached:
    - OpenSSL_version
    linkageType: ''
    returnType: char
    signature: char *tls_run_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1534
    functionName: tls_pkey_algorithms
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char **tls_pkey_algorithms(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: long_name_mask_opt
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1547,1
    - Dst: long_name_mask_opt
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1584
    functionName: tls_bug_bits
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 1
    functionsReached:
    - long_name_mask_opt
    linkageType: ''
    returnType: long
    signature: long tls_bug_bits(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_VERSION_PREREQ
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1597,1
    - Dst: ERRGET
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1604,1
    - Dst: ERR_error_string_n
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1605,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1607,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1588
    functionDepth: 1
    functionLinenumber: 1588
    functionLinenumberEnd: 1612
    functionName: tls_print_errors
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 13
    functionsReached:
    - msg_warn
    - ERRGET
    - OPENSSL_VERSION_PREREQ
    - ERR_error_string_n
    linkageType: ''
    returnType: void
    signature: void tls_print_errors(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - fi
    - ','
    - l
    - ','
    - d
    - ','
    - fl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1599
    functionDepth: 0
    functionLinenumber: 1599
    functionLinenumberEnd: 1600
    functionName: ERRGET
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERRGET(fi, l, d, fl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - fi
    - ','
    - l
    - ','
    - d
    - ','
    - fl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1601
    functionDepth: 0
    functionLinenumber: 1601
    functionLinenumberEnd: 1602
    functionName: ERRGET
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERRGET(fi, l, d, fl)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1633,1
    - Dst: SSL_state_string_long
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1633,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1637,1
    - Dst: SSL_alert_type_string_long
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1638,1
    - Dst: SSL_alert_desc_string_long
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1639,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1642,1
    - Dst: SSL_state_string_long
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1643,1
    - Dst: SSL_get_error
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1646,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1653,1
    - Dst: SSL_state_string_long
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1654,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - s
    - where
    - ret
    argTypes:
    - SSL*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1616
    functionDepth: 1
    functionLinenumber: 1616
    functionLinenumberEnd: 1660
    functionName: tls_info_callback
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 0
    functionsReached:
    - SSL_alert_type_string_long
    - msg_info
    - SSL_get_error
    - SSL_alert_desc_string_long
    - SSL_state_string_long
    linkageType: ''
    returnType: void
    signature: void tls_info_callback(const SSL *s, int where, int ret)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1681,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1693,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1694,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1697,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1700,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1704,1
    - Dst: ISPRINT
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1709,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1711,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1713,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1715,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1716,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1716,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1720,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1723,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - start
    - len
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1679
    functionDepth: 1
    functionLinenumber: 1679
    functionLinenumberEnd: 1724
    functionName: tls_dump_buffer
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - vstring_sprintf
    - vstring_str
    - ISPRINT
    - vstring_alloc
    - msg_info
    - VSTRING_RESET
    - vstring_strcat
    - VSTRING_TERMINATE
    - vstring_sprintf_append
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void tls_dump_buffer(const unsigned char *start, int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1733,1
    - Dst: tls_dump_buffer
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1736,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1738,1
    - Dst: tls_dump_buffer
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1741,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - bio
    - cmd
    - argp
    - argi
    - unused_argl
    - ret
    argTypes:
    - BIO*
    - int
    - char*
    - int
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1729
    functionDepth: 2
    functionLinenumber: 1729
    functionLinenumberEnd: 1744
    functionName: tls_bio_dump_cb
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 0
    functionsReached:
    - tls_dump_buffer
    - msg_info
    linkageType: ''
    returnType: long
    signature: "long tls_bio_dump_cb(BIO *bio, int cmd, const char *argp, int argi,\n\t\t\t
      \       long unused_argl, long ret)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1754,1
    - Dst: tls_dump_buffer
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1757,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1759,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1765,1
    - Dst: tls_dump_buffer
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1768,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1770,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 8
    argNames:
    - bio
    - cmd
    - argp
    - len
    - argi
    - unused_argl
    - ret
    - processed
    argTypes:
    - BIO*
    - int
    - char*
    - size_t
    - int
    - long
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1747
    functionDepth: 2
    functionLinenumber: 1747
    functionLinenumberEnd: 1776
    functionName: tls_bio_dump_cb
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 0
    functionsReached:
    - tls_dump_buffer
    - msg_info
    linkageType: ''
    returnType: long
    signature: "long tls_bio_dump_cb(BIO *bio, int cmd, const char *argp, size_t len,\n\t
      \            int argi, long unused_argl, int ret, size_t *processed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls_digest_byname
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1788,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dgst
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1780
    functionDepth: 1
    functionLinenumber: 1780
    functionLinenumberEnd: 1791
    functionName: tls_validate_digest
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 3
    functionsReached:
    - tls_digest_byname
    - msg_warn
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *tls_validate_digest(const char *dgst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_VERSION_PREREQ
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1795,1
    - Dst: SSL_CTX_set1_client_cert_type
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1802,1
    - Dst: SSL_set1_client_cert_type
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1804,1
    - Dst: ERR_clear_error
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1807,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1810,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1811,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - ssl
    argTypes:
    - SSL_CTX*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1814
      start: 1793
    functionDepth: 2
    functionLinenumber: 1793
    functionLinenumberEnd: 1814
    functionName: tls_enable_client_rpk
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - tls_print_errors
    - ERR_clear_error
    - SSL_CTX_set1_client_cert_type
    - OPENSSL_VERSION_PREREQ
    - SSL_set1_client_cert_type
    linkageType: ''
    returnType: void
    signature: void tls_enable_client_rpk(SSL_CTX *ctx, SSL *ssl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_VERSION_PREREQ
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1818,1
    - Dst: SSL_CTX_set1_server_cert_type
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1825,1
    - Dst: SSL_set1_server_cert_type
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1827,1
    - Dst: ERR_clear_error
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1830,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1833,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_misc.c:1834,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - ssl
    argTypes:
    - SSL_CTX*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1837
      start: 1816
    functionDepth: 2
    functionLinenumber: 1816
    functionLinenumberEnd: 1837
    functionName: tls_enable_server_rpk
    functionSourceFile: /src/postfix/postfix/src/tls/tls_misc.c
    functionUses: 2
    functionsReached:
    - SSL_set1_server_cert_type
    - msg_warn
    - tls_print_errors
    - SSL_CTX_set1_server_cert_type
    - ERR_clear_error
    - OPENSSL_VERSION_PREREQ
    linkageType: ''
    returnType: void
    signature: void tls_enable_server_rpk(SSL_CTX *ctx, SSL *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name_code
      Src: /src/postfix/postfix/src/tls/tls_level.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: tls_level_lookup
    functionSourceFile: /src/postfix/postfix/src/tls/tls_level.c
    functionUses: 2
    functionsReached:
    - name_code
    linkageType: ''
    returnType: int
    signature: int tls_level_lookup(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str_name_code
      Src: /src/postfix/postfix/src/tls/tls_level.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: str_tls_level
    functionSourceFile: /src/postfix/postfix/src/tls/tls_level.c
    functionUses: 0
    functionsReached:
    - str_name_code
    linkageType: ''
    returnType: char
    signature: char *str_tls_level(int level)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/postfix/postfix/src/tls/tls_prng_dev.c:94,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_prng_dev.c:96,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tls_prng_dev.c:99,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_prng_dev.c:101,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_prng_dev.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - name
    - timeout
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 107
    functionName: tls_prng_dev_open
    functionSourceFile: /src/postfix/postfix/src/tls/tls_prng_dev.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - open
    - mystrdup
    - msg_info
    linkageType: ''
    returnType: TLS_PRNG_SRC
    signature: TLS_PRNG_SRC *tls_prng_dev_open(const char *name, int timeout)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tls/tls_prng_dev.c:119,1
    - Dst: timed_read
      Src: /src/postfix/postfix/src/tls/tls_prng_dev.c:126,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_prng_dev.c:129,1
    - Dst: RAND_seed
      Src: /src/postfix/postfix/src/tls/tls_prng_dev.c:131,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_prng_dev.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - dev
    - len
    argTypes:
    - TLS_PRNG_SRC*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 138
    functionName: tls_prng_dev_read
    functionSourceFile: /src/postfix/postfix/src/tls/tls_prng_dev.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - timed_read
    - RAND_seed
    - msg_info
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t tls_prng_dev_read(TLS_PRNG_SRC *dev, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_prng_dev.c:148,1
    - Dst: close
      Src: /src/postfix/postfix/src/tls/tls_prng_dev.c:149,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_prng_dev.c:150,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_prng_dev.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - dev
    argTypes:
    - TLS_PRNG_SRC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: tls_prng_dev_close
    functionSourceFile: /src/postfix/postfix/src/tls/tls_prng_dev.c
    functionUses: 0
    functionsReached:
    - myfree
    - close
    - msg_info
    linkageType: ''
    returnType: int
    signature: int tls_prng_dev_close(TLS_PRNG_SRC *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stillok
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: CHECK_OK_AND
    functionSourceFile: /src/postfix/postfix/src/tls/tls_fprint.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OK_AND(stillok)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: CHECK_OK_AND_DIGEST_OBJECT
    functionSourceFile: /src/postfix/postfix/src/tls/tls_fprint.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OK_AND_DIGEST_OBJECT(m, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m
    - ','
    - p
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: CHECK_OK_AND_DIGEST_DATA
    functionSourceFile: /src/postfix/postfix/src/tls/tls_fprint.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OK_AND_DIGEST_DATA(m, p, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: CHECK_OK_AND_DIGEST_CHARS
    functionSourceFile: /src/postfix/postfix/src/tls/tls_fprint.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OK_AND_DIGEST_CHARS(m, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: digest_bytes
    functionSourceFile: /src/postfix/postfix/src/tls/tls_fprint.c
    functionUses: 0
    functionsReached:
    - EVP_DigestUpdate
    linkageType: ''
    returnType: int
    signature: int digest_bytes(EVP_MD_CTX *ctx, const unsigned char *buf, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:148,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - EVP_MD_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: digest_chars
    functionSourceFile: /src/postfix/postfix/src/tls/tls_fprint.c
    functionUses: 0
    functionsReached:
    - strlen
    - EVP_DigestUpdate
    linkageType: ''
    returnType: int
    signature: int digest_chars(EVP_MD_CTX *ctx, const char *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: tlsa_cmp
    functionSourceFile: /src/postfix/postfix/src/tls/tls_fprint.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int tlsa_cmp(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:182,1
    - Dst: qsort
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:185,1
    - Dst: CHECK_OK_AND_DIGEST_OBJECT
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:187,1
    - Dst: CHECK_OK_AND_DIGEST_OBJECT
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:189,1
    - Dst: CHECK_OK_AND_DIGEST_OBJECT
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:190,1
    - Dst: CHECK_OK_AND_DIGEST_OBJECT
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:191,1
    - Dst: CHECK_OK_AND_DIGEST_OBJECT
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:192,1
    - Dst: CHECK_OK_AND_DIGEST_DATA
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:193,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - mdctx
    - tlsa
    argTypes:
    - EVP_MD_CTX*
    - TLS_TLSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 197
    functionName: tls_digest_tlsa
    functionSourceFile: /src/postfix/postfix/src/tls/tls_fprint.c
    functionUses: 0
    functionsReached:
    - CHECK_OK_AND_DIGEST_OBJECT
    - qsort
    - myfree
    - CHECK_OK_AND_DIGEST_DATA
    - mymalloc
    linkageType: ''
    returnType: int
    signature: int tls_digest_tlsa(EVP_MD_CTX *mdctx, TLS_TLSA *tlsa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OK_AND
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:219,1
    - Dst: EVP_get_digestbyname
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:219,1
    - Dst: CHECK_OK_AND
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:225,1
    - Dst: EVP_MD_size
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:225,1
    - Dst: CHECK_OK_AND
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:226,1
    - Dst: EVP_MD_CTX_new
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:226,1
    - Dst: CHECK_OK_AND
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:227,1
    - Dst: EVP_DigestInit_ex
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:227,1
    - Dst: EVP_MD_CTX_free
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - mdalg
    - mdctxPtr
    argTypes:
    - char*
    - EVP_MD_CTX**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 235
    functionName: tls_digest_byname
    functionSourceFile: /src/postfix/postfix/src/tls/tls_fprint.c
    functionUses: 3
    functionsReached:
    - CHECK_OK_AND
    - EVP_get_digestbyname
    - EVP_DigestInit_ex
    - EVP_MD_CTX_new
    - EVP_MD_size
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *tls_digest_byname(const char *mdalg, EVP_MD_CTX **mdctxPtr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tls_digest_byname
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:263,1
    - Dst: tls_digest_byname
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:264,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:265,1
    - Dst: OpenSSL_version_num
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:268,1
    - Dst: CHECK_OK_AND_DIGEST_CHARS
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:270,1
    - Dst: CHECK_OK_AND_DIGEST_OBJECT
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:271,1
    - Dst: CHECK_OK_AND_DIGEST_CHARS
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:272,1
    - Dst: CHECK_OK_AND_DIGEST_CHARS
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:273,1
    - Dst: CHECK_OK_AND_DIGEST_OBJECT
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:276,1
    - Dst: CHECK_OK_AND_DIGEST_OBJECT
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:284,1
    - Dst: CHECK_OK_AND
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:292,1
    - Dst: tls_digest_tlsa
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:292,1
    - Dst: CHECK_OK_AND_DIGEST_OBJECT
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:296,1
    - Dst: CHECK_OK_AND_DIGEST_CHARS
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:304,1
    - Dst: CHECK_OK_AND_DIGEST_CHARS
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:306,1
    - Dst: CHECK_OK_AND
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:308,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:308,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:309,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:311,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:315,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:328,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:328,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:329,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:330,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:332,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:333,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:335,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:336,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - TLScontext
    - props
    - ciphers
    argTypes:
    - TLS_SESS_STATE*
    - TLS_CLIENT_START_PROPS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 337
    functionName: tls_serverid_digest
    functionSourceFile: /src/postfix/postfix/src/tls/tls_fprint.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - OpenSSL_version_num
    - VSTRING_ADDCH
    - vstring_export
    - strlen
    - CHECK_OK_AND
    - CHECK_OK_AND_DIGEST_CHARS
    - vstring_alloc
    - CHECK_OK_AND_DIGEST_OBJECT
    - tls_digest_tlsa
    - EVP_DigestFinal_ex
    - tls_digest_byname
    - VSTRING_TERMINATE
    - EVP_MD_CTX_destroy
    - vstring_strcpy
    - msg_fatal
    linkageType: ''
    returnType: char
    signature: "char *tls_serverid_digest(TLS_SESS_STATE *TLScontext,\n\t\t\t            const
      TLS_CLIENT_START_PROPS *props,\n\t\t\t            const char *ciphers)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:344,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - md_buf
    - md_len
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 357
    functionName: tls_digest_encode
    functionSourceFile: /src/postfix/postfix/src/tls/tls_fprint.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - msg_panic
    linkageType: ''
    returnType: char
    signature: char *tls_digest_encode(const unsigned char *md_buf, int md_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tls_digest_byname
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:369,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:370,1
    - Dst: CHECK_OK_AND_DIGEST_DATA
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:372,1
    - Dst: CHECK_OK_AND
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:373,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:373,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:374,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:376,1
    - Dst: tls_digest_encode
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - len
    - mdalg
    argTypes:
    - unsigned char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 379
    functionName: tls_data_fprint
    functionSourceFile: /src/postfix/postfix/src/tls/tls_fprint.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - CHECK_OK_AND
    - EVP_DigestFinal_ex
    - tls_digest_encode
    - tls_digest_byname
    - EVP_MD_CTX_destroy
    - CHECK_OK_AND_DIGEST_DATA
    - msg_fatal
    linkageType: ''
    returnType: char
    signature: char *tls_data_fprint(const unsigned char *buf, int len, const char
      *mdalg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: i2d_X509
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:390,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:391,1
    - Dst: i2d_X509
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:392,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:394,1
    - Dst: tls_data_fprint
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:396,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - peercert
    - mdalg
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 383
    functionDepth: 3
    functionLinenumber: 383
    functionLinenumberEnd: 400
    functionName: tls_cert_fprint
    functionSourceFile: /src/postfix/postfix/src/tls/tls_fprint.c
    functionUses: 1
    functionsReached:
    - i2d_X509
    - msg_panic
    - tls_data_fprint
    - myfree
    - mymalloc
    linkageType: ''
    returnType: char
    signature: char *tls_cert_fprint(X509 *peercert, const char *mdalg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: i2d_PUBKEY
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:411,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:412,1
    - Dst: i2d_PUBKEY
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:413,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:415,1
    - Dst: tls_data_fprint
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:417,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_fprint.c:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - peerpkey
    - mdalg
    argTypes:
    - EVP_PKEY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 404
    functionDepth: 3
    functionLinenumber: 404
    functionLinenumberEnd: 420
    functionName: tls_pkey_fprint
    functionSourceFile: /src/postfix/postfix/src/tls/tls_fprint.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - tls_data_fprint
    - myfree
    - mymalloc
    - i2d_PUBKEY
    linkageType: ''
    returnType: char
    signature: char *tls_pkey_fprint(EVP_PKEY *peerpkey, const char *mdalg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - maj
    - ','
    - min
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: TLSRPT_PREREQ
    functionSourceFile: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLSRPT_PREREQ(maj, min)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: MYFREE_IF_SET
    functionSourceFile: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MYFREE_IF_SET(member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - member
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: MYFREE_IF_SET_AND_CLEAR
    functionSourceFile: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MYFREE_IF_SET_AND_CLEAR(member, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - member
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: MYFREE_IF_SET_AND_COPY
    functionSourceFile: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MYFREE_IF_SET_AND_COPY(member, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 302
    functionName: ARGV_FREE_IF_SET
    functionSourceFile: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGV_FREE_IF_SET(member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 309
    functionName: ARGV_FREE_IF_SET_AND_CLEAR
    functionSourceFile: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGV_FREE_IF_SET_AND_CLEAR(member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - member
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: ARGV_FREE_IF_SET_AND_COPY
    functionSourceFile: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGV_FREE_IF_SET_AND_COPY(member, value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:326,1
    - Dst: TLSRPT_PREREQ
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:331,1
    - Dst: tlsrpt_version_check
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:332,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:334,1
    - Dst: tlsrpt_version
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:336,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:343,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:344,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:345,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 4
    argNames:
    - rpt_socket_name
    - rpt_policy_domain
    - rpt_policy_string
    - skip_reused_hs
    argTypes:
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 358
    functionName: trw_create
    functionSourceFile: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - TLSRPT_PREREQ
    - msg_info
    - mymalloc
    - tlsrpt_version_check
    - mystrdup
    - tlsrpt_version
    linkageType: ''
    returnType: TLSRPT_WRAPPER
    signature: "TLSRPT_WRAPPER *trw_create(const char *rpt_socket_name,\n\t\t\t           const
      char *rpt_policy_domain,\n\t\t\t           const char *rpt_policy_string,\n\t\t\t
      \          int skip_reused_hs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:365,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:369,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:370,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:371,1
    - Dst: ARGV_FREE_IF_SET
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:373,1
    - Dst: MYFREE_IF_SET
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:374,1
    - Dst: ARGV_FREE_IF_SET
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:375,1
    - Dst: trw_set_tcp_connection
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:377,1
    - Dst: trw_set_ehlo_resp
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:379,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - trw
    argTypes:
    - TLSRPT_WRAPPER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 382
    functionName: trw_free
    functionSourceFile: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
    functionUses: 2
    functionsReached:
    - ARGV_FREE_IF_SET
    - trw_set_ehlo_resp
    - trw_set_tcp_connection
    - msg_info
    - myfree
    - MYFREE_IF_SET
    linkageType: ''
    returnType: void
    signature: void trw_free(TLSRPT_WRAPPER *trw)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:398,1
    - Dst: PSTR_OR_NULL
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:401,1
    - Dst: STR_OR_NULL
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:402,1
    - Dst: PSTR_OR_NULL
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:403,1
    - Dst: MYFREE_IF_SET_AND_COPY
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:406,1
    - Dst: ARGV_FREE_IF_SET_AND_CLEAR
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:408,1
    - Dst: ARGV_FREE_IF_SET_AND_CLEAR
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:409,1
    - Dst: ARGV_FREE_IF_SET_AND_COPY
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:411,1
    - Dst: ARGV_FREE_IF_SET_AND_COPY
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:412,1
    - Dst: trw_set_tcp_connection
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:415,1
    - Dst: trw_set_ehlo_resp
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - trw
    - tls_policy_type
    - tls_policy_strings
    - tls_policy_domain
    - mx_host_patterns
    argTypes:
    - TLSRPT_WRAPPER*
    - tlsrpt_policy_type_t
    - char**
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 417
    functionName: trw_set_tls_policy
    functionSourceFile: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
    functionUses: 0
    functionsReached:
    - trw_set_ehlo_resp
    - trw_set_tcp_connection
    - msg_info
    - ARGV_FREE_IF_SET_AND_COPY
    - STR_OR_NULL
    - MYFREE_IF_SET_AND_COPY
    - ARGV_FREE_IF_SET_AND_CLEAR
    - PSTR_OR_NULL
    linkageType: ''
    returnType: void
    signature: "void trw_set_tls_policy(TLSRPT_WRAPPER *trw,\n\t\t\t           tlsrpt_policy_type_t
      tls_policy_type,\n\t\t\t           const char *const * tls_policy_strings,\n\t\t\t
      \          const char *tls_policy_domain,\n\t\t\t           const char *const
      * mx_host_patterns)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 395
    functionName: STR_OR_NULL
    functionSourceFile: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_OR_NULL(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 396
    functionName: PSTR_OR_NULL
    functionSourceFile: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSTR_OR_NULL(p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:429,1
    - Dst: STR_OR_NULL
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:430,1
    - Dst: STR_OR_NULL
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:431,1
    - Dst: STR_OR_NULL
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:431,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:439,1
    - Dst: MYFREE_IF_SET_AND_COPY
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:442,1
    - Dst: MYFREE_IF_SET_AND_COPY
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:443,1
    - Dst: MYFREE_IF_SET_AND_COPY
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:444,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - trw
    - snd_mta_addr
    - rcv_mta_name
    - rcv_mta_addr
    argTypes:
    - TLSRPT_WRAPPER*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 445
    functionName: trw_set_tcp_connection
    functionSourceFile: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
    functionUses: 2
    functionsReached:
    - STR_OR_NULL
    - msg_warn
    - MYFREE_IF_SET_AND_COPY
    - msg_info
    linkageType: ''
    returnType: void
    signature: "void trw_set_tcp_connection(TLSRPT_WRAPPER *trw,\n\t\t\t               const
      char *snd_mta_addr,\n\t\t\t               const char *rcv_mta_name,\n\t\t\t
      \              const char *rcv_mta_addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:454,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:461,1
    - Dst: MYFREE_IF_SET_AND_COPY
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:464,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - trw
    - rcv_mta_ehlo
    argTypes:
    - TLSRPT_WRAPPER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 465
    functionName: trw_set_ehlo_resp
    functionSourceFile: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
    functionUses: 2
    functionsReached:
    - msg_warn
    - MYFREE_IF_SET_AND_COPY
    - msg_info
    linkageType: ''
    returnType: void
    signature: void trw_set_ehlo_resp(TLSRPT_WRAPPER *trw, const char *rcv_mta_ehlo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlsrpt_error_code_is_internal
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:483,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:484,1
    - Dst: tlsrpt_strerror
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:485,1
    - Dst: tlsrpt_errno_from_error_code
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:495,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:496,1
    - Dst: mystrerror
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:497,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:499,1
    - Dst: tlsrpt_strerror
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - libtlsrpt_errorcode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 505
    functionName: trw_munge_report_result
    functionSourceFile: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - mystrerror
    - tlsrpt_error_code_is_internal
    - tlsrpt_strerror
    - tlsrpt_errno_from_error_code
    linkageType: ''
    returnType: int
    signature: int trw_munge_report_result(int libtlsrpt_errorcode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: str_name_code
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:529,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:531,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:532,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:533,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - failure_type
    argTypes:
    - tlsrpt_failure_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 537
    functionName: trw_failure_type_to_string
    functionSourceFile: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - msg_warn
    - vstring_alloc
    - str_name_code
    - vstring_str
    linkageType: ''
    returnType: char
    signature: char *trw_failure_type_to_string(tlsrpt_failure_t failure_type)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:551,1
    - Dst: STR_OR_NULL
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:552,1
    - Dst: STR_OR_NULL
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:553,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:559,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:574,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:580,1
    - Dst: trw_failure_type_to_string
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:583,1
    - Dst: tlsrpt_open
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:587,1
    - Dst: tlsrpt_init_delivery_request
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:591,1
    - Dst: tlsrpt_init_policy
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:594,1
    - Dst: tlsrpt_add_policy_string
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:599,1
    - Dst: tlsrpt_add_mx_host_pattern
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:603,1
    - Dst: tlsrpt_add_delivery_request_failure
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:605,1
    - Dst: tlsrpt_finish_policy
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:614,1
    - Dst: tlsrpt_finish_delivery_request
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:617,1
    - Dst: tlsrpt_cancel_delivery_request
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:619,1
    - Dst: tlsrpt_close
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:622,1
    - Dst: trw_munge_report_result
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:624,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 4
    argNames:
    - trw
    - failure_type
    - additional_info
    - failure_reason
    argTypes:
    - TLSRPT_WRAPPER*
    - tlsrpt_failure_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 541
    functionDepth: 2
    functionLinenumber: 541
    functionLinenumberEnd: 625
    functionName: trw_report_failure
    functionSourceFile: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
    functionUses: 1
    functionsReached:
    - tlsrpt_finish_policy
    - msg_warn
    - tlsrpt_finish_delivery_request
    - tlsrpt_add_mx_host_pattern
    - trw_munge_report_result
    - msg_info
    - tlsrpt_init_delivery_request
    - STR_OR_NULL
    - tlsrpt_open
    - tlsrpt_cancel_delivery_request
    - tlsrpt_add_policy_string
    - tlsrpt_close
    - trw_failure_type_to_string
    - tlsrpt_add_delivery_request_failure
    - tlsrpt_init_policy
    linkageType: ''
    returnType: int
    signature: "int trw_report_failure(TLSRPT_WRAPPER *trw,\n\t\t\t           tlsrpt_failure_t
      failure_type,\n\t\t\t           const char *additional_info,\n\t\t\t           const
      char *failure_reason)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:636,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:642,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:647,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:653,1
    - Dst: tlsrpt_open
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:656,1
    - Dst: tlsrpt_init_delivery_request
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:659,1
    - Dst: tlsrpt_init_policy
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:662,1
    - Dst: tlsrpt_add_policy_string
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:669,1
    - Dst: tlsrpt_add_mx_host_pattern
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:673,1
    - Dst: tlsrpt_finish_policy
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:675,1
    - Dst: tlsrpt_finish_delivery_request
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:678,1
    - Dst: tlsrpt_cancel_delivery_request
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:680,1
    - Dst: tlsrpt_close
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:683,1
    - Dst: trw_munge_report_result
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:685,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 1
    argNames:
    - trw
    argTypes:
    - TLSRPT_WRAPPER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 629
    functionDepth: 2
    functionLinenumber: 629
    functionLinenumberEnd: 686
    functionName: trw_report_success
    functionSourceFile: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
    functionUses: 0
    functionsReached:
    - tlsrpt_finish_policy
    - msg_warn
    - tlsrpt_add_mx_host_pattern
    - trw_munge_report_result
    - tlsrpt_init_delivery_request
    - msg_info
    - tlsrpt_cancel_delivery_request
    - tlsrpt_open
    - tlsrpt_close
    - tlsrpt_add_policy_string
    - tlsrpt_finish_delivery_request
    - tlsrpt_init_policy
    linkageType: ''
    returnType: int
    signature: int trw_report_success(TLSRPT_WRAPPER *trw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - trw
    argTypes:
    - TLSRPT_WRAPPER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 693
    functionName: trw_is_reported
    functionSourceFile: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int trw_is_reported(const TLSRPT_WRAPPER *trw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - trw
    argTypes:
    - TLSRPT_WRAPPER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 700
    functionName: trw_is_skip_reused_hs
    functionSourceFile: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int trw_is_skip_reused_hs(const TLSRPT_WRAPPER *trw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name_code
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - policy_type
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 744
    functionName: valid_tlsrpt_policy_type
    functionSourceFile: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
    functionUses: 0
    functionsReached:
    - name_code
    linkageType: ''
    returnType: int
    signature: int valid_tlsrpt_policy_type(const char *policy_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name_code
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - policy_failure
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 752
    functionName: valid_tlsrpt_policy_failure
    functionSourceFile: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
    functionUses: 0
    functionsReached:
    - name_code
    linkageType: ''
    returnType: int
    signature: int valid_tlsrpt_policy_failure(const char *policy_failure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name_code
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - policy_type
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 762
    functionName: convert_tlsrpt_policy_type
    functionSourceFile: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
    functionUses: 0
    functionsReached:
    - name_code
    linkageType: ''
    returnType: tlsrpt_policy_type_t
    signature: tlsrpt_policy_type_t convert_tlsrpt_policy_type(const char *policy_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name_code
      Src: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - policy_failure
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 770
    functionName: convert_tlsrpt_policy_failure
    functionSourceFile: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
    functionUses: 0
    functionsReached:
    - name_code
    linkageType: ''
    returnType: tlsrpt_failure_t
    signature: tlsrpt_failure_t convert_tlsrpt_policy_failure(const char *policy_failure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:64,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:65,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:66,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:67,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:68,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:69,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:70,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:71,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:72,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:73,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:75,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:77,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:78,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:79,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:80,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:81,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:83,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:85,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:86,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:87,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:88,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:89,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:91,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:93,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:95,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:96,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:97,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:98,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:99,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:101,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:102,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:103,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:104,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:105,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:106,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:107,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:109,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:110,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:111,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:112,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_print.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - print_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_PRINT_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 118
    functionName: tls_proxy_context_print
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_context_print.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_STR
    - print_fn
    - STRING_OR_EMPTY
    - SEND_ATTR_INT
    linkageType: ''
    returnType: int
    signature: "int tls_proxy_context_print(ATTR_PRINT_COMMON_FN print_fn, VSTREAM
      *fp,\n\t\t\t\t        int flags, const void *ptr)"
  - 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: STRING_OR_EMPTY
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_context_print.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRING_OR_EMPTY(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - retval
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: NORMALIZED_VSTREAM_RETURN
    functionSourceFile: /src/postfix/postfix/src/tls/tls_stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NORMALIZED_VSTREAM_RETURN(retval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tls/tls_stream.c:103,1
    - Dst: tls_bio_read
      Src: /src/postfix/postfix/src/tls/tls_stream.c:105,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_stream.c:107,1
    - Dst: NORMALIZED_VSTREAM_RETURN
      Src: /src/postfix/postfix/src/tls/tls_stream.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - fd
    - buf
    - len
    - timeout
    - context
    argTypes:
    - int
    - void*
    - size_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 110
    functionName: tls_timed_read
    functionSourceFile: /src/postfix/postfix/src/tls/tls_stream.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - NORMALIZED_VSTREAM_RETURN
    - tls_bio_read
    - msg_info
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t tls_timed_read(int fd, void *buf, size_t len, int timeout,\n\t\t\t
      \             void *context)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tls/tls_stream.c:123,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_stream.c:126,1
    - Dst: tls_bio_write
      Src: /src/postfix/postfix/src/tls/tls_stream.c:128,1
    - Dst: NORMALIZED_VSTREAM_RETURN
      Src: /src/postfix/postfix/src/tls/tls_stream.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - fd
    - buf
    - len
    - timeout
    - context
    argTypes:
    - int
    - void*
    - size_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 130
    functionName: tls_timed_write
    functionSourceFile: /src/postfix/postfix/src/tls/tls_stream.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - tls_bio_write
    - NORMALIZED_VSTREAM_RETURN
    - msg_info
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t tls_timed_write(int fd, void *buf, size_t len, int timeout,\n\t\t\t
      \              void *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/tls/tls_stream.c:136,1
    - Dst: CA_VSTREAM_CTL_READ_FN
      Src: /src/postfix/postfix/src/tls/tls_stream.c:137,1
    - Dst: CA_VSTREAM_CTL_WRITE_FN
      Src: /src/postfix/postfix/src/tls/tls_stream.c:138,1
    - Dst: CA_VSTREAM_CTL_CONTEXT
      Src: /src/postfix/postfix/src/tls/tls_stream.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - context
    argTypes:
    - VSTREAM*
    - TLS_SESS_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: tls_stream_start
    functionSourceFile: /src/postfix/postfix/src/tls/tls_stream.c
    functionUses: 1
    functionsReached:
    - vstream_control
    - CA_VSTREAM_CTL_CONTEXT
    - CA_VSTREAM_CTL_WRITE_FN
    - CA_VSTREAM_CTL_READ_FN
    linkageType: ''
    returnType: void
    signature: void tls_stream_start(VSTREAM *stream, TLS_SESS_STATE *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/tls/tls_stream.c:153,1
    - Dst: CA_VSTREAM_CTL_READ_FN
      Src: /src/postfix/postfix/src/tls/tls_stream.c:154,1
    - Dst: CA_VSTREAM_CTL_WRITE_FN
      Src: /src/postfix/postfix/src/tls/tls_stream.c:155,1
    - Dst: CA_VSTREAM_CTL_CONTEXT
      Src: /src/postfix/postfix/src/tls/tls_stream.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 158
    functionName: tls_stream_stop
    functionSourceFile: /src/postfix/postfix/src/tls/tls_stream.c
    functionUses: 1
    functionsReached:
    - vstream_control
    - CA_VSTREAM_CTL_CONTEXT
    - CA_VSTREAM_CTL_WRITE_FN
    - CA_VSTREAM_CTL_READ_FN
    linkageType: ''
    returnType: void
    signature: void tls_stream_stop(VSTREAM *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_set_error
      Src: /src/postfix/postfix/src/tls/tls_verify.c:139,1
    - Dst: X509_free
      Src: /src/postfix/postfix/src/tls/tls_verify.c:151,1
    - Dst: X509_up_ref
      Src: /src/postfix/postfix/src/tls/tls_verify.c:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - ctx
    - TLScontext
    - depth
    - errorcert
    - errorcode
    argTypes:
    - X509_STORE_CTX*
    - TLS_SESS_STATE*
    - int
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 157
    functionName: update_error_state
    functionSourceFile: /src/postfix/postfix/src/tls/tls_verify.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_set_error
    - X509_free
    - X509_up_ref
    linkageType: ''
    returnType: void
    signature: "void update_error_state(X509_STORE_CTX *ctx, TLS_SESS_STATE *TLScontext,\n\t\t\t
      \         int depth, X509 *errorcert, int errorcode)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/postfix/postfix/src/tls/tls_verify.c:172,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/postfix/postfix/src/tls/tls_verify.c:173,1
    - Dst: X509_STORE_CTX_get_ex_data
      Src: /src/postfix/postfix/src/tls/tls_verify.c:174,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/postfix/postfix/src/tls/tls_verify.c:174,1
    - Dst: SSL_get_ex_data
      Src: /src/postfix/postfix/src/tls/tls_verify.c:175,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/postfix/postfix/src/tls/tls_verify.c:176,1
    - Dst: OPENSSL_VERSION_PREREQ
      Src: /src/postfix/postfix/src/tls/tls_verify.c:177,1
    - Dst: X509_STORE_CTX_get0_rpk
      Src: /src/postfix/postfix/src/tls/tls_verify.c:179,1
    - Dst: X509_STORE_CTX_set_error
      Src: /src/postfix/postfix/src/tls/tls_verify.c:195,1
    - Dst: update_error_state
      Src: /src/postfix/postfix/src/tls/tls_verify.c:196,1
    - Dst: update_error_state
      Src: /src/postfix/postfix/src/tls/tls_verify.c:201,1
    - Dst: X509_NAME_oneline
      Src: /src/postfix/postfix/src/tls/tls_verify.c:205,1
    - Dst: X509_get_subject_name
      Src: /src/postfix/postfix/src/tls/tls_verify.c:205,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_verify.c:206,1
    - Dst: printable
      Src: /src/postfix/postfix/src/tls/tls_verify.c:207,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_verify.c:209,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_verify.c:211,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 215
    functionName: tls_verify_certificate_callback
    functionSourceFile: /src/postfix/postfix/src/tls/tls_verify.c
    functionUses: 0
    functionsReached:
    - printable
    - X509_STORE_CTX_get_error
    - X509_get_subject_name
    - X509_NAME_oneline
    - X509_STORE_CTX_get_ex_data
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - msg_info
    - X509_STORE_CTX_get0_rpk
    - X509_STORE_CTX_get_error_depth
    - OPENSSL_VERSION_PREREQ
    - X509_STORE_CTX_set_error
    - update_error_state
    - X509_STORE_CTX_get_current_cert
    - SSL_get_ex_data
    linkageType: ''
    returnType: int
    signature: int tls_verify_certificate_callback(int ok, X509_STORE_CTX *ctx)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_verify.c:228,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_verify.c:245,1
    - Dst: convert_tlsrpt_policy_failure
      Src: /src/postfix/postfix/src/tls/tls_verify.c:252,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tls/tls_verify.c:253,1
    - Dst: trw_report_failure
      Src: /src/postfix/postfix/src/tls/tls_verify.c:255,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_verify.c:273,1
    - Dst: trw_report_failure
      Src: /src/postfix/postfix/src/tls/tls_verify.c:277,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_verify.c:283,1
    - Dst: trw_report_failure
      Src: /src/postfix/postfix/src/tls/tls_verify.c:287,1
    - Dst: CERT_ERROR_TO_STRING
      Src: /src/postfix/postfix/src/tls/tls_verify.c:289,1
    - Dst: X509_NAME_oneline
      Src: /src/postfix/postfix/src/tls/tls_verify.c:301,1
    - Dst: X509_get_issuer_name
      Src: /src/postfix/postfix/src/tls/tls_verify.c:301,1
    - Dst: strcpy
      Src: /src/postfix/postfix/src/tls/tls_verify.c:303,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_verify.c:304,1
    - Dst: printable
      Src: /src/postfix/postfix/src/tls/tls_verify.c:305,1
    - Dst: trw_report_failure
      Src: /src/postfix/postfix/src/tls/tls_verify.c:308,1
    - Dst: CERT_ERROR_TO_STRING
      Src: /src/postfix/postfix/src/tls/tls_verify.c:310,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_verify.c:315,1
    - Dst: trw_report_failure
      Src: /src/postfix/postfix/src/tls/tls_verify.c:319,1
    - Dst: CERT_ERROR_TO_STRING
      Src: /src/postfix/postfix/src/tls/tls_verify.c:321,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_verify.c:326,1
    - Dst: trw_report_failure
      Src: /src/postfix/postfix/src/tls/tls_verify.c:330,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_verify.c:336,1
    - Dst: trw_report_failure
      Src: /src/postfix/postfix/src/tls/tls_verify.c:340,1
    - Dst: CERT_ERROR_TO_STRING
      Src: /src/postfix/postfix/src/tls/tls_verify.c:342,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_verify.c:346,1
    - Dst: trw_report_failure
      Src: /src/postfix/postfix/src/tls/tls_verify.c:351,1
    - Dst: CERT_ERROR_TO_STRING
      Src: /src/postfix/postfix/src/tls/tls_verify.c:353,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_verify.c:357,1
    - Dst: X509_verify_cert_error_string
      Src: /src/postfix/postfix/src/tls/tls_verify.c:359,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/tls/tls_verify.c:363,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 2
    argNames:
    - TLScontext
    - tlsrpt
    argTypes:
    - TLS_SESS_STATE*
    - struct TLSRPT_WRAPPER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 365
    functionName: tls_log_verify_error
    functionSourceFile: /src/postfix/postfix/src/tls/tls_verify.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - X509_get_issuer_name
    - printable
    - X509_verify_cert_error_string
    - trw_report_failure
    - convert_tlsrpt_policy_failure
    - CERT_ERROR_TO_STRING
    - X509_NAME_oneline
    - vstring_alloc
    - msg_info
    - strcpy
    - vstring_free
    linkageType: ''
    returnType: void
    signature: "void tls_log_verify_error(TLS_SESS_STATE *TLScontext,\n\t\t\t             struct
      TLSRPT_WRAPPER *tlsrpt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: CERT_ERROR_TO_STRING
    functionSourceFile: /src/postfix/postfix/src/tls/tls_verify.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CERT_ERROR_TO_STRING(err)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/postfix/postfix/src/tls/tls_verify.c:387,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_verify.c:389,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_verify.c:391,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/postfix/postfix/src/tls/tls_verify.c:401,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_verify.c:402,1
    - Dst: X509_NAME_get_entry
      Src: /src/postfix/postfix/src/tls/tls_verify.c:408,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_verify.c:410,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_verify.c:412,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/postfix/postfix/src/tls/tls_verify.c:415,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_verify.c:417,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_verify.c:419,1
    - Dst: ASN1_STRING_type
      Src: /src/postfix/postfix/src/tls/tls_verify.c:434,1
    - Dst: ASN1_STRING_to_UTF8
      Src: /src/postfix/postfix/src/tls/tls_verify.c:435,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_verify.c:436,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_verify.c:438,1
    - Dst: TRIM0
      Src: /src/postfix/postfix/src/tls/tls_verify.c:458,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_verify.c:465,1
    - Dst: TLS_TEXT_NAME_RETURN
      Src: /src/postfix/postfix/src/tls/tls_verify.c:467,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/tls/tls_verify.c:474,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_verify.c:475,1
    - Dst: TLS_TEXT_NAME_RETURN
      Src: /src/postfix/postfix/src/tls/tls_verify.c:477,1
    - Dst: ISASCII
      Src: /src/postfix/postfix/src/tls/tls_verify.c:488,1
    - Dst: ISPRINT
      Src: /src/postfix/postfix/src/tls/tls_verify.c:488,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_verify.c:489,1
    - Dst: TLS_TEXT_NAME_RETURN
      Src: /src/postfix/postfix/src/tls/tls_verify.c:491,1
    - Dst: TLS_TEXT_NAME_RETURN
      Src: /src/postfix/postfix/src/tls/tls_verify.c:494,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_verify.c:494,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 5
    argNames:
    - name
    - nid
    - label
    - TLScontext
    - gripe
    argTypes:
    - X509_NAME*
    - int
    - char*
    - TLS_SESS_STATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 495
    functionName: tls_text_name
    functionSourceFile: /src/postfix/postfix/src/tls/tls_verify.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_type
    - msg_warn
    - strlen
    - ISPRINT
    - TRIM0
    - tls_print_errors
    - ISASCII
    - mystrdup
    - ASN1_STRING_to_UTF8
    - TLS_TEXT_NAME_RETURN
    - X509_NAME_get_entry
    - X509_NAME_get_index_by_NID
    - X509_NAME_ENTRY_get_data
    linkageType: ''
    returnType: char
    signature: "char *tls_text_name(X509_NAME *name, int nid, const char *label,\n\t\t\t
      \       const TLS_SESS_STATE *TLScontext, int gripe)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 451
    functionName: TLS_TEXT_NAME_RETURN
    functionSourceFile: /src/postfix/postfix/src/tls/tls_verify.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_TEXT_NAME_RETURN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 457
    functionName: TRIM0
    functionSourceFile: /src/postfix/postfix/src/tls/tls_verify.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRIM0(s, l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls_text_name
      Src: /src/postfix/postfix/src/tls/tls_verify.c:505,1
    - Dst: X509_get_subject_name
      Src: /src/postfix/postfix/src/tls/tls_verify.c:505,1
    - Dst: SSL_get0_peername
      Src: /src/postfix/postfix/src/tls/tls_verify.c:507,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_verify.c:508,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_verify.c:509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - peercert
    - TLScontext
    argTypes:
    - X509*
    - TLS_SESS_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 499
    functionDepth: 3
    functionLinenumber: 499
    functionLinenumberEnd: 510
    functionName: tls_peer_CN
    functionSourceFile: /src/postfix/postfix/src/tls/tls_verify.c
    functionUses: 1
    functionsReached:
    - X509_get_subject_name
    - mystrdup
    - tls_text_name
    - SSL_get0_peername
    linkageType: ''
    returnType: char
    signature: char *tls_peer_CN(X509 *peercert, const TLS_SESS_STATE *TLScontext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_issuer_name
      Src: /src/postfix/postfix/src/tls/tls_verify.c:519,1
    - Dst: tls_text_name
      Src: /src/postfix/postfix/src/tls/tls_verify.c:525,1
    - Dst: tls_text_name
      Src: /src/postfix/postfix/src/tls/tls_verify.c:527,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_verify.c:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - peer
    - TLScontext
    argTypes:
    - X509*
    - TLS_SESS_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 514
    functionDepth: 3
    functionLinenumber: 514
    functionLinenumberEnd: 530
    functionName: tls_issuer_CN
    functionSourceFile: /src/postfix/postfix/src/tls/tls_verify.c
    functionUses: 1
    functionsReached:
    - X509_get_issuer_name
    - mystrdup
    - tls_text_name
    linkageType: ''
    returnType: char
    signature: char *tls_issuer_CN(X509 *peer, const TLS_SESS_STATE *TLScontext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/postfix/postfix/src/tls/tls_dh.c:159,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/postfix/postfix/src/tls/tls_dh.c:163,1
    - Dst: EVP_PKEY_free
      Src: /src/postfix/postfix/src/tls/tls_dh.c:166,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dh.c:167,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_dh.c:168,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/postfix/postfix/src/tls/tls_dh.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 171
    functionName: load_builtin
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dh.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_CTX_new_for_pkey
    - msg_warn
    - OSSL_DECODER_from_data
    - tls_print_errors
    - OSSL_DECODER_CTX_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void load_builtin(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/postfix/postfix/src/tls/tls_dh.c:186,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_dh.c:189,1
    - Dst: fopen
      Src: /src/postfix/postfix/src/tls/tls_dh.c:192,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dh.c:193,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/postfix/postfix/src/tls/tls_dh.c:197,1
    - Dst: OSSL_DECODER_from_fp
      Src: /src/postfix/postfix/src/tls/tls_dh.c:200,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dh.c:201,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_dh.c:203,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/postfix/postfix/src/tls/tls_dh.c:207,1
    - Dst: fclose
      Src: /src/postfix/postfix/src/tls/tls_dh.c:208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 209
    functionName: tls_set_dh_from_file
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dh.c
    functionUses: 1
    functionsReached:
    - OSSL_DECODER_CTX_new_for_pkey
    - msg_warn
    - OSSL_DECODER_from_fp
    - tls_print_errors
    - OSSL_DECODER_CTX_free
    - strcmp
    - fopen
    - fclose
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void tls_set_dh_from_file(const char *path)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: load_builtin
      Src: /src/postfix/postfix/src/tls/tls_dh.c:216,1
    - Dst: EVP_PKEY_dup
      Src: /src/postfix/postfix/src/tls/tls_dh.c:220,1
    - Dst: SSL_CTX_set0_tmp_dh_pkey
      Src: /src/postfix/postfix/src/tls/tls_dh.c:222,1
    - Dst: EVP_PKEY_free
      Src: /src/postfix/postfix/src/tls/tls_dh.c:224,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dh.c:225,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_dh.c:226,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/postfix/postfix/src/tls/tls_dh.c:228,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dh.c:230,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_dh.c:231,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - useauto
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 233
    functionName: tls_tmp_dh
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dh.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - SSL_CTX_set0_tmp_dh_pkey
    - tls_print_errors
    - SSL_CTX_set_dh_auto
    - load_builtin
    - EVP_PKEY_dup
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void tls_tmp_dh(SSL_CTX *ctx, int useauto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_DHparams
      Src: /src/postfix/postfix/src/tls/tls_dh.c:246,1
    - Dst: DH_free
      Src: /src/postfix/postfix/src/tls/tls_dh.c:250,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dh.c:251,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_dh.c:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 254
    functionName: load_builtin
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dh.c
    functionUses: 1
    functionsReached:
    - tls_print_errors
    - DH_free
    - msg_warn
    - d2i_DHparams
    linkageType: ''
    returnType: void
    signature: void load_builtin(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DH_free
      Src: /src/postfix/postfix/src/tls/tls_dh.c:267,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_dh.c:275,1
    - Dst: fopen
      Src: /src/postfix/postfix/src/tls/tls_dh.c:278,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dh.c:279,1
    - Dst: PEM_read_DHparams
      Src: /src/postfix/postfix/src/tls/tls_dh.c:283,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dh.c:284,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_dh.c:286,1
    - Dst: fclose
      Src: /src/postfix/postfix/src/tls/tls_dh.c:288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 289
    functionName: tls_set_dh_from_file
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dh.c
    functionUses: 1
    functionsReached:
    - DH_free
    - msg_warn
    - tls_print_errors
    - PEM_read_DHparams
    - strcmp
    - fopen
    - fclose
    linkageType: ''
    returnType: void
    signature: void tls_set_dh_from_file(const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load_builtin
      Src: /src/postfix/postfix/src/tls/tls_dh.c:296,1
    - Dst: SSL_CTX_set_tmp_dh
      Src: /src/postfix/postfix/src/tls/tls_dh.c:297,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dh.c:299,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_dh.c:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - useauto
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 301
    functionName: tls_tmp_dh
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dh.c
    functionUses: 1
    functionsReached:
    - tls_print_errors
    - msg_warn
    - load_builtin
    - SSL_CTX_set_tmp_dh
    linkageType: ''
    returnType: void
    signature: void tls_tmp_dh(SSL_CTX *ctx, int useauto)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/postfix/postfix/src/tls/tls_dh.c:323,1
    - Dst: TLS_method
      Src: /src/postfix/postfix/src/tls/tls_dh.c:323,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dh.c:324,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_dh.c:325,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_dh.c:329,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/tls/tls_dh.c:331,1
    - Dst: been_here_init
      Src: /src/postfix/postfix/src/tls/tls_dh.c:344,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/tls/tls_dh.c:354,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/tls/tls_dh.c:355,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dh.c:356,1
    - Dst: SETUP_AG_RETURN
      Src: /src/postfix/postfix/src/tls/tls_dh.c:358,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/tls/tls_dh.c:360,1
    - Dst: ERR_set_mark
      Src: /src/postfix/postfix/src/tls/tls_dh.c:368,1
    - Dst: SSL_CTX_set1_curves_list
      Src: /src/postfix/postfix/src/tls/tls_dh.c:369,1
    - Dst: been_here_fixed
      Src: /src/postfix/postfix/src/tls/tls_dh.c:370,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/tls/tls_dh.c:371,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/tls/tls_dh.c:372,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/tls/tls_dh.c:373,1
    - Dst: ERR_pop_to_mark
      Src: /src/postfix/postfix/src/tls/tls_dh.c:375,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/tls/tls_dh.c:378,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dh.c:380,1
    - Dst: SETUP_AG_RETURN
      Src: /src/postfix/postfix/src/tls/tls_dh.c:381,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/tls/tls_dh.c:383,1
    - Dst: SSL_CTX_set1_curves_list
      Src: /src/postfix/postfix/src/tls/tls_dh.c:385,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/tls/tls_dh.c:385,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dh.c:386,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_dh.c:387,1
    - Dst: SETUP_AG_RETURN
      Src: /src/postfix/postfix/src/tls/tls_dh.c:388,1
    - Dst: SETUP_AG_RETURN
      Src: /src/postfix/postfix/src/tls/tls_dh.c:390,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 4
    argNames:
    - ctx
    - origin
    - eecdh
    - ffdhe
    argTypes:
    - SSL_CTX*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 392
    functionName: setup_auto_groups
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dh.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - SSL_CTX_new
    - VSTRING_LEN
    - tls_print_errors
    - SETUP_AG_RETURN
    - VSTRING_RESET
    - ERR_set_mark
    - been_here_init
    - SSL_CTX_set1_curves_list
    - TLS_method
    - ERR_pop_to_mark
    - vstring_alloc
    - vstring_strcat
    - mystrtok
    - concatenate
    - vstring_str
    - been_here_fixed
    - VSTRING_TERMINATE
    - msg_warn
    linkageType: ''
    returnType: int
    signature: "int setup_auto_groups(SSL_CTX *ctx, const char *origin,\n\t\t\t             const
      char *eecdh,\n\t\t\t             const char *ffdhe)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 353
    functionName: SETUP_AG_RETURN
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dh.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETUP_AG_RETURN(val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_VERSION_PREREQ
      Src: /src/postfix/postfix/src/tls/tls_dh.c:398,1
    - Dst: setup_auto_groups
      Src: /src/postfix/postfix/src/tls/tls_dh.c:420,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_dh.c:424,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_dh.c:425,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dh.c:426,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_dh.c:434,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - eecdh
    - ffdhe
    argTypes:
    - SSL_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 394
    functionDepth: 3
    functionLinenumber: 394
    functionLinenumberEnd: 438
    functionName: tls_auto_groups
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dh.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - strcmp
    - OPENSSL_VERSION_PREREQ
    - setup_auto_groups
    linkageType: ''
    returnType: void
    signature: void tls_auto_groups(SSL_CTX *ctx, const char *eecdh, const char *ffdhe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_tmp_dh
      Src: /src/postfix/postfix/src/tls/tls_dh.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 442
    functionDepth: 4
    functionLinenumber: 442
    functionLinenumberEnd: 446
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/tls/tls_dh.c
    functionUses: 5
    functionsReached:
    - tls_tmp_dh
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - st
    - ctx
    - ssl
    - origin
    argTypes:
    - pem_load_state_t*
    - SSL_CTX*
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: init_pem_load_state
    functionSourceFile: /src/postfix/postfix/src/tls/tls_certkey.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void init_pem_load_state(pem_load_state_t *st, SSL_CTX *ctx, SSL *ssl,\n\t\t\t\t
      \       const char *origin)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_use_cert_and_key
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:163,1
    - Dst: SSL_use_cert_and_key
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:166,1
    - Dst: X509_free
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:173,1
    - Dst: EVP_PKEY_free
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:175,1
    - Dst: sk_X509_pop_free
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - st
    argTypes:
    - pem_load_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 181
    functionName: use_chain
    functionSourceFile: /src/postfix/postfix/src/tls/tls_certkey.c
    functionUses: 0
    functionsReached:
    - sk_X509_pop_free
    - SSL_CTX_use_cert_and_key
    - X509_free
    - SSL_use_cert_and_key
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: int use_chain(pem_load_state_t *st)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: d2i_X509
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:189,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:196,1
    - Dst: X509_free
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:198,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:203,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:209,1
    - Dst: X509_free
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:211,1
    - Dst: sk_X509_new_null
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:234,1
    - Dst: sk_X509_push
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:235,1
    - Dst: X509_free
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:236,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - st
    - buf
    - buflen
    argTypes:
    - pem_load_state_t*
    - unsigned char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 241
    functionName: load_cert
    functionSourceFile: /src/postfix/postfix/src/tls/tls_certkey.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - sk_X509_new_null
    - d2i_X509
    - X509_free
    - sk_X509_push
    linkageType: ''
    returnType: void
    signature: "void load_cert(pem_load_state_t *st, unsigned char *buf,\n\t\t              long
      buflen)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PrivateKey
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:259,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:261,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:263,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:264,1
    - Dst: use_chain
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:283,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:284,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:294,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:301,1
    - Dst: EVP_PKEY_free
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:303,1
    - Dst: EVP_PKEY_free
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:320,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:324,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:329,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:336,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 4
    argNames:
    - st
    - pkey_type
    - buf
    - buflen
    argTypes:
    - pem_load_state_t*
    - int
    - unsigned char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 340
    functionName: load_pkey
    functionSourceFile: /src/postfix/postfix/src/tls/tls_certkey.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - EVP_PKCS82PKEY
    - msg_error
    - use_chain
    - PKCS8_PRIV_KEY_INFO_free
    - d2i_PKCS8_PRIV_KEY_INFO
    - d2i_PrivateKey
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: "void load_pkey(pem_load_state_t *st, int pkey_type,\n\t\t              unsigned
      char *buf, long buflen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_bio
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:352,1
    - Dst: ERR_GET_REASON
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:353,1
    - Dst: ERR_peek_last_error
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:353,1
    - Dst: ERR_clear_error
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:356,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:360,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:361,1
    - Dst: load_cert
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:362,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:363,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:365,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:367,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:369,1
    - Dst: load_pkey
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:370,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:372,1
    - Dst: OPENSSL_free
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:374,1
    - Dst: OPENSSL_free
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:375,1
    - Dst: OPENSSL_free
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:376,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 1
    argNames:
    - st
    argTypes:
    - pem_load_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 378
    functionName: load_pem_object
    functionSourceFile: /src/postfix/postfix/src/tls/tls_certkey.c
    functionUses: 0
    functionsReached:
    - ERR_GET_REASON
    - msg_warn
    - PEM_read_bio
    - ERR_peek_last_error
    - load_pkey
    - ERR_clear_error
    - strcmp
    - load_cert
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int load_pem_object(pem_load_state_t *st)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_error
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:387,1
    - Dst: load_pem_object
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:401,1
    - Dst: BIO_free
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:411,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:422,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:427,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:430,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:434,1
    - Dst: use_chain
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:440,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:442,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:444,1
    - Dst: EVP_PKEY_free
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:448,1
    - Dst: X509_free
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:449,1
    - Dst: sk_X509_pop_free
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:450,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:452,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 2
    argNames:
    - st
    - more
    argTypes:
    - pem_load_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 382
    functionDepth: 3
    functionLinenumber: 382
    functionLinenumberEnd: 456
    functionName: load_pem_bio
    functionSourceFile: /src/postfix/postfix/src/tls/tls_certkey.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - sk_X509_pop_free
    - load_pem_object
    - tls_print_errors
    - ERR_clear_error
    - use_chain
    - EVP_PKEY_free
    - X509_free
    - BIO_free
    linkageType: ''
    returnType: int
    signature: int load_pem_bio(pem_load_state_t *st, int more)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argv_split
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:463,1
    - Dst: init_pem_load_state
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:468,1
    - Dst: BIO_new_file
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:471,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:472,1
    - Dst: load_pem_bio
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:478,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:480,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - chain_files
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 460
    functionDepth: 4
    functionLinenumber: 460
    functionLinenumberEnd: 482
    functionName: load_chain_files
    functionSourceFile: /src/postfix/postfix/src/tls/tls_certkey.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - load_pem_bio
    - init_pem_load_state
    - BIO_new_file
    - argv_free
    - argv_split
    linkageType: ''
    returnType: int
    signature: int load_chain_files(SSL_CTX *ctx, const char *chain_files)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_pem_load_state
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:490,1
    - Dst: BIO_new_file
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:491,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:492,1
    - Dst: load_pem_bio
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - file
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 486
    functionDepth: 4
    functionLinenumber: 486
    functionLinenumberEnd: 498
    functionName: load_mixed_file
    functionSourceFile: /src/postfix/postfix/src/tls/tls_certkey.c
    functionUses: 0
    functionsReached:
    - init_pem_load_state
    - BIO_new_file
    - load_pem_bio
    - msg_warn
    linkageType: ''
    returnType: int
    signature: int load_mixed_file(SSL_CTX *ctx, const char *file)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:517,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:518,1
    - Dst: CA_PATH_ARGS
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:520,1
    - Dst: CA_PATH_ARGS
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:521,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:522,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:525,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:526,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:528,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - CAfile
    - CApath
    argTypes:
    - SSL_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 533
    functionName: tls_set_ca_certificate_info
    functionSourceFile: /src/postfix/postfix/src/tls/tls_certkey.c
    functionUses: 2
    functionsReached:
    - CA_PATH_ARGS
    - tls_print_errors
    - SSL_CTX_load_verify_locations
    - msg_info
    - SSL_CTX_set_default_verify_paths
    linkageType: ''
    returnType: int
    signature: "int tls_set_ca_certificate_info(SSL_CTX *ctx, const char *CAfile,\n\t\t\t\t
      \           const char *CApath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - nextvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 515
    functionName: CA_PATH_ARGS
    functionSourceFile: /src/postfix/postfix/src/tls/tls_certkey.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_PATH_ARGS(var, nextvar)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:546,1
    - Dst: load_mixed_file
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:547,1
    - Dst: ERR_clear_error
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:555,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:556,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:557,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:559,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:562,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:563,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:565,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:572,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:573,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - cert_type
    - cert_file
    - key_file
    argTypes:
    - SSL_CTX*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 537
    functionDepth: 5
    functionLinenumber: 537
    functionLinenumberEnd: 578
    functionName: set_cert_stuff
    functionSourceFile: /src/postfix/postfix/src/tls/tls_certkey.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - load_mixed_file
    - tls_print_errors
    - SSL_CTX_check_private_key
    - ERR_clear_error
    - strcmp
    - SSL_CTX_use_certificate_chain_file
    - SSL_CTX_use_PrivateKey_file
    linkageType: ''
    returnType: int
    signature: "int set_cert_stuff(SSL_CTX *ctx, const char *cert_type,\n\t\t\t          const
      char *cert_file,\n\t\t\t          const char *key_file)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: load_chain_files
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:593,1
    - Dst: set_cert_stuff
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:599,1
    - Dst: set_cert_stuff
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:601,1
    - Dst: set_cert_stuff
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:604,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:608,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 8
    argNames:
    - ctx
    - chain_files
    - cert_file
    - key_file
    - dcert_file
    - dkey_file
    - eccert_file
    - eckey_file
    argTypes:
    - SSL_CTX*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 582
    functionDepth: 6
    functionLinenumber: 582
    functionLinenumberEnd: 612
    functionName: tls_set_my_certificate_key_info
    functionSourceFile: /src/postfix/postfix/src/tls/tls_certkey.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - load_chain_files
    - set_cert_stuff
    linkageType: ''
    returnType: int
    signature: "int tls_set_my_certificate_key_info(SSL_CTX *ctx, const char *chain_files,\n\t\t\t\t\t
      \       const char *cert_file,\n\t\t\t\t\t        const char *key_file,\n\t\t\t\t\t
      \       const char *dcert_file,\n\t\t\t\t\t        const char *dkey_file,\n\t\t\t\t\t
      \       const char *eccert_file,\n\t\t\t\t\t        const char *eckey_file)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:622,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:623,1
    - Dst: init_pem_load_state
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:624,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:624,1
    - Dst: BIO_new_mem_buf
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:626,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:627,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:628,1
    - Dst: load_pem_bio
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ssl
    - pem
    - origin
    argTypes:
    - SSL*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 616
    functionDepth: 4
    functionLinenumber: 616
    functionLinenumberEnd: 633
    functionName: tls_load_pem_chain
    functionSourceFile: /src/postfix/postfix/src/tls/tls_certkey.c
    functionUses: 1
    functionsReached:
    - vstring_sprintf
    - msg_warn
    - load_pem_bio
    - init_pem_load_state
    - tls_print_errors
    - vstring_alloc
    - BIO_new_mem_buf
    - vstring_str
    linkageType: ''
    returnType: int
    signature: int tls_load_pem_chain(SSL *ssl, const char *pem, const char *origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:639,1
    - Dst: exit
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 641
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/tls/tls_certkey.c
    functionUses: 2
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:651,1
    - Dst: TLS_client_method
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:651,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:652,1
    - Dst: exit
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:653,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:655,1
    - Dst: usage
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:664,1
    - Dst: usage
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:671,1
    - Dst: set_cert_stuff
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:674,1
    - Dst: load_mixed_file
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:676,1
    - Dst: load_chain_files
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:678,1
    - Dst: exit
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:681,1
    - Dst: SSL_CTX_set_current_cert
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:683,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:684,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:685,1
    - Dst: exit
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:686,1
    - Dst: STACK_OF
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:689,1
    - Dst: SSL_CTX_get0_chain_certs
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:692,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:693,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:694,1
    - Dst: exit
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:695,1
    - Dst: sk_X509_num
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:697,1
    - Dst: sk_X509_value
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:702,1
    - Dst: SSL_CTX_get0_certificate
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:704,1
    - Dst: printf
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:706,1
    - Dst: X509_NAME_oneline
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:708,1
    - Dst: X509_get_issuer_name
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:708,1
    - Dst: printf
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:709,1
    - Dst: X509_NAME_oneline
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:711,1
    - Dst: X509_get_subject_name
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:711,1
    - Dst: printf
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:712,1
    - Dst: SSL_CTX_set_current_cert
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:714,1
    - Dst: exit
      Src: /src/postfix/postfix/src/tls/tls_certkey.c:716,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 643
    functionDepth: 6
    functionLinenumber: 643
    functionLinenumberEnd: 717
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/tls/tls_certkey.c
    functionUses: 5
    functionsReached:
    - X509_get_issuer_name
    - X509_get_subject_name
    - SSL_CTX_new
    - SSL_CTX_get0_chain_certs
    - tls_print_errors
    - GETOPT
    - SSL_CTX_set_current_cert
    - sk_X509_num
    - TLS_client_method
    - exit
    - load_chain_files
    - SSL_CTX_get0_certificate
    - load_mixed_file
    - set_cert_stuff
    - sk_X509_value
    - STACK_OF
    - X509_NAME_oneline
    - printf
    - usage
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 41
    argNames:
    - (
    - params
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - ','
    - a12
    - ','
    - a13
    - ','
    - a14
    - ','
    - a15
    - ','
    - a16
    - ','
    - a17
    - ','
    - a18
    - ','
    - a19
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: TLS_PROXY_PARAMS
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "TLS_PROXY_PARAMS(params, a1, a2, a3, a4, a5, a6, a7, a8, \\\n    a9,
      a10, a11, a12, a13, a14, a15, a16, a17, a18, a19)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - service
    - ','
    - flags
    - ','
    - peer_stream
    - ','
    - peer_addr
    - ','
    - peer_port
    - ','
    - timeout
    - ','
    - serverid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: tls_proxy_legacy_open
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "tls_proxy_legacy_open(service, flags, peer_stream, peer_addr, \\\n
      \                                         peer_port, timeout, serverid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - props
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - ','
    - a12
    - ','
    - a13
    - ','
    - a14
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: TLS_PROXY_CLIENT_INIT_PROPS
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "TLS_PROXY_CLIENT_INIT_PROPS(props, a1, a2, a3, a4, a5, a6, a7, a8,
      \\\n    a9, a10, a11, a12, a13, a14)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 37
    argNames:
    - (
    - props
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - ','
    - a12
    - ','
    - a13
    - ','
    - a14
    - ','
    - a15
    - ','
    - a16
    - ','
    - a17
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: TLS_PROXY_CLIENT_START_PROPS
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "TLS_PROXY_CLIENT_START_PROPS(props, a1, a2, a3, a4, a5, a6, a7, a8,
      \\\n    a9, a10, a11, a12, a13, a14, a15, a16, a17)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:171,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:172,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:178,1
    - Dst: LOCAL_CONNECT
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:179,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:179,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:181,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:181,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:189,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:190,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:191,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:193,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:194,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:195,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:198,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:199,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:200,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:200,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:201,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:202,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:203,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:204,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:207,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:208,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:209,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:210,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:215,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:216,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:217,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:218,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:223,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:224,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:225,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:226,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:231,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:233,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:234,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:235,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:236,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:247,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:248,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:256,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:257,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:261,1
    - Dst: LOCAL_SEND_FD
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:268,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:268,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:269,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:274,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:275,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:276,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 11
    argNames:
    - service
    - flags
    - peer_stream
    - peer_addr
    - peer_port
    - handshake_timeout
    - session_timeout
    - serverid
    - tls_params
    - init_props
    - start_props
    argTypes:
    - char*
    - int
    - VSTREAM*
    - char*
    - char*
    - int
    - int
    - char*
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 280
    functionName: tls_proxy_open
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_clnt.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - attr_print
    - vstream_ferror
    - RECV_ATTR_STREQ
    - msg_panic
    - vstream_fflush
    - vstring_alloc
    - attr_scan
    - LOCAL_SEND_FD
    - SEND_ATTR_INT
    - LOCAL_CONNECT
    - msg_warn
    - vstream_fdopen
    - SEND_ATTR_STR
    - vstream_fclose
    - SEND_ATTR_FUNC
    - vstream_fileno
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: VSTREAM
    signature: "VSTREAM *tls_proxy_open(const char *service, int flags,\n\t\t\t        VSTREAM
      *peer_stream,\n\t\t\t        const char *peer_addr,\n\t\t\t        const char
      *peer_port,\n\t\t\t        int handshake_timeout,\n\t\t\t        int session_timeout,\n\t\t\t
      \       const char *serverid,\n\t\t\t        void *tls_params,\n\t\t\t        void
      *init_props,\n\t\t\t        void *start_props)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:289,1
    - Dst: RECV_ATTR_FUNC
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:290,1
    - Dst: tls_proxy_context_free
      Src: /src/postfix/postfix/src/tls/tls_proxy_clnt.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - proxy_stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 298
    functionName: tls_proxy_context_receive
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_clnt.c
    functionUses: 0
    functionsReached:
    - RECV_ATTR_FUNC
    - tls_proxy_context_free
    - attr_scan
    linkageType: ''
    returnType: TLS_SESS_STATE
    signature: TLS_SESS_STATE *tls_proxy_context_receive(VSTREAM *proxy_stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:73,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:75,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:76,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:77,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:78,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:79,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:80,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:81,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:82,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:83,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:84,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:85,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:86,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:87,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:88,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:89,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:92,1
    - Dst: memset
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:97,1
    - Dst: scan_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:98,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:99,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:100,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:101,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:102,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:103,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:105,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:107,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:108,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:109,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:111,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:113,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:114,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:115,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:116,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:117,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:118,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:119,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:120,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:121,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:122,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:123,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:124,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:125,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:126,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:127,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:131,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:132,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:133,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:134,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:135,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:136,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:137,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:138,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:139,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:140,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:141,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:142,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:143,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:144,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:145,1
    - Dst: tls_proxy_context_free
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:148,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 4
    argNames:
    - scan_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_SCAN_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 155
    functionName: tls_proxy_context_scan
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c
    functionUses: 0
    functionsReached:
    - vstring_export
    - vstring_alloc
    - RECV_ATTR_STR
    - msg_info
    - memset
    - tls_proxy_context_free
    - mymalloc
    - scan_fn
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: "int tls_proxy_context_scan(ATTR_SCAN_COMMON_FN scan_fn, VSTREAM *fp,\n\t\t\t
      \              int flags, void *ptr)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:162,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:164,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:166,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:168,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:170,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:172,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:174,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:176,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:178,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:180,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:182,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:184,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:186,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:188,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:190,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c:191,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 1
    argNames:
    - tls_context
    argTypes:
    - TLS_SESS_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 192
    functionName: tls_proxy_context_free
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c
    functionUses: 2
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void tls_proxy_context_free(TLS_SESS_STATE *tls_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:72,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:73,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:74,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:75,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:76,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:77,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:78,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:79,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:80,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:81,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:82,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:83,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:84,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:85,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:86,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:87,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:88,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:89,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:90,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:91,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:92,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:93,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:94,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:95,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:96,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:97,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:98,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:99,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:100,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:101,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:102,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:103,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:104,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:105,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:106,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:107,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:108,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - print_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_PRINT_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 113
    functionName: tls_proxy_server_init_print
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_server_print.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_STR
    - print_fn
    - STRING_OR_EMPTY
    - SEND_ATTR_INT
    linkageType: ''
    returnType: int
    signature: "int tls_proxy_server_init_print(ATTR_PRINT_COMMON_FN print_fn, VSTREAM
      *fp,\n\t\t\t\t            int flags, const void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: STRING_OR_EMPTY
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_server_print.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRING_OR_EMPTY(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:125,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:126,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:127,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:128,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:129,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:130,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:131,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:132,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:133,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:134,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:135,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:136,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_server_print.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - print_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_PRINT_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 141
    functionName: tls_proxy_server_start_print
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_server_print.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_STR
    - print_fn
    - STRING_OR_EMPTY
    - SEND_ATTR_INT
    linkageType: ''
    returnType: int
    signature: "int tls_proxy_server_start_print(ATTR_PRINT_COMMON_FN print_fn, VSTREAM
      *fp,\n\t\t\t\t             int flags, const void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: STRING_OR_EMPTY
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_server_print.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRING_OR_EMPTY(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: TLS_REQUIRED
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_REQUIRED(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: TLS_MUST_MATCH
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_MUST_MATCH(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: TLS_MUST_PKIX
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_MUST_PKIX(l)
  - 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: TLS_OPPORTUNISTIC
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_OPPORTUNISTIC(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: TLS_DANE_BASED
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_DANE_BASED(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: TLS_NEVER_SECURED
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_NEVER_SECURED(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: OPENSSL_VERSION_PREREQ
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPENSSL_VERSION_PREREQ(m,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - pnid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: SSL_get_signature_nid
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_get_signature_nid(ssl, pnid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: TLS_PEEK_PEER_CERT
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_PEEK_PEER_CERT(ssl)
  - 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: TLS_FREE_PEER_CERT
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_FREE_PEER_CERT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: TLS_PEEK_PEER_CERT
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_PEEK_PEER_CERT(ssl)
  - 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: TLS_FREE_PEER_CERT
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_FREE_PEER_CERT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: TLS_GROUP_NAME
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_GROUP_NAME(ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: TLS_GROUP_NAME
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_GROUP_NAME(ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: TLS_GROUP_NAME
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_GROUP_NAME(ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dane
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: tls_dane_unusable
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tls_dane_unusable(dane)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dane
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: tls_dane_notfound
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tls_dane_notfound(dane)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: TLS_CRED_IS_PRESENT
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_CRED_IS_PRESENT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: TLS_CERT_IS_PRESENT
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_CERT_IS_PRESENT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: TLS_RPK_IS_PRESENT
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_RPK_IS_PRESENT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: TLS_CERT_IS_ALTNAME
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_CERT_IS_ALTNAME(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: TLS_CERT_IS_TRUSTED
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_CERT_IS_TRUSTED(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: TLS_CERT_IS_MATCHED
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_CERT_IS_MATCHED(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 297
    functionName: TLS_CERT_IS_SECURED
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_CERT_IS_SECURED(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 428
    functionName: TLS_SSL_OP_PROTOMASK
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_SSL_OP_PROTOMASK(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 453
    functionName: tls_cipher_grade
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tls_cipher_grade(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: str_tls_cipher_grade
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: str_tls_cipher_grade(gr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - ctx
    - ','
    - stream
    - ','
    - timeout
    - ','
    - failure
    - ','
    - TLScontext
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 519
    functionName: tls_client_stop
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tls_client_stop(ctx, stream, timeout, failure, TLScontext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - props
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - ','
    - a12
    - ','
    - a13
    - ','
    - a14
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 526
    functionName: TLS_CLIENT_INIT_ARGS
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "TLS_CLIENT_INIT_ARGS(props, a1, a2, a3, a4, a5, a6, a7, a8, a9, \\\n
      \   a10, a11, a12, a13, a14)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - props
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - ','
    - a12
    - ','
    - a13
    - ','
    - a14
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 531
    functionName: TLS_CLIENT_INIT
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "TLS_CLIENT_INIT(props, a1, a2, a3, a4, a5, a6, a7, a8, a9, \\\n    a10,
      a11, a12, a13, a14)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 43
    argNames:
    - (
    - props
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - ','
    - a12
    - ','
    - a13
    - ','
    - a14
    - ','
    - a15
    - ','
    - a16
    - ','
    - a17
    - ','
    - a18
    - ','
    - a19
    - ','
    - a20
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 540
    functionName: TLS_CLIENT_START
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "TLS_CLIENT_START(props, a1, a2, a3, a4, a5, a6, a7, a8, a9, \\\n    a10,
      a11, a12, a13, a14, a15, a16, a17, a18, a19, a20)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - ctx
    - ','
    - stream
    - ','
    - timeout
    - ','
    - failure
    - ','
    - TLScontext
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 587
    functionName: tls_server_stop
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tls_server_stop(ctx, stream, timeout, failure, TLScontext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 43
    argNames:
    - (
    - props
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - ','
    - a12
    - ','
    - a13
    - ','
    - a14
    - ','
    - a15
    - ','
    - a16
    - ','
    - a17
    - ','
    - a18
    - ','
    - a19
    - ','
    - a20
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 596
    functionName: TLS_SERVER_INIT
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "TLS_SERVER_INIT(props, a1, a2, a3, a4, a5, a6, a7, a8, a9, \\\n    a10,
      a11, a12, a13, a14, a15, a16, a17, a18, a19, a20)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - props
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - )
    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: 603
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 603
    functionName: TLS_SERVER_START
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "TLS_SERVER_START(props, a1, a2, a3, a4, a5, a6, a7, a8, a9, \\\n    a10,
      a11)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - timeout
    - ','
    - context
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 646
    functionName: tls_bio_connect
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tls_bio_connect(fd, timeout, context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - timeout
    - ','
    - context
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 649
    functionName: tls_bio_accept
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tls_bio_accept(fd, timeout, context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - timeout
    - ','
    - context
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 652
    functionName: tls_bio_shutdown
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tls_bio_shutdown(fd, timeout, context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - fd
    - ','
    - buf
    - ','
    - len
    - ','
    - timeout
    - ','
    - context
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 655
    functionName: tls_bio_read
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tls_bio_read(fd, buf, len, timeout, context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - fd
    - ','
    - buf
    - ','
    - len
    - ','
    - timeout
    - ','
    - context
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 658
    functionName: tls_bio_write
    functionSourceFile: /src/postfix/postfix/src/tls/tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tls_bio_write(fd, buf, len, timeout, context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/postfix/postfix/src/tls/tls_prng_exch.c:87,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_prng_exch.c:88,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tls_prng_exch.c:89,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_prng_exch.c:91,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_prng_exch.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: tls_prng_exch_open
    functionSourceFile: /src/postfix/postfix/src/tls/tls_prng_exch.c
    functionUses: 0
    functionsReached:
    - msg_info
    - open
    - mymalloc
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: TLS_PRNG_SRC
    signature: TLS_PRNG_SRC *tls_prng_exch_open(const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: myflock
      Src: /src/postfix/postfix/src/tls/tls_prng_exch.c:109,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_prng_exch.c:110,1
    - Dst: lseek
      Src: /src/postfix/postfix/src/tls/tls_prng_exch.c:111,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_prng_exch.c:112,1
    - Dst: read
      Src: /src/postfix/postfix/src/tls/tls_prng_exch.c:113,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_prng_exch.c:114,1
    - Dst: RAND_seed
      Src: /src/postfix/postfix/src/tls/tls_prng_exch.c:117,1
    - Dst: RAND_bytes
      Src: /src/postfix/postfix/src/tls/tls_prng_exch.c:118,1
    - Dst: lseek
      Src: /src/postfix/postfix/src/tls/tls_prng_exch.c:120,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_prng_exch.c:121,1
    - Dst: write
      Src: /src/postfix/postfix/src/tls/tls_prng_exch.c:122,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_prng_exch.c:123,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/tls/tls_prng_exch.c:124,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_prng_exch.c:125,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - eh
    argTypes:
    - TLS_PRNG_SRC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 126
    functionName: tls_prng_exch_update
    functionSourceFile: /src/postfix/postfix/src/tls/tls_prng_exch.c
    functionUses: 0
    functionsReached:
    - RAND_seed
    - myflock
    - read
    - lseek
    - msg_fatal
    - write
    - RAND_bytes
    linkageType: ''
    returnType: void
    signature: void tls_prng_exch_update(TLS_PRNG_SRC *eh)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/postfix/postfix/src/tls/tls_prng_exch.c:134,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_prng_exch.c:135,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_prng_exch.c:137,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_prng_exch.c:138,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_prng_exch.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - eh
    argTypes:
    - TLS_PRNG_SRC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: tls_prng_exch_close
    functionSourceFile: /src/postfix/postfix/src/tls/tls_prng_exch.c
    functionUses: 0
    functionsReached:
    - myfree
    - msg_fatal
    - close
    - msg_info
    linkageType: ''
    returnType: void
    signature: void tls_prng_exch_close(TLS_PRNG_SRC *eh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/tls/tls_scache.c
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/tls/tls_scache.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tls_scache.c:206,1
    - Dst: time
      Src: /src/postfix/postfix/src/tls/tls_scache.c:207,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/tls/tls_scache.c:208,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_scache.c:213,1
    - Dst: hex_encode
      Src: /src/postfix/postfix/src/tls/tls_scache.c:214,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_scache.c:220,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_scache.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - cp
    - cache_id
    - session
    - session_len
    argTypes:
    - TLS_SCACHE*
    - char*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 230
    functionName: tls_scache_encode
    functionSourceFile: /src/postfix/postfix/src/tls/tls_scache.c
    functionUses: 0
    functionsReached:
    - time
    - vstring_alloc
    - msg_info
    - myfree
    - hex_encode
    - memcpy
    - mymalloc
    linkageType: ''
    returnType: VSTRING
    signature: "VSTRING *tls_scache_encode(TLS_SCACHE *cp, const char *cache_id,\n\t\t\t\t
      \         const char *session,\n\t\t\t\t          ssize_t session_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_scache.c:245,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_scache.c:257,1
    - Dst: hex_decode_opt
      Src: /src/postfix/postfix/src/tls/tls_scache.c:258,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_scache.c:260,1
    - Dst: FREE_AND_RETURN
      Src: /src/postfix/postfix/src/tls/tls_scache.c:262,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_scache.c:264,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_scache.c:270,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/tls/tls_scache.c:272,1
    - Dst: time
      Src: /src/postfix/postfix/src/tls/tls_scache.c:277,1
    - Dst: FREE_AND_RETURN
      Src: /src/postfix/postfix/src/tls/tls_scache.c:278,1
    - Dst: vstring_memcpy
      Src: /src/postfix/postfix/src/tls/tls_scache.c:284,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/tls/tls_scache.c:285,1
    - Dst: FREE_AND_RETURN
      Src: /src/postfix/postfix/src/tls/tls_scache.c:290,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - cp
    - cache_id
    - hex_data
    - hex_data_len
    - out_session
    argTypes:
    - TLS_SCACHE*
    - char*
    - char*
    - ssize_t
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 291
    functionName: tls_scache_decode
    functionSourceFile: /src/postfix/postfix/src/tls/tls_scache.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - FREE_AND_RETURN
    - time
    - vstring_alloc
    - LEN
    - msg_info
    - hex_decode_opt
    - vstring_memcpy
    - STR
    linkageType: ''
    returnType: int
    signature: "int tls_scache_decode(TLS_SCACHE *cp, const char *cache_id,\n\t\t\t
      \        const char *hex_data, ssize_t hex_data_len,\n\t\t\t             VSTRING
      *out_session)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 256
    functionName: FREE_AND_RETURN
    functionSourceFile: /src/postfix/postfix/src/tls/tls_scache.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_AND_RETURN(ptr, x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_scache.c:304,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/tls/tls_scache.c:310,1
    - Dst: dict_get
      Src: /src/postfix/postfix/src/tls/tls_scache.c:315,1
    - Dst: tls_scache_decode
      Src: /src/postfix/postfix/src/tls/tls_scache.c:321,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/tls/tls_scache.c:321,1
    - Dst: tls_scache_delete
      Src: /src/postfix/postfix/src/tls/tls_scache.c:323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - cp
    - cache_id
    - session
    argTypes:
    - TLS_SCACHE*
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 328
    functionName: tls_scache_lookup
    functionSourceFile: /src/postfix/postfix/src/tls/tls_scache.c
    functionUses: 0
    functionsReached:
    - tls_scache_decode
    - strlen
    - tls_scache_delete
    - msg_info
    - VSTRING_RESET
    - dict_get
    linkageType: ''
    returnType: int
    signature: "int tls_scache_lookup(TLS_SCACHE *cp, const char *cache_id,\n\t\t\t
      \         VSTRING *session)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_scache.c:341,1
    - Dst: tls_scache_encode
      Src: /src/postfix/postfix/src/tls/tls_scache.c:347,1
    - Dst: dict_put
      Src: /src/postfix/postfix/src/tls/tls_scache.c:355,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_scache.c:355,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/tls/tls_scache.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - cp
    - cache_id
    - buf
    - len
    argTypes:
    - TLS_SCACHE*
    - char*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 363
    functionName: tls_scache_update
    functionSourceFile: /src/postfix/postfix/src/tls/tls_scache.c
    functionUses: 0
    functionsReached:
    - tls_scache_encode
    - dict_put
    - msg_info
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: "int tls_scache_update(TLS_SCACHE *cp, const char *cache_id,\n\t\t\t
      \         const char *buf, ssize_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dict_seq
      Src: /src/postfix/postfix/src/tls/tls_scache.c:397,1
    - Dst: tls_scache_decode
      Src: /src/postfix/postfix/src/tls/tls_scache.c:399,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/tls/tls_scache.c:399,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_scache.c:402,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_scache.c:403,1
    - Dst: tls_scache_lookup
      Src: /src/postfix/postfix/src/tls/tls_scache.c:419,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_scache.c:420,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_scache.c:428,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - cp
    - first_next
    - out_cache_id
    - out_session
    argTypes:
    - TLS_SCACHE*
    - int
    - char**
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 444
    functionName: tls_scache_sequence
    functionSourceFile: /src/postfix/postfix/src/tls/tls_scache.c
    functionUses: 0
    functionsReached:
    - tls_scache_decode
    - strlen
    - dict_seq
    - myfree
    - tls_scache_lookup
    - mystrdup
    linkageType: ''
    returnType: int
    signature: "int tls_scache_sequence(TLS_SCACHE *cp, int first_next,\n\t\t\t            char
      **out_cache_id,\n\t\t\t            VSTRING *out_session)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_scache.c:455,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_scache.c:462,1
    - Dst: dict_del
      Src: /src/postfix/postfix/src/tls/tls_scache.c:463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - cp
    - cache_id
    argTypes:
    - TLS_SCACHE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 464
    functionName: tls_scache_delete
    functionSourceFile: /src/postfix/postfix/src/tls/tls_scache.c
    functionUses: 1
    functionsReached:
    - dict_del
    - strcmp
    - msg_info
    linkageType: ''
    returnType: int
    signature: int tls_scache_delete(TLS_SCACHE *cp, const char *cache_id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_scache.c:478,1
    - Dst: dict_open
      Src: /src/postfix/postfix/src/tls/tls_scache.c:488,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_scache.c:494,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_scache.c:496,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_scache.c:498,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tls_scache.c:503,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_scache.c:506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - dbname
    - cache_label
    - verbose
    - timeout
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 512
    functionName: tls_scache_open
    functionSourceFile: /src/postfix/postfix/src/tls/tls_scache.c
    functionUses: 0
    functionsReached:
    - dict_open
    - msg_info
    - mymalloc
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: TLS_SCACHE
    signature: "TLS_SCACHE *tls_scache_open(const char *dbname, const char *cache_label,\n\t\t\t
      \           int verbose, int timeout)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_scache.c:523,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/tls/tls_scache.c:528,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_scache.c:529,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_scache.c:531,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_scache.c:532,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - cp
    argTypes:
    - TLS_SCACHE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 533
    functionName: tls_scache_close
    functionSourceFile: /src/postfix/postfix/src/tls/tls_scache.c
    functionUses: 0
    functionsReached:
    - myfree
    - dict_close
    - msg_info
    linkageType: ''
    returnType: void
    signature: void tls_scache_close(TLS_SCACHE *cp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/postfix/postfix/src/tls/tls_scache.c:553,1
    - Dst: timecmp
      Src: /src/postfix/postfix/src/tls/tls_scache.c:554,1
    - Dst: timecmp
      Src: /src/postfix/postfix/src/tls/tls_scache.c:560,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - keyname
    - now
    - timeout
    argTypes:
    - unsigned char*
    - time_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 564
    functionName: tls_scache_key
    functionSourceFile: /src/postfix/postfix/src/tls/tls_scache.c
    functionUses: 0
    functionsReached:
    - memcmp
    - timecmp
    linkageType: ''
    returnType: TLS_TICKET_KEY
    signature: TLS_TICKET_KEY *tls_scache_key(unsigned char *keyname, time_t now,
      int timeout)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tls_scache.c:576,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - newkey
    argTypes:
    - TLS_TICKET_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 589
    functionName: tls_scache_key_rotate
    functionSourceFile: /src/postfix/postfix/src/tls/tls_scache.c
    functionUses: 0
    functionsReached:
    - mymalloc
    linkageType: ''
    returnType: TLS_TICKET_KEY
    signature: TLS_TICKET_KEY *tls_scache_key_rotate(TLS_TICKET_KEY *newkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/tls/tls_mgr.c
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/tls/tls_mgr.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:156,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: tls_mgr_handshake
    functionSourceFile: /src/postfix/postfix/src/tls/tls_mgr.c
    functionUses: 0
    functionsReached:
    - RECV_ATTR_STREQ
    - attr_scan
    linkageType: ''
    returnType: int
    signature: int tls_mgr_handshake(VSTREAM *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:171,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:177,1
    - Dst: attr_clnt_create
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:179,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:181,1
    - Dst: attr_clnt_control
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 187
    functionName: tls_mgr_open
    functionSourceFile: /src/postfix/postfix/src/tls/tls_mgr.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - attr_clnt_control
    - attr_clnt_create
    - myfree
    - concatenate
    linkageType: ''
    returnType: void
    signature: void tls_mgr_open(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tls_mgr_open
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:199,1
    - Dst: attr_clnt_request
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:204,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:206,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:207,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:210,1
    - Dst: RECV_ATTR_DATA
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - VSTRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 215
    functionName: tls_mgr_seed
    functionSourceFile: /src/postfix/postfix/src/tls/tls_mgr.c
    functionUses: 1
    functionsReached:
    - RECV_ATTR_DATA
    - SEND_ATTR_STR
    - SEND_ATTR_INT
    - tls_mgr_open
    - attr_clnt_request
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: int tls_mgr_seed(VSTRING *buf, int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tls_mgr_open
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:227,1
    - Dst: attr_clnt_request
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:232,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:234,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:235,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:238,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:239,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cache_type
    - cachable
    - timeout
    argTypes:
    - char*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 244
    functionName: tls_mgr_policy
    functionSourceFile: /src/postfix/postfix/src/tls/tls_mgr.c
    functionUses: 1
    functionsReached:
    - SEND_ATTR_STR
    - tls_mgr_open
    - attr_clnt_request
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: int tls_mgr_policy(const char *cache_type, int *cachable, int *timeout)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tls_mgr_open
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:257,1
    - Dst: attr_clnt_request
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:262,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:264,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:265,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:266,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:269,1
    - Dst: RECV_ATTR_DATA
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cache_type
    - cache_id
    - buf
    argTypes:
    - char*
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 274
    functionName: tls_mgr_lookup
    functionSourceFile: /src/postfix/postfix/src/tls/tls_mgr.c
    functionUses: 1
    functionsReached:
    - RECV_ATTR_DATA
    - SEND_ATTR_STR
    - tls_mgr_open
    - attr_clnt_request
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: "int tls_mgr_lookup(const char *cache_type, const char *cache_id,\n\t\t
      \              VSTRING *buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tls_mgr_open
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:287,1
    - Dst: attr_clnt_request
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:292,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:294,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:295,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:296,1
    - Dst: SEND_ATTR_DATA
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:297,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - cache_type
    - cache_id
    - buf
    - len
    argTypes:
    - char*
    - char*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 304
    functionName: tls_mgr_update
    functionSourceFile: /src/postfix/postfix/src/tls/tls_mgr.c
    functionUses: 1
    functionsReached:
    - SEND_ATTR_DATA
    - SEND_ATTR_STR
    - tls_mgr_open
    - attr_clnt_request
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: "int tls_mgr_update(const char *cache_type, const char *cache_id,\n\t\t
      \              const char *buf, ssize_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tls_mgr_open
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:316,1
    - Dst: attr_clnt_request
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:321,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:323,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:324,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:325,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cache_type
    - cache_id
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 332
    functionName: tls_mgr_delete
    functionSourceFile: /src/postfix/postfix/src/tls/tls_mgr.c
    functionUses: 1
    functionsReached:
    - SEND_ATTR_STR
    - tls_mgr_open
    - attr_clnt_request
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: int tls_mgr_delete(const char *cache_type, const char *cache_id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tls_mgr_open
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:348,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:351,1
    - Dst: attr_clnt_request
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:360,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:362,1
    - Dst: SEND_ATTR_DATA
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:363,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:366,1
    - Dst: RECV_ATTR_DATA
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:367,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:370,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:373,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:373,1
    - Dst: tls_scache_key_rotate
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - keyname
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 375
    functionName: request_scache_key
    functionSourceFile: /src/postfix/postfix/src/tls/tls_mgr.c
    functionUses: 0
    functionsReached:
    - RECV_ATTR_DATA
    - tls_scache_key_rotate
    - SEND_ATTR_DATA
    - SEND_ATTR_STR
    - vstring_alloc
    - LEN
    - tls_mgr_open
    - memcpy
    - attr_clnt_request
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: TLS_TICKET_KEY
    signature: TLS_TICKET_KEY *request_scache_key(unsigned char *keyname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:382,1
    - Dst: tls_scache_key
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:388,1
    - Dst: request_scache_key
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - keyname
    - timeout
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 379
    functionDepth: 3
    functionLinenumber: 379
    functionLinenumberEnd: 391
    functionName: tls_mgr_key
    functionSourceFile: /src/postfix/postfix/src/tls/tls_mgr.c
    functionUses: 2
    functionsReached:
    - time
    - tls_scache_key
    - request_scache_key
    linkageType: ''
    returnType: TLS_TICKET_KEY
    signature: TLS_TICKET_KEY *tls_mgr_key(unsigned char *keyname, int timeout)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:414,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:418,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:422,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:423,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:425,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:426,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:428,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:429,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:429,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:431,1
    - Dst: COMMAND
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:437,1
    - Dst: tls_mgr_policy
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:441,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:442,1
    - Dst: COMMAND
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:444,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:445,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:446,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:447,1
    - Dst: tls_mgr_seed
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:449,1
    - Dst: hex_encode
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:450,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:450,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:450,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:451,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:451,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:452,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:453,1
    - Dst: COMMAND
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:454,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:455,1
    - Dst: tls_mgr_lookup
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:457,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:458,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:459,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:459,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:460,1
    - Dst: COMMAND
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:461,1
    - Dst: tls_mgr_update
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:462,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:463,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:464,1
    - Dst: COMMAND
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:465,1
    - Dst: tls_mgr_delete
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:466,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:467,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:469,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:476,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:477,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/tls/tls_mgr.c:480,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 2
    argNames:
    - unused_ac
    - av
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 482
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/tls/tls_mgr.c
    functionUses: 5
    functionsReached:
    - tls_mgr_update
    - LEN
    - msg_info
    - msg_vstream_init
    - atoi
    - strlen
    - vstream_fflush
    - vstring_alloc
    - chdir
    - tls_mgr_delete
    - hex_encode
    - argv_split
    - vstream_printf
    - tls_mgr_seed
    - vstring_free
    - mail_conf_read
    - vstring_fgets_nonl
    - argv_free
    - COMMAND
    - tls_mgr_policy
    - tls_mgr_lookup
    - msg_fatal
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int unused_ac, char **av)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - argv
    - ','
    - str
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 436
    functionName: COMMAND
    functionSourceFile: /src/postfix/postfix/src/tls/tls_mgr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMMAND(argv, str, len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tls/tls_client.c:204,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_client.c:211,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tls/tls_client.c:220,1
    - Dst: tls_mgr_lookup
      Src: /src/postfix/postfix/src/tls/tls_client.c:227,1
    - Dst: tls_session_activate
      Src: /src/postfix/postfix/src/tls/tls_client.c:229,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_client.c:229,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/tls/tls_client.c:229,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_client.c:233,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/tls/tls_client.c:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - TLScontext
    argTypes:
    - TLS_SESS_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 244
    functionName: load_clnt_session
    functionSourceFile: /src/postfix/postfix/src/tls/tls_client.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstring_alloc
    - LEN
    - msg_info
    - tls_mgr_lookup
    - tls_session_activate
    - vstring_free
    - STR
    linkageType: ''
    returnType: SSL_SESSION
    signature: SSL_SESSION *load_clnt_session(TLS_SESS_STATE *TLScontext)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/postfix/postfix/src/tls/tls_client.c:259,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tls/tls_client.c:260,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tls/tls_client.c:268,1
    - Dst: tls_session_passivate
      Src: /src/postfix/postfix/src/tls/tls_client.c:280,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_client.c:284,1
    - Dst: tls_mgr_update
      Src: /src/postfix/postfix/src/tls/tls_client.c:287,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tls/tls_client.c:288,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/tls/tls_client.c:288,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/tls/tls_client.c:289,1
    - Dst: SSL_SESSION_free
      Src: /src/postfix/postfix/src/tls/tls_client.c:295,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ssl
    - session
    argTypes:
    - SSL*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 298
    functionName: new_client_session_cb
    functionSourceFile: /src/postfix/postfix/src/tls/tls_client.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - tls_mgr_update
    - LEN
    - msg_info
    - STR
    - SSL_SESSION_free
    - vstring_free
    - tls_session_passivate
    - SSL_get_ex_data
    linkageType: ''
    returnType: int
    signature: int new_client_session_cb(SSL *ssl, SSL_SESSION *session)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_session
      Src: /src/postfix/postfix/src/tls/tls_client.c:304,1
    - Dst: SSL_CTX_remove_session
      Src: /src/postfix/postfix/src/tls/tls_client.c:306,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_client.c:312,1
    - Dst: tls_mgr_delete
      Src: /src/postfix/postfix/src/tls/tls_client.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - TLScontext
    argTypes:
    - SSL_CTX*
    - TLS_SESS_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 315
    functionName: uncache_session
    functionSourceFile: /src/postfix/postfix/src/tls/tls_client.c
    functionUses: 1
    functionsReached:
    - tls_mgr_delete
    - SSL_get_session
    - SSL_CTX_remove_session
    - msg_info
    linkageType: ''
    returnType: void
    signature: void uncache_session(SSL_CTX *ctx, TLS_SESS_STATE *TLScontext)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_verify_result
      Src: /src/postfix/postfix/src/tls/tls_client.c:322,1
    - Dst: tls_issuer_CN
      Src: /src/postfix/postfix/src/tls/tls_client.c:327,1
    - Dst: tls_peer_CN
      Src: /src/postfix/postfix/src/tls/tls_client.c:328,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tls/tls_client.c:337,1
    - Dst: TLS_MUST_MATCH
      Src: /src/postfix/postfix/src/tls/tls_client.c:339,1
    - Dst: TLS_NEVER_SECURED
      Src: /src/postfix/postfix/src/tls/tls_client.c:352,1
    - Dst: SSL_get0_peername
      Src: /src/postfix/postfix/src/tls/tls_client.c:358,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_client.c:361,1
    - Dst: tls_dane_log
      Src: /src/postfix/postfix/src/tls/tls_client.c:363,1
    - Dst: TLS_MUST_MATCH
      Src: /src/postfix/postfix/src/tls/tls_client.c:366,1
    - Dst: TLS_CERT_IS_MATCHED
      Src: /src/postfix/postfix/src/tls/tls_client.c:381,1
    - Dst: tls_log_verify_error
      Src: /src/postfix/postfix/src/tls/tls_client.c:384,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_client.c:386,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - TLScontext
    - peercert
    - props
    argTypes:
    - TLS_SESS_STATE*
    - X509*
    - TLS_CLIENT_START_PROPS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 319
    functionDepth: 4
    functionLinenumber: 319
    functionLinenumberEnd: 389
    functionName: verify_x509
    functionSourceFile: /src/postfix/postfix/src/tls/tls_client.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - tls_issuer_CN
    - TLS_MUST_MATCH
    - TLS_NEVER_SECURED
    - TLS_CERT_IS_MATCHED
    - SSL_get0_peername
    - msg_info
    - tls_peer_CN
    - tls_log_verify_error
    - tls_dane_log
    - SSL_get_verify_result
    linkageType: ''
    returnType: void
    signature: "void verify_x509(TLS_SESS_STATE *TLScontext, X509 *peercert,\n\t\t\t
      \       const TLS_CLIENT_START_PROPS *props)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_verify_result
      Src: /src/postfix/postfix/src/tls/tls_client.c:397,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tls/tls_client.c:400,1
    - Dst: TLS_MUST_MATCH
      Src: /src/postfix/postfix/src/tls/tls_client.c:402,1
    - Dst: TLS_NEVER_SECURED
      Src: /src/postfix/postfix/src/tls/tls_client.c:409,1
    - Dst: tls_dane_log
      Src: /src/postfix/postfix/src/tls/tls_client.c:415,1
    - Dst: TLS_CERT_IS_MATCHED
      Src: /src/postfix/postfix/src/tls/tls_client.c:425,1
    - Dst: tls_log_verify_error
      Src: /src/postfix/postfix/src/tls/tls_client.c:428,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_client.c:430,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - TLScontext
    - peerpkey
    - props
    argTypes:
    - TLS_SESS_STATE*
    - EVP_PKEY*
    - TLS_CLIENT_START_PROPS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 393
    functionDepth: 4
    functionLinenumber: 393
    functionLinenumberEnd: 433
    functionName: verify_rpk
    functionSourceFile: /src/postfix/postfix/src/tls/tls_client.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - TLS_MUST_MATCH
    - TLS_NEVER_SECURED
    - TLS_CERT_IS_MATCHED
    - msg_info
    - tls_log_verify_error
    - tls_dane_log
    - SSL_get_verify_result
    linkageType: ''
    returnType: void
    signature: "void verify_rpk(TLS_SESS_STATE *TLScontext, EVP_PKEY *peerpkey,\n\t\t
      \              const TLS_CLIENT_START_PROPS *props)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_hostflags
      Src: /src/postfix/postfix/src/tls/tls_client.c:445,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/tls/tls_client.c:452,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/tls/tls_client.c:454,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/tls/tls_client.c:457,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_client.c:462,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/tls/tls_client.c:511,1
    - Dst: midna_domain_to_ascii
      Src: /src/postfix/postfix/src/tls/tls_client.c:511,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_client.c:513,1
    - Dst: SSL_add1_host
      Src: /src/postfix/postfix/src/tls/tls_client.c:519,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_client.c:522,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/tls/tls_client.c:525,1
    - Dst: SSL_add1_host
      Src: /src/postfix/postfix/src/tls/tls_client.c:527,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_client.c:530,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_client.c:532,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_client.c:541,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 48
    argCount: 2
    argNames:
    - TLScontext
    - props
    argTypes:
    - TLS_SESS_STATE*
    - TLS_CLIENT_START_PROPS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 545
    functionName: add_namechecks
    functionSourceFile: /src/postfix/postfix/src/tls/tls_client.c
    functionUses: 0
    functionsReached:
    - SSL_add1_host
    - msg_warn
    - msg_info
    - myfree
    - strcasecmp
    - midna_domain_to_ascii
    - SSL_set_hostflags
    - concatenate
    - allascii
    linkageType: ''
    returnType: void
    signature: "void add_namechecks(TLS_SESS_STATE *TLScontext,\n\t\t\t           const
      TLS_CLIENT_START_PROPS *props)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_client.c:564,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tls/tls_client.c:566,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/tls/tls_client.c:576,1
    - Dst: midna_domain_to_ascii
      Src: /src/postfix/postfix/src/tls/tls_client.c:576,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_client.c:578,1
    - Dst: SSL_dane_enable
      Src: /src/postfix/postfix/src/tls/tls_client.c:599,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_client.c:601,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_client.c:603,1
    - Dst: SSL_dane_set_flags
      Src: /src/postfix/postfix/src/tls/tls_client.c:607,1
    - Dst: add_namechecks
      Src: /src/postfix/postfix/src/tls/tls_client.c:611,1
    - Dst: SSL_dane_enable
      Src: /src/postfix/postfix/src/tls/tls_client.c:616,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_client.c:618,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_client.c:620,1
    - Dst: SSL_dane_set_flags
      Src: /src/postfix/postfix/src/tls/tls_client.c:623,1
    - Dst: SSL_dane_enable
      Src: /src/postfix/postfix/src/tls/tls_client.c:630,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_client.c:632,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_client.c:634,1
    - Dst: add_namechecks
      Src: /src/postfix/postfix/src/tls/tls_client.c:638,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/tls/tls_client.c:645,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_client.c:647,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/postfix/postfix/src/tls/tls_client.c:657,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_client.c:659,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_client.c:671,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_client.c:673,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 2
    argNames:
    - TLScontext
    - props
    argTypes:
    - TLS_SESS_STATE*
    - TLS_CLIENT_START_PROPS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 676
    functionName: tls_auth_enable
    functionSourceFile: /src/postfix/postfix/src/tls/tls_client.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - add_namechecks
    - strlen
    - tls_print_errors
    - msg_info
    - midna_domain_to_ascii
    - strcmp
    - SSL_dane_set_flags
    - SSL_set_tlsext_host_name
    - mystrdup
    - allascii
    - SSL_dane_enable
    linkageType: ''
    returnType: int
    signature: "int tls_auth_enable(TLS_SESS_STATE *TLScontext,\n\t\t\t           const
      TLS_CLIENT_START_PROPS *props)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tls_log_mask
      Src: /src/postfix/postfix/src/tls/tls_client.c:693,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_client.c:696,1
    - Dst: tls_param_init
      Src: /src/postfix/postfix/src/tls/tls_client.c:701,1
    - Dst: tls_check_version
      Src: /src/postfix/postfix/src/tls/tls_client.c:706,1
    - Dst: tls_library_init
      Src: /src/postfix/postfix/src/tls/tls_client.c:712,1
    - Dst: SSL_get_ex_new_index
      Src: /src/postfix/postfix/src/tls/tls_client.c:721,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_client.c:722,1
    - Dst: tls_validate_digest
      Src: /src/postfix/postfix/src/tls/tls_client.c:732,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_client.c:733,1
    - Dst: tls_ext_seed
      Src: /src/postfix/postfix/src/tls/tls_client.c:742,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_client.c:743,1
    - Dst: tls_int_seed
      Src: /src/postfix/postfix/src/tls/tls_client.c:746,1
    - Dst: ERR_clear_error
      Src: /src/postfix/postfix/src/tls/tls_client.c:756,1
    - Dst: SSL_CTX_new
      Src: /src/postfix/postfix/src/tls/tls_client.c:757,1
    - Dst: TLS_client_method
      Src: /src/postfix/postfix/src/tls/tls_client.c:757,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_client.c:759,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_client.c:760,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/postfix/postfix/src/tls/tls_client.c:765,1
    - Dst: SSL_CTX_set_verify_depth
      Src: /src/postfix/postfix/src/tls/tls_client.c:771,1
    - Dst: SSL_CTX_dane_enable
      Src: /src/postfix/postfix/src/tls/tls_client.c:781,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_client.c:782,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_client.c:783,1
    - Dst: tls_dane_digest_init
      Src: /src/postfix/postfix/src/tls/tls_client.c:786,1
    - Dst: tls_bug_bits
      Src: /src/postfix/postfix/src/tls/tls_client.c:801,1
    - Dst: SSL_CTX_set_options
      Src: /src/postfix/postfix/src/tls/tls_client.c:802,1
    - Dst: SSL_CTX_set_info_callback
      Src: /src/postfix/postfix/src/tls/tls_client.c:808,1
    - Dst: tls_set_ca_certificate_info
      Src: /src/postfix/postfix/src/tls/tls_client.c:821,1
    - Dst: SSL_CTX_free
      Src: /src/postfix/postfix/src/tls/tls_client.c:824,1
    - Dst: tls_set_my_certificate_key_info
      Src: /src/postfix/postfix/src/tls/tls_client.c:847,1
    - Dst: SSL_CTX_free
      Src: /src/postfix/postfix/src/tls/tls_client.c:856,1
    - Dst: SSL_CTX_get0_certificate
      Src: /src/postfix/postfix/src/tls/tls_client.c:880,1
    - Dst: SSL_CTX_get0_privatekey
      Src: /src/postfix/postfix/src/tls/tls_client.c:881,1
    - Dst: tls_enable_client_rpk
      Src: /src/postfix/postfix/src/tls/tls_client.c:882,1
    - Dst: tls_auto_groups
      Src: /src/postfix/postfix/src/tls/tls_client.c:890,1
    - Dst: SSL_CTX_set_verify
      Src: /src/postfix/postfix/src/tls/tls_client.c:896,1
    - Dst: tls_mgr_policy
      Src: /src/postfix/postfix/src/tls/tls_client.c:910,1
    - Dst: tls_alloc_app_context
      Src: /src/postfix/postfix/src/tls/tls_client.c:920,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_client.c:927,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/postfix/postfix/src/tls/tls_client.c:947,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/postfix/postfix/src/tls/tls_client.c:951,1
    - Dst: SSL_CTX_set_timeout
      Src: /src/postfix/postfix/src/tls/tls_client.c:960,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 67
    argCount: 1
    argNames:
    - props
    argTypes:
    - TLS_CLIENT_INIT_PROPS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 680
    functionDepth: 7
    functionLinenumber: 680
    functionLinenumberEnd: 963
    functionName: tls_client_init
    functionSourceFile: /src/postfix/postfix/src/tls/tls_client.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_new
    - tls_print_errors
    - SSL_CTX_set_security_level
    - tls_auto_groups
    - tls_set_my_certificate_key_info
    - msg_info
    - SSL_CTX_set_verify
    - tls_library_init
    - SSL_get_ex_new_index
    - SSL_CTX_set_verify_depth
    - tls_alloc_app_context
    - tls_int_seed
    - TLS_client_method
    - SSL_CTX_set_session_cache_mode
    - tls_enable_client_rpk
    - SSL_CTX_set_options
    - tls_log_mask
    - tls_bug_bits
    - SSL_CTX_get0_certificate
    - SSL_CTX_set_timeout
    - tls_check_version
    - tls_param_init
    - tls_set_ca_certificate_info
    - tls_validate_digest
    - SSL_CTX_set_info_callback
    - msg_warn
    - tls_ext_seed
    - SSL_CTX_free
    - SSL_CTX_get0_privatekey
    - ERR_clear_error
    - tls_mgr_policy
    - SSL_CTX_sess_set_new_cb
    - tls_dane_digest_init
    - mystrdup
    - SSL_CTX_dane_enable
    linkageType: ''
    returnType: TLS_APPL_STATE
    signature: TLS_APPL_STATE *tls_client_init(const TLS_CLIENT_INIT_PROPS *props)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: TLS_MUST_MATCH
      Src: /src/postfix/postfix/src/tls/tls_client.c:987,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_client.c:991,1
    - Dst: tls_proto_mask_lims
      Src: /src/postfix/postfix/src/tls/tls_client.c:999,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_client.c:1003,1
    - Dst: TLS_DANE_BASED
      Src: /src/postfix/postfix/src/tls/tls_client.c:1017,1
    - Dst: tls_alloc_sess_context
      Src: /src/postfix/postfix/src/tls/tls_client.c:1028,1
    - Dst: SSL_new
      Src: /src/postfix/postfix/src/tls/tls_client.c:1032,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_client.c:1034,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_client.c:1035,1
    - Dst: tls_free_context
      Src: /src/postfix/postfix/src/tls/tls_client.c:1036,1
    - Dst: tls_set_ciphers
      Src: /src/postfix/postfix/src/tls/tls_client.c:1047,1
    - Dst: tls_free_context
      Src: /src/postfix/postfix/src/tls/tls_client.c:1052,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_client.c:1056,1
    - Dst: SSL_set_ex_data
      Src: /src/postfix/postfix/src/tls/tls_client.c:1064,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_client.c:1066,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_client.c:1067,1
    - Dst: tls_free_context
      Src: /src/postfix/postfix/src/tls/tls_client.c:1068,1
    - Dst: SSL_set_options
      Src: /src/postfix/postfix/src/tls/tls_client.c:1084,1
    - Dst: TLS_SSL_OP_PROTOMASK
      Src: /src/postfix/postfix/src/tls/tls_client.c:1084,1
    - Dst: SSL_set_min_proto_version
      Src: /src/postfix/postfix/src/tls/tls_client.c:1085,1
    - Dst: CARP_VERSION
      Src: /src/postfix/postfix/src/tls/tls_client.c:1086,1
    - Dst: SSL_set_max_proto_version
      Src: /src/postfix/postfix/src/tls/tls_client.c:1087,1
    - Dst: CARP_VERSION
      Src: /src/postfix/postfix/src/tls/tls_client.c:1088,1
    - Dst: tls_auth_enable
      Src: /src/postfix/postfix/src/tls/tls_client.c:1098,1
    - Dst: tls_free_context
      Src: /src/postfix/postfix/src/tls/tls_client.c:1100,1
    - Dst: tls_enable_server_rpk
      Src: /src/postfix/postfix/src/tls/tls_client.c:1117,1
    - Dst: tls_dane_enable
      Src: /src/postfix/postfix/src/tls/tls_client.c:1129,1
    - Dst: trw_report_failure
      Src: /src/postfix/postfix/src/tls/tls_client.c:1138,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_client.c:1143,1
    - Dst: trw_report_failure
      Src: /src/postfix/postfix/src/tls/tls_client.c:1152,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_client.c:1157,1
    - Dst: trw_report_failure
      Src: /src/postfix/postfix/src/tls/tls_client.c:1162,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_client.c:1167,1
    - Dst: trw_report_failure
      Src: /src/postfix/postfix/src/tls/tls_client.c:1173,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_client.c:1178,1
    - Dst: tls_serverid_digest
      Src: /src/postfix/postfix/src/tls/tls_client.c:1212,1
    - Dst: TLS_MUST_MATCH
      Src: /src/postfix/postfix/src/tls/tls_client.c:1225,1
    - Dst: SSL_set_security_level
      Src: /src/postfix/postfix/src/tls/tls_client.c:1226,1
    - Dst: load_clnt_session
      Src: /src/postfix/postfix/src/tls/tls_client.c:1234,1
    - Dst: SSL_set_session
      Src: /src/postfix/postfix/src/tls/tls_client.c:1236,1
    - Dst: SSL_SESSION_free
      Src: /src/postfix/postfix/src/tls/tls_client.c:1237,1
    - Dst: tls_int_seed
      Src: /src/postfix/postfix/src/tls/tls_client.c:1245,1
    - Dst: tls_ext_seed
      Src: /src/postfix/postfix/src/tls/tls_client.c:1246,1
    - Dst: SSL_set_fd
      Src: /src/postfix/postfix/src/tls/tls_client.c:1251,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/tls/tls_client.c:1252,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_client.c:1254,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_client.c:1255,1
    - Dst: uncache_session
      Src: /src/postfix/postfix/src/tls/tls_client.c:1256,1
    - Dst: tls_free_context
      Src: /src/postfix/postfix/src/tls/tls_client.c:1257,1
    - Dst: tls_set_bio_callback
      Src: /src/postfix/postfix/src/tls/tls_client.c:1271,1
    - Dst: SSL_get_rbio
      Src: /src/postfix/postfix/src/tls/tls_client.c:1271,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_client.c:1279,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/tls/tls_client.c:1294,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/tls/tls_client.c:1294,1
    - Dst: tls_bio_connect
      Src: /src/postfix/postfix/src/tls/tls_client.c:1303,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/tls/tls_client.c:1303,1
    - Dst: ERR_peek_error
      Src: /src/postfix/postfix/src/tls/tls_client.c:1306,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_client.c:1307,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_client.c:1308,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_client.c:1310,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_client.c:1312,1
    - Dst: trw_report_failure
      Src: /src/postfix/postfix/src/tls/tls_client.c:1317,1
    - Dst: uncache_session
      Src: /src/postfix/postfix/src/tls/tls_client.c:1321,1
    - Dst: tls_free_context
      Src: /src/postfix/postfix/src/tls/tls_client.c:1322,1
    - Dst: tls_client_post_connect
      Src: /src/postfix/postfix/src/tls/tls_client.c:1325,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 137
    argCount: 1
    argNames:
    - props
    argTypes:
    - TLS_CLIENT_START_PROPS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 970
    functionDepth: 3
    functionLinenumber: 970
    functionLinenumberEnd: 1326
    functionName: tls_client_start
    functionSourceFile: /src/postfix/postfix/src/tls/tls_client.c
    functionUses: 1
    functionsReached:
    - load_clnt_session
    - SSL_set_session
    - SSL_new
    - tls_print_errors
    - msg_info
    - CARP_VERSION
    - tls_auth_enable
    - non_blocking
    - TLS_SSL_OP_PROTOMASK
    - tls_free_context
    - tls_dane_enable
    - SSL_get_rbio
    - tls_int_seed
    - tls_enable_server_rpk
    - tls_set_bio_callback
    - SSL_set_options
    - ERR_peek_error
    - SSL_set_max_proto_version
    - TLS_MUST_MATCH
    - SSL_SESSION_free
    - TLS_DANE_BASED
    - tls_bio_connect
    - uncache_session
    - tls_proto_mask_lims
    - tls_serverid_digest
    - SSL_set_security_level
    - vstream_fileno
    - msg_warn
    - trw_report_failure
    - tls_ext_seed
    - SSL_set_ex_data
    - tls_client_post_connect
    - tls_alloc_sess_context
    - SSL_set_min_proto_version
    - tls_set_ciphers
    - SSL_set_fd
    - mystrdup
    linkageType: ''
    returnType: TLS_SESS_STATE
    signature: TLS_SESS_STATE *tls_client_start(const TLS_CLIENT_START_PROPS *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - which
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1079
    functionName: CARP_VERSION
    functionSourceFile: /src/postfix/postfix/src/tls/tls_client.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CARP_VERSION(which)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tls_set_bio_callback
      Src: /src/postfix/postfix/src/tls/tls_client.c:1339,1
    - Dst: SSL_get_rbio
      Src: /src/postfix/postfix/src/tls/tls_client.c:1339,1
    - Dst: SSL_session_reused
      Src: /src/postfix/postfix/src/tls/tls_client.c:1345,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_client.c:1347,1
    - Dst: TLS_PEEK_PEER_CERT
      Src: /src/postfix/postfix/src/tls/tls_client.c:1353,1
    - Dst: X509_get0_pubkey
      Src: /src/postfix/postfix/src/tls/tls_client.c:1355,1
    - Dst: OPENSSL_VERSION_PREREQ
      Src: /src/postfix/postfix/src/tls/tls_client.c:1357,1
    - Dst: SSL_get0_peer_rpk
      Src: /src/postfix/postfix/src/tls/tls_client.c:1359,1
    - Dst: tls_cert_fprint
      Src: /src/postfix/postfix/src/tls/tls_client.c:1373,1
    - Dst: tls_pkey_fprint
      Src: /src/postfix/postfix/src/tls/tls_client.c:1375,1
    - Dst: verify_x509
      Src: /src/postfix/postfix/src/tls/tls_client.c:1376,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_client.c:1380,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_client.c:1392,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_client.c:1393,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_client.c:1394,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_client.c:1397,1
    - Dst: tls_pkey_fprint
      Src: /src/postfix/postfix/src/tls/tls_client.c:1401,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_client.c:1404,1
    - Dst: verify_rpk
      Src: /src/postfix/postfix/src/tls/tls_client.c:1406,1
    - Dst: SSL_get_version
      Src: /src/postfix/postfix/src/tls/tls_client.c:1413,1
    - Dst: SSL_get_current_cipher
      Src: /src/postfix/postfix/src/tls/tls_client.c:1414,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/postfix/postfix/src/tls/tls_client.c:1415,1
    - Dst: SSL_CIPHER_get_bits
      Src: /src/postfix/postfix/src/tls/tls_client.c:1416,1
    - Dst: tls_stream_start
      Src: /src/postfix/postfix/src/tls/tls_client.c:1424,1
    - Dst: tls_get_signature_params
      Src: /src/postfix/postfix/src/tls/tls_client.c:1429,1
    - Dst: tls_log_summary
      Src: /src/postfix/postfix/src/tls/tls_client.c:1432,1
    - Dst: tls_int_seed
      Src: /src/postfix/postfix/src/tls/tls_client.c:1434,1
    - Dst: trw_is_reported
      Src: /src/postfix/postfix/src/tls/tls_client.c:1447,1
    - Dst: trw_is_skip_reused_hs
      Src: /src/postfix/postfix/src/tls/tls_client.c:1449,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - TLScontext
    - props
    argTypes:
    - TLS_SESS_STATE*
    - TLS_CLIENT_START_PROPS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1330
    functionDepth: 5
    functionLinenumber: 1330
    functionLinenumberEnd: 1453
    functionName: tls_client_post_connect
    functionSourceFile: /src/postfix/postfix/src/tls/tls_client.c
    functionUses: 2
    functionsReached:
    - tls_cert_fprint
    - SSL_get_current_cipher
    - tls_log_summary
    - SSL_CIPHER_get_bits
    - msg_info
    - SSL_get_rbio
    - verify_rpk
    - tls_int_seed
    - tls_set_bio_callback
    - trw_is_skip_reused_hs
    - SSL_get0_peer_rpk
    - TLS_PEEK_PEER_CERT
    - tls_pkey_fprint
    - SSL_CIPHER_get_name
    - X509_get0_pubkey
    - OPENSSL_VERSION_PREREQ
    - SSL_get_version
    - tls_get_signature_params
    - trw_is_reported
    - verify_x509
    - tls_stream_start
    - SSL_session_reused
    - mystrdup
    linkageType: ''
    returnType: TLS_SESS_STATE
    signature: "TLS_SESS_STATE *tls_client_post_connect(TLS_SESS_STATE *TLScontext,\n\t\t\t\t
      \       const TLS_CLIENT_START_PROPS *props)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_client_print.c
    functionUses: 60
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_client_print.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:99,1
    - Dst: print_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:101,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:102,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:103,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:104,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:105,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:107,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:108,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:109,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:111,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:113,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:114,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:115,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:117,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:119,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:121,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:122,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:124,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:126,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:128,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:130,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - print_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_PRINT_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 137
    functionName: tls_proxy_client_param_print
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_client_print.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_STR
    - print_fn
    - SEND_ATTR_INT
    - msg_info
    linkageType: ''
    returnType: int
    signature: "int tls_proxy_client_param_print(ATTR_PRINT_COMMON_FN print_fn, VSTREAM
      *fp,\n\t\t\t\t             int flags, const void *ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:148,1
    - Dst: print_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:152,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:153,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:154,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:155,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:156,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:157,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:158,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:159,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:160,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:161,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:162,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:163,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:164,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:165,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:166,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:167,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:168,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:169,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:170,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:171,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:172,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:173,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:174,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:175,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:176,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:177,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:178,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:179,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - print_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_PRINT_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 185
    functionName: tls_proxy_client_init_print
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_client_print.c
    functionUses: 0
    functionsReached:
    - print_fn
    - SEND_ATTR_STR
    - SEND_ATTR_INT
    - msg_info
    - STRING_OR_EMPTY
    linkageType: ''
    returnType: int
    signature: "int tls_proxy_client_init_print(ATTR_PRINT_COMMON_FN print_fn, VSTREAM
      *fp,\n\t\t\t\t            int flags, const void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: STRING_OR_EMPTY
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_client_print.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRING_OR_EMPTY(s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:200,1
    - Dst: print_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:202,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:203,1
    - Dst: print_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:207,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:208,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:209,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:210,1
    - Dst: SEND_ATTR_DATA
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:211,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - print_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_PRINT_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 218
    functionName: tls_proxy_client_tlsa_print
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_client_print.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_DATA
    - print_fn
    - SEND_ATTR_INT
    - msg_info
    linkageType: ''
    returnType: int
    signature: "int tls_proxy_client_tlsa_print(ATTR_PRINT_COMMON_FN print_fn,\n\t\t\t
      \           VSTREAM *fp, int flags, const void *ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: print_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:228,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:229,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:232,1
    - Dst: print_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:236,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:237,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:238,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:239,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - print_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_PRINT_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 247
    functionName: tls_proxy_client_dane_print
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_client_print.c
    functionUses: 0
    functionsReached:
    - print_fn
    - SEND_ATTR_STR
    - SEND_ATTR_INT
    - msg_info
    - STRING_OR_EMPTY
    - SEND_ATTR_FUNC
    linkageType: ''
    returnType: int
    signature: "int tls_proxy_client_dane_print(ATTR_PRINT_COMMON_FN print_fn,\n\t\t\t
      \           VSTREAM *fp, int flags, const void *ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: print_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:260,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:261,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:264,1
    - Dst: print_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:267,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:268,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:269,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:270,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:271,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:272,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:273,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:274,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:276,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:278,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:279,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:280,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:282,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:283,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:284,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:285,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:286,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:287,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:288,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:289,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:290,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:292,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - print_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_PRINT_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 300
    functionName: tls_proxy_client_tlsrpt_print
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_client_print.c
    functionUses: 0
    functionsReached:
    - print_fn
    - SEND_ATTR_STR
    - SEND_ATTR_INT
    - msg_info
    - STRING_OR_EMPTY
    - SEND_ATTR_FUNC
    linkageType: ''
    returnType: int
    signature: "int tls_proxy_client_tlsrpt_print(ATTR_PRINT_COMMON_FN print_fn,\n\t\t\t
      \           VSTREAM *fp, int flags, const void *ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:313,1
    - Dst: print_fn
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:317,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:318,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:319,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:320,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:321,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:322,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:323,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:324,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:325,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:326,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:327,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:328,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:329,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:330,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:331,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:332,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:333,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:334,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:335,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:336,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:337,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:338,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:339,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:341,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:342,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:343,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:346,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:349,1
    - Dst: STRING_OR_EMPTY
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:350,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_proxy_client_print.c:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - print_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_PRINT_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 356
    functionName: tls_proxy_client_start_print
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_client_print.c
    functionUses: 0
    functionsReached:
    - print_fn
    - SEND_ATTR_STR
    - SEND_ATTR_INT
    - msg_info
    - STRING_OR_EMPTY
    - SEND_ATTR_FUNC
    linkageType: ''
    returnType: int
    signature: "int tls_proxy_client_start_print(ATTR_PRINT_COMMON_FN print_fn,\n\t\t\t
      \           VSTREAM *fp, int flags, const void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: STRING_OR_EMPTY
    functionSourceFile: /src/postfix/postfix/src/tls/tls_proxy_client_print.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRING_OR_EMPTY(s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/postfix/postfix/src/tls/tls_prng_file.c:89,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_prng_file.c:91,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/tls/tls_prng_file.c:94,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/tls/tls_prng_file.c:96,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_prng_file.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - name
    - timeout
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 102
    functionName: tls_prng_file_open
    functionSourceFile: /src/postfix/postfix/src/tls/tls_prng_file.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - open
    - mystrdup
    - msg_info
    linkageType: ''
    returnType: TLS_PRNG_SRC
    signature: TLS_PRNG_SRC *tls_prng_file_open(const char *name, int timeout)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_prng_file.c:114,1
    - Dst: lseek
      Src: /src/postfix/postfix/src/tls/tls_prng_file.c:116,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_prng_file.c:118,1
    - Dst: timed_read
      Src: /src/postfix/postfix/src/tls/tls_prng_file.c:123,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_prng_file.c:127,1
    - Dst: RAND_seed
      Src: /src/postfix/postfix/src/tls/tls_prng_file.c:132,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_prng_file.c:135,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - fh
    - len
    argTypes:
    - TLS_PRNG_SRC*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 138
    functionName: tls_prng_file_read
    functionSourceFile: /src/postfix/postfix/src/tls/tls_prng_file.c
    functionUses: 0
    functionsReached:
    - timed_read
    - RAND_seed
    - lseek
    - msg_info
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t tls_prng_file_read(TLS_PRNG_SRC *fh, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tls/tls_prng_file.c:148,1
    - Dst: close
      Src: /src/postfix/postfix/src/tls/tls_prng_file.c:149,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_prng_file.c:150,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/tls/tls_prng_file.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fh
    argTypes:
    - TLS_PRNG_SRC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: tls_prng_file_close
    functionSourceFile: /src/postfix/postfix/src/tls/tls_prng_file.c
    functionUses: 0
    functionsReached:
    - myfree
    - close
    - msg_info
    linkageType: ''
    returnType: int
    signature: int tls_prng_file_close(TLS_PRNG_SRC *fh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: timersub
    functionSourceFile: /src/postfix/postfix/src/tls/tls_bio_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: timersub(a, b, res)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fstat
      Src: /src/postfix/postfix/src/tls/tls_bio_ops.c:185,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/tls/tls_bio_ops.c:187,1
    - Dst: ERR_clear_error
      Src: /src/postfix/postfix/src/tls/tls_bio_ops.c:202,1
    - Dst: hsfunc
      Src: /src/postfix/postfix/src/tls/tls_bio_ops.c:205,1
    - Dst: rfunc
      Src: /src/postfix/postfix/src/tls/tls_bio_ops.c:207,1
    - Dst: wfunc
      Src: /src/postfix/postfix/src/tls/tls_bio_ops.c:209,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/tls/tls_bio_ops.c:211,1
    - Dst: SSL_get_error
      Src: /src/postfix/postfix/src/tls/tls_bio_ops.c:212,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/tls/tls_bio_ops.c:247,1
    - Dst: timersub
      Src: /src/postfix/postfix/src/tls/tls_bio_ops.c:248,1
    - Dst: write_wait
      Src: /src/postfix/postfix/src/tls/tls_bio_ops.c:256,1
    - Dst: read_wait
      Src: /src/postfix/postfix/src/tls/tls_bio_ops.c:259,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tls/tls_bio_ops.c:271,1
    - Dst: tls_print_errors
      Src: /src/postfix/postfix/src/tls/tls_bio_ops.c:284,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 5
    argNames:
    - fd
    - timeout
    - TLScontext
    - buf
    - num
    argTypes:
    - int
    - int
    - TLS_SESS_STATE*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 294
    functionName: tls_bio
    functionSourceFile: /src/postfix/postfix/src/tls/tls_bio_ops.c
    functionUses: 0
    functionsReached:
    - vstream_fstat
    - msg_panic
    - msg_warn
    - GETTIMEOFDAY
    - timersub
    - read_wait
    - tls_print_errors
    - ERR_clear_error
    - wfunc
    - SSL_get_error
    - write_wait
    - hsfunc
    - rfunc
    linkageType: ''
    returnType: int
    signature: "int tls_bio(int fd, int timeout, TLS_SESS_STATE *TLScontext,\n\t\t
      \       int (*hsfunc) (SSL *),\n\t\t        int (*rfunc) (SSL *, void *, int),\n\t\t
      \       int (*wfunc) (SSL *, const void *, int),\n\t\t        void *buf, int
      num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/header_token.c
    functionUses: 65
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/global/header_token.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: CU_CHAR_PTR
    functionSourceFile: /src/postfix/postfix/src/global/header_token.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_CHAR_PTR(x)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/header_token.c:121,1
    - Dst: CU_CHAR_PTR
      Src: /src/postfix/postfix/src/global/header_token.c:122,1
    - Dst: IS_SPACE_TAB_CR_LF
      Src: /src/postfix/postfix/src/global/header_token.c:140,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/header_token.c:175,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/header_token.c:184,1
    - Dst: IS_SPACE_TAB_CR_LF
      Src: /src/postfix/postfix/src/global/header_token.c:186,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/header_token.c:186,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/header_token.c:188,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/global/header_token.c:189,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/header_token.c:199,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/header_token.c:202,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/header_token.c:211,1
    - Dst: ISCNTRL
      Src: /src/postfix/postfix/src/global/header_token.c:211,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/header_token.c:213,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/header_token.c:215,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/header_token.c:216,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/header_token.c:227,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/header_token.c:229,1
    - Dst: IS_SPACE_TAB_CR_LF
      Src: /src/postfix/postfix/src/global/header_token.c:231,1
    - Dst: ISCNTRL
      Src: /src/postfix/postfix/src/global/header_token.c:232,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/header_token.c:232,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/header_token.c:235,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/header_token.c:238,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/header_token.c:257,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/header_token.c:260,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 99
    argCount: 6
    argNames:
    - token
    - token_len
    - token_buffer
    - ptr
    - user_specials
    - user_terminator
    argTypes:
    - HEADER_TOKEN*
    - ssize_t
    - VSTRING*
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 266
    functionName: header_token
    functionSourceFile: /src/postfix/postfix/src/global/header_token.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - strchr
    - vstring_truncate
    - CU_CHAR_PTR
    - LEN
    - msg_info
    - VSTRING_RESET
    - ISCNTRL
    - IS_SPACE_TAB_CR_LF
    - STR
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t header_token(HEADER_TOKEN *token, ssize_t token_len,\n\t\t
      \            VSTRING *token_buffer, const char **ptr,\n\t\t             const
      char *user_specials, int user_terminator)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ISCNTRL
      Src: /src/postfix/postfix/src/global/quote_821_local.c:94,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 18
    argCount: 3
    argNames:
    - local_part
    - end
    - flags
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 107
    functionName: is_821_dot_string
    functionSourceFile: /src/postfix/postfix/src/global/quote_821_local.c
    functionUses: 0
    functionsReached:
    - ISCNTRL
    linkageType: ''
    returnType: int
    signature: int is_821_dot_string(const char *local_part, const char *end, int
      flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/quote_821_local.c:121,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/quote_821_local.c:125,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/quote_821_local.c:126,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/quote_821_local.c:128,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/quote_821_local.c:129,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - dst
    - local_part
    - end
    - flags
    argTypes:
    - VSTRING*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 131
    functionName: make_821_quoted_string
    functionSourceFile: /src/postfix/postfix/src/global/quote_821_local.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - VSTRING_TERMINATE
    linkageType: ''
    returnType: VSTRING
    signature: "VSTRING *make_821_quoted_string(VSTRING *dst, const char *local_part,\n\t\t\t\t
      \              const char *end, int flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/postfix/postfix/src/global/quote_821_local.c:144,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/quote_821_local.c:145,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/quote_821_local.c:147,1
    - Dst: is_821_dot_string
      Src: /src/postfix/postfix/src/global/quote_821_local.c:148,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/quote_821_local.c:149,1
    - Dst: make_821_quoted_string
      Src: /src/postfix/postfix/src/global/quote_821_local.c:151,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/quote_821_local.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - dst
    - addr
    - flags
    argTypes:
    - VSTRING*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 154
    functionName: quote_821_local_flags
    functionSourceFile: /src/postfix/postfix/src/global/quote_821_local.c
    functionUses: 0
    functionsReached:
    - strrchr
    - is_821_dot_string
    - strlen
    - make_821_quoted_string
    - VSTRING_RESET
    - vstring_strcat
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *quote_821_local_flags(VSTRING *dst, const char *addr, int
      flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/quote_821_local.c:168,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/quote_821_local.c:169,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/global/quote_821_local.c:171,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/global/quote_821_local.c:172,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/quote_821_local.c:173,1
    - Dst: quote_821_local
      Src: /src/postfix/postfix/src/global/quote_821_local.c:173,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/quote_821_local.c:173,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/quote_821_local.c:174,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/quote_821_local.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 177
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/quote_821_local.c
    functionUses: 5
    functionsReached:
    - vstream_fprintf
    - vstring_fgets_nonl
    - vstream_fflush
    - vstring_alloc
    - exit
    - vstring_str
    - quote_821_local
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/deliver_pass.c:90,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/global/deliver_pass.c:91,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/deliver_pass.c:93,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/deliver_pass.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: deliver_pass_initial_reply
    functionSourceFile: /src/postfix/postfix/src/global/deliver_pass.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - RECV_ATTR_STREQ
    - VSTREAM_PATH
    - attr_scan
    linkageType: ''
    returnType: int
    signature: int deliver_pass_initial_reply(VSTREAM *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: attr_print
      Src: /src/postfix/postfix/src/global/deliver_pass.c:107,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/deliver_pass.c:108,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_pass.c:109,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_pass.c:110,1
    - Dst: SEND_ATTR_LONG
      Src: /src/postfix/postfix/src/global/deliver_pass.c:111,1
    - Dst: SEND_ATTR_LONG
      Src: /src/postfix/postfix/src/global/deliver_pass.c:112,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_pass.c:113,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_pass.c:114,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/deliver_pass.c:115,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_pass.c:116,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_pass.c:117,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/deliver_pass.c:118,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/global/deliver_pass.c:119,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_pass.c:121,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_pass.c:122,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_pass.c:123,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_pass.c:124,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_pass.c:125,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_pass.c:127,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_pass.c:128,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_pass.c:129,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_pass.c:131,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_pass.c:132,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/deliver_pass.c:133,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/global/deliver_pass.c:135,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/global/deliver_pass.c:136,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/deliver_pass.c:139,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/deliver_pass.c:140,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/deliver_pass.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - stream
    - request
    - nexthop
    - rcpt
    argTypes:
    - VSTREAM*
    - DELIVER_REQUEST*
    - char*
    - RECIPIENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 146
    functionName: deliver_pass_send_request
    functionSourceFile: /src/postfix/postfix/src/global/deliver_pass.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - VSTREAM_PATH
    - SEND_ATTR_STR
    - SEND_ATTR_INT
    - attr_print
    - vstream_fflush
    - SEND_ATTR_LONG
    - SEND_ATTR_FUNC
    linkageType: ''
    returnType: int
    signature: "int deliver_pass_send_request(VSTREAM *stream, DELIVER_REQUEST *request,\n\t\t\t\t
      \            const char *nexthop,\n\t\t\t\t             RECIPIENT *rcpt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/deliver_pass.c:154,1
    - Dst: RECV_ATTR_FUNC
      Src: /src/postfix/postfix/src/global/deliver_pass.c:155,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/deliver_pass.c:156,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/deliver_pass.c:158,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/deliver_pass.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - stream
    - dsb
    argTypes:
    - VSTREAM*
    - DSN_BUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: deliver_pass_final_reply
    functionSourceFile: /src/postfix/postfix/src/global/deliver_pass.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - VSTREAM_PATH
    - RECV_ATTR_FUNC
    - attr_scan
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: int deliver_pass_final_reply(VSTREAM *stream, DSN_BUF *dsb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/deliver_pass.c:183,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/global/deliver_pass.c:184,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/deliver_pass.c:187,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/deliver_pass.c:192,1
    - Dst: info_log_addr_form_recipient
      Src: /src/postfix/postfix/src/global/deliver_pass.c:193,1
    - Dst: mail_connect_wait
      Src: /src/postfix/postfix/src/global/deliver_pass.c:195,1
    - Dst: dsb_create
      Src: /src/postfix/postfix/src/global/deliver_pass.c:196,1
    - Dst: deliver_pass_initial_reply
      Src: /src/postfix/postfix/src/global/deliver_pass.c:208,1
    - Dst: deliver_pass_send_request
      Src: /src/postfix/postfix/src/global/deliver_pass.c:209,1
    - Dst: DSN_SIMPLE
      Src: /src/postfix/postfix/src/global/deliver_pass.c:210,1
    - Dst: defer_append
      Src: /src/postfix/postfix/src/global/deliver_pass.c:211,1
    - Dst: DEL_REQ_TRACE_FLAGS
      Src: /src/postfix/postfix/src/global/deliver_pass.c:211,1
    - Dst: deliver_pass_final_reply
      Src: /src/postfix/postfix/src/global/deliver_pass.c:214,1
    - Dst: DSN_SIMPLE
      Src: /src/postfix/postfix/src/global/deliver_pass.c:216,1
    - Dst: defer_append
      Src: /src/postfix/postfix/src/global/deliver_pass.c:217,1
    - Dst: DEL_REQ_TRACE_FLAGS
      Src: /src/postfix/postfix/src/global/deliver_pass.c:217,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/deliver_pass.c:225,1
    - Dst: dsb_free
      Src: /src/postfix/postfix/src/global/deliver_pass.c:226,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/deliver_pass.c:227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - class
    - service
    - request
    - rcpt
    argTypes:
    - char*
    - char*
    - DELIVER_REQUEST*
    - RECIPIENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 230
    functionName: deliver_pass
    functionSourceFile: /src/postfix/postfix/src/global/deliver_pass.c
    functionUses: 0
    functionsReached:
    - deliver_pass_send_request
    - DEL_REQ_TRACE_FLAGS
    - deliver_pass_initial_reply
    - deliver_pass_final_reply
    - dsb_free
    - vstream_fclose
    - msg_info
    - mail_connect_wait
    - dsb_create
    - info_log_addr_form_recipient
    - DSN_SIMPLE
    - myfree
    - defer_append
    - split_at
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: int
    signature: "int deliver_pass(const char *class, const char *service,\n\t\t             DELIVER_REQUEST
      *request,\n\t\t             RECIPIENT *rcpt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deliver_pass
      Src: /src/postfix/postfix/src/global/deliver_pass.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - class
    - service
    - request
    argTypes:
    - char*
    - char*
    - DELIVER_REQUEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 250
    functionName: deliver_pass_all
    functionSourceFile: /src/postfix/postfix/src/global/deliver_pass.c
    functionUses: 0
    functionsReached:
    - deliver_pass
    linkageType: ''
    returnType: int
    signature: "int deliver_pass_all(const char *class, const char *service,\n\t\t\t
      \        DELIVER_REQUEST *request)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/clnt_stream.c:129,1
    - Dst: clnt_stream_close
      Src: /src/postfix/postfix/src/global/clnt_stream.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: clnt_stream_event
    functionSourceFile: /src/postfix/postfix/src/global/clnt_stream.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - clnt_stream_close
    linkageType: ''
    returnType: void
    signature: void clnt_stream_event(int unused_event, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clnt_stream_event
      Src: /src/postfix/postfix/src/global/clnt_stream.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 152
    functionName: clnt_stream_ttl_event
    functionSourceFile: /src/postfix/postfix/src/global/clnt_stream.c
    functionUses: 0
    functionsReached:
    - clnt_stream_event
    linkageType: ''
    returnType: void
    signature: void clnt_stream_ttl_event(int event, void *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/clnt_stream.c:163,1
    - Dst: mail_connect_wait
      Src: /src/postfix/postfix/src/global/clnt_stream.c:174,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/global/clnt_stream.c:176,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/clnt_stream.c:176,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/global/clnt_stream.c:177,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/clnt_stream.c:177,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/global/clnt_stream.c:179,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/global/clnt_stream.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - clnt_stream
    argTypes:
    - CLNT_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 183
    functionName: clnt_stream_open
    functionSourceFile: /src/postfix/postfix/src/global/clnt_stream.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - event_request_timer
    - event_enable_read
    - close_on_exec
    - mail_connect_wait
    - vstream_fileno
    linkageType: ''
    returnType: void
    signature: void clnt_stream_open(CLNT_STREAM *clnt_stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/clnt_stream.c:194,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/clnt_stream.c:200,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/global/clnt_stream.c:201,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/clnt_stream.c:201,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/global/clnt_stream.c:202,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/global/clnt_stream.c:203,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/clnt_stream.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - clnt_stream
    argTypes:
    - CLNT_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 206
    functionName: clnt_stream_close
    functionSourceFile: /src/postfix/postfix/src/global/clnt_stream.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - vstream_fclose
    - msg_info
    - event_disable_readwrite
    - vstream_fileno
    - event_cancel_timer
    linkageType: ''
    returnType: void
    signature: void clnt_stream_close(CLNT_STREAM *clnt_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clnt_stream_close
      Src: /src/postfix/postfix/src/global/clnt_stream.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - clnt_stream
    argTypes:
    - CLNT_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: clnt_stream_recover
    functionSourceFile: /src/postfix/postfix/src/global/clnt_stream.c
    functionUses: 0
    functionsReached:
    - clnt_stream_close
    linkageType: ''
    returnType: void
    signature: void clnt_stream_recover(CLNT_STREAM *clnt_stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clnt_stream_open
      Src: /src/postfix/postfix/src/global/clnt_stream.c:232,1
    - Dst: readable
      Src: /src/postfix/postfix/src/global/clnt_stream.c:234,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/clnt_stream.c:234,1
    - Dst: clnt_stream_close
      Src: /src/postfix/postfix/src/global/clnt_stream.c:235,1
    - Dst: clnt_stream_open
      Src: /src/postfix/postfix/src/global/clnt_stream.c:236,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/global/clnt_stream.c:239,1
    - Dst: handshake
      Src: /src/postfix/postfix/src/global/clnt_stream.c:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - clnt_stream
    argTypes:
    - CLNT_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 246
    functionName: clnt_stream_access
    functionSourceFile: /src/postfix/postfix/src/global/clnt_stream.c
    functionUses: 0
    functionsReached:
    - readable
    - event_request_timer
    - clnt_stream_close
    - handshake
    - vstream_fileno
    - clnt_stream_open
    linkageType: ''
    returnType: VSTREAM
    signature: VSTREAM *clnt_stream_access(CLNT_STREAM *clnt_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/clnt_stream.c:259,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/clnt_stream.c:264,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/clnt_stream.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - class
    - service
    - timeout
    - ttl
    - handshake
    argTypes:
    - char*
    - char*
    - int
    - int
    - CLNT_STREAM_HANDSHAKE_FN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 267
    functionName: clnt_stream_create
    functionSourceFile: /src/postfix/postfix/src/global/clnt_stream.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - mystrdup
    linkageType: ''
    returnType: CLNT_STREAM
    signature: "CLNT_STREAM *clnt_stream_create(const char *class, const char *service,\n\t\t\t\t
      \       int timeout, int ttl,\n\t\t\t\t        CLNT_STREAM_HANDSHAKE_FN handshake)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clnt_stream_close
      Src: /src/postfix/postfix/src/global/clnt_stream.c:274,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/clnt_stream.c:275,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/clnt_stream.c:276,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/clnt_stream.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - clnt_stream
    argTypes:
    - CLNT_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 278
    functionName: clnt_stream_free
    functionSourceFile: /src/postfix/postfix/src/global/clnt_stream.c
    functionUses: 0
    functionsReached:
    - clnt_stream_close
    - myfree
    linkageType: ''
    returnType: void
    signature: void clnt_stream_free(CLNT_STREAM *clnt_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - o
    - ','
    - f
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: addr_match_list_init
    functionSourceFile: /src/postfix/postfix/src/global/addr_match_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: addr_match_list_init(o, f, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: addr_match_list_match
    functionSourceFile: /src/postfix/postfix/src/global/addr_match_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: addr_match_list_match(l, a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_hostname
      Src: /src/postfix/postfix/src/global/mail_params.c:452,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/mail_params.c:454,1
    - Dst: mail_conf_lookup_eval
      Src: /src/postfix/postfix/src/global/mail_params.c:456,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/mail_params.c:459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 463
    functionName: check_myhostname
    functionSourceFile: /src/postfix/postfix/src/global/mail_params.c
    functionUses: 0
    functionsReached:
    - concatenate
    - strchr
    - mail_conf_lookup_eval
    - get_hostname
    linkageType: ''
    returnType: char
    signature: char *check_myhostname(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/mail_params.c:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 484
    functionName: check_mydomainname
    functionSourceFile: /src/postfix/postfix/src/global/mail_params.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char
    signature: char *check_mydomainname(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getpwnam
      Src: /src/postfix/postfix/src/global/mail_params.c:492,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_params.c:493,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_params.c:497,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_params.c:501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 504
    functionName: check_default_privs
    functionSourceFile: /src/postfix/postfix/src/global/mail_params.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - getpwnam
    linkageType: ''
    returnType: void
    signature: void check_default_privs(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getpwnam
      Src: /src/postfix/postfix/src/global/mail_params.c:512,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_params.c:513,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_params.c:517,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_params.c:521,1
    - Dst: getpwuid
      Src: /src/postfix/postfix/src/global/mail_params.c:531,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/mail_params.c:532,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_params.c:533,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 538
    functionName: check_mail_owner
    functionSourceFile: /src/postfix/postfix/src/global/mail_params.c
    functionUses: 0
    functionsReached:
    - strcmp
    - msg_fatal
    - getpwuid
    - getpwnam
    linkageType: ''
    returnType: void
    signature: void check_mail_owner(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getgrnam
      Src: /src/postfix/postfix/src/global/mail_params.c:546,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_params.c:547,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_params.c:551,1
    - Dst: getgrgid
      Src: /src/postfix/postfix/src/global/mail_params.c:560,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/mail_params.c:561,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_params.c:562,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 567
    functionName: check_sgid_group
    functionSourceFile: /src/postfix/postfix/src/global/mail_params.c
    functionUses: 0
    functionsReached:
    - getgrgid
    - msg_fatal
    - strcmp
    - getgrnam
    linkageType: ''
    returnType: void
    signature: void check_sgid_group(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/mail_params.c:573,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_params.c:574,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_params.c:579,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_params.c:585,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_params.c:591,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_params.c:597,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 602
    functionName: check_overlap
    functionSourceFile: /src/postfix/postfix/src/global/mail_params.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - strcmp
    linkageType: ''
    returnType: void
    signature: void check_overlap(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_params.c:610,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_params.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 622
    functionName: read_param_from_file
    functionSourceFile: /src/postfix/postfix/src/global/mail_params.c
    functionUses: 0
    functionsReached:
    - vstring_alloc
    linkageType: ''
    returnType: char
    signature: char *read_param_from_file(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - start
    - ','
    - var
    - ','
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 621
    functionName: SKIP
    functionSourceFile: /src/postfix/postfix/src/global/mail_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKIP(start, var, cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 627
    functionName: TRIM
    functionSourceFile: /src/postfix/postfix/src/global/mail_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRIM(s)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: compat_level_from_string
      Src: /src/postfix/postfix/src/global/mail_params.c:688,1
    - Dst: mail_conf_lookup
      Src: /src/postfix/postfix/src/global/mail_params.c:690,1
    - Dst: mail_conf_lookup
      Src: /src/postfix/postfix/src/global/mail_params.c:692,1
    - Dst: mail_conf_lookup
      Src: /src/postfix/postfix/src/global/mail_params.c:694,1
    - Dst: mail_conf_lookup
      Src: /src/postfix/postfix/src/global/mail_params.c:696,1
    - Dst: compat_level_from_string
      Src: /src/postfix/postfix/src/global/mail_params.c:705,1
    - Dst: mail_conf_lookup
      Src: /src/postfix/postfix/src/global/mail_params.c:706,1
    - Dst: mail_conf_lookup
      Src: /src/postfix/postfix/src/global/mail_params.c:708,1
    - Dst: mail_conf_lookup
      Src: /src/postfix/postfix/src/global/mail_params.c:710,1
    - Dst: mail_conf_lookup
      Src: /src/postfix/postfix/src/global/mail_params.c:712,1
    - Dst: mail_conf_lookup
      Src: /src/postfix/postfix/src/global/mail_params.c:714,1
    - Dst: compat_level_from_string
      Src: /src/postfix/postfix/src/global/mail_params.c:722,1
    - Dst: mail_conf_lookup
      Src: /src/postfix/postfix/src/global/mail_params.c:723,1
    - Dst: mail_conf_lookup
      Src: /src/postfix/postfix/src/global/mail_params.c:725,1
    - Dst: mail_conf_lookup
      Src: /src/postfix/postfix/src/global/mail_params.c:728,1
    - Dst: mail_conf_lookup
      Src: /src/postfix/postfix/src/global/mail_params.c:729,1
    - Dst: compat_level_from_string
      Src: /src/postfix/postfix/src/global/mail_params.c:737,1
    - Dst: mail_conf_lookup
      Src: /src/postfix/postfix/src/global/mail_params.c:738,1
    - Dst: mail_conf_lookup
      Src: /src/postfix/postfix/src/global/mail_params.c:746,1
    - Dst: mail_conf_lookup
      Src: /src/postfix/postfix/src/global/mail_params.c:753,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 756
    functionName: check_legacy_defaults
    functionSourceFile: /src/postfix/postfix/src/global/mail_params.c
    functionUses: 0
    functionsReached:
    - mail_conf_lookup
    - compat_level_from_string
    linkageType: ''
    returnType: void
    signature: void check_legacy_defaults(void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: compat_level_relop_register
      Src: /src/postfix/postfix/src/global/mail_params.c:931,1
    - Dst: get_mail_conf_str_table
      Src: /src/postfix/postfix/src/global/mail_params.c:932,1
    - Dst: compat_level_from_string
      Src: /src/postfix/postfix/src/global/mail_params.c:933,1
    - Dst: check_legacy_defaults
      Src: /src/postfix/postfix/src/global/mail_params.c:934,1
    - Dst: get_mail_conf_str_table
      Src: /src/postfix/postfix/src/global/mail_params.c:940,1
    - Dst: msg_syslog_set_facility
      Src: /src/postfix/postfix/src/global/mail_params.c:942,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_params.c:943,1
    - Dst: get_mail_conf_bool_table
      Src: /src/postfix/postfix/src/global/mail_params.c:951,1
    - Dst: get_mail_conf_nbool_table
      Src: /src/postfix/postfix/src/global/mail_params.c:959,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_params.c:966,1
    - Dst: midna_domain_pre_chroot
      Src: /src/postfix/postfix/src/global/mail_params.c:972,1
    - Dst: config_known_tcp_ports
      Src: /src/postfix/postfix/src/global/mail_params.c:979,1
    - Dst: inet_proto_init
      Src: /src/postfix/postfix/src/global/mail_params.c:985,1
    - Dst: get_mail_conf_str_fn_table
      Src: /src/postfix/postfix/src/global/mail_params.c:992,1
    - Dst: valid_hostname
      Src: /src/postfix/postfix/src/global/mail_params.c:993,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_params.c:994,1
    - Dst: valid_hostname
      Src: /src/postfix/postfix/src/global/mail_params.c:997,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_params.c:998,1
    - Dst: get_mail_conf_str_table
      Src: /src/postfix/postfix/src/global/mail_params.c:1010,1
    - Dst: read_param_from_file
      Src: /src/postfix/postfix/src/global/mail_params.c:1013,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_params.c:1016,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_params.c:1017,1
    - Dst: get_mail_conf_int_table
      Src: /src/postfix/postfix/src/global/mail_params.c:1021,1
    - Dst: get_mail_conf_long_table
      Src: /src/postfix/postfix/src/global/mail_params.c:1022,1
    - Dst: get_mail_conf_bool_table
      Src: /src/postfix/postfix/src/global/mail_params.c:1023,1
    - Dst: get_mail_conf_time_table
      Src: /src/postfix/postfix/src/global/mail_params.c:1024,1
    - Dst: check_default_privs
      Src: /src/postfix/postfix/src/global/mail_params.c:1025,1
    - Dst: check_mail_owner
      Src: /src/postfix/postfix/src/global/mail_params.c:1026,1
    - Dst: check_sgid_group
      Src: /src/postfix/postfix/src/global/mail_params.c:1027,1
    - Dst: check_overlap
      Src: /src/postfix/postfix/src/global/mail_params.c:1028,1
    - Dst: set_logwriter_create_perms
      Src: /src/postfix/postfix/src/global/mail_params.c:1033,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_params.c:1034,1
    - Dst: get_mail_conf_str_fn_table
      Src: /src/postfix/postfix/src/global/mail_params.c:1043,1
    - Dst: own_inet_addr_list
      Src: /src/postfix/postfix/src/global/mail_params.c:1050,1
    - Dst: set_mail_conf_int
      Src: /src/postfix/postfix/src/global/mail_params.c:1055,1
    - Dst: getpid
      Src: /src/postfix/postfix/src/global/mail_params.c:1055,1
    - Dst: time
      Src: /src/postfix/postfix/src/global/mail_params.c:1060,1
    - Dst: safe_getenv
      Src: /src/postfix/postfix/src/global/mail_params.c:1066,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/mail_params.c:1067,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/global/mail_params.c:1068,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_params.c:1069,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/global/mail_params.c:1074,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_params.c:1075,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/global/mail_params.c:1081,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_params.c:1082,1
    - Dst: verp_delims_verify
      Src: /src/postfix/postfix/src/global/mail_params.c:1088,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_params.c:1089,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 760
    functionDepth: 2
    functionLinenumber: 760
    functionLinenumberEnd: 1092
    functionName: mail_params_init
    functionSourceFile: /src/postfix/postfix/src/global/mail_params.c
    functionUses: 0
    functionsReached:
    - get_mail_conf_long_table
    - get_mail_conf_bool_table
    - getpid
    - midna_domain_pre_chroot
    - safe_getenv
    - inet_proto_init
    - setenv
    - get_mail_conf_int_table
    - check_default_privs
    - set_logwriter_create_perms
    - read_param_from_file
    - msg_syslog_set_facility
    - strcspn
    - get_mail_conf_str_table
    - get_mail_conf_str_fn_table
    - check_mail_owner
    - get_mail_conf_time_table
    - check_overlap
    - verp_delims_verify
    - strcasecmp_utf8
    - compat_level_relop_register
    - valid_hostname
    - time
    - compat_level_from_string
    - get_mail_conf_nbool_table
    - myfree
    - set_mail_conf_int
    - config_known_tcp_ports
    - msg_warn
    - check_legacy_defaults
    - check_sgid_group
    - strcmp
    - own_inet_addr_list
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void mail_params_init()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:176,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:181,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:187,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:188,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:189,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:232,1
    - Dst: PQescapeStringConn
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:233,1
    - Dst: vstring_end
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:233,1
    - Dst: VSTRING_SKIP
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:235,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:243,1
    - Dst: PQerrorMessage
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:244,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - dict
    - name
    - result
    argTypes:
    - DICT*
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 248
    functionName: dict_pgsql_quote
    functionSourceFile: /src/postfix/postfix/src/global/dict_pgsql.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstring_end
    - msg_warn
    - strlen
    - VSTRING_LEN
    - VSTRING_SPACE
    - PQerrorMessage
    - VSTRING_TERMINATE
    - PQescapeStringConn
    - VSTRING_SKIP
    linkageType: ''
    returnType: void
    signature: void dict_pgsql_quote(DICT *dict, const char *name, VSTRING *result)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: INIT_VSTR
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:276,1
    - Dst: INIT_VSTR
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:277,1
    - Dst: valid_utf8_stringz
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:286,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:288,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:299,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:300,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:301,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:301,1
    - Dst: db_common_check_domain
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:309,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:311,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:315,1
    - Dst: db_common_expand
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:325,1
    - Dst: plpgsql_query
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:330,1
    - Dst: PQntuples
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:334,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:336,1
    - Dst: PQclear
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:338,1
    - Dst: PQnfields
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:341,1
    - Dst: PQgetvalue
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:345,1
    - Dst: db_common_expand
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:346,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:350,1
    - Dst: PQclear
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:357,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:358,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 2
    argNames:
    - dict
    - name
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 360
    functionName: dict_pgsql_lookup
    functionSourceFile: /src/postfix/postfix/src/global/dict_pgsql.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - db_common_check_domain
    - plpgsql_query
    - PQgetvalue
    - PQnfields
    - INIT_VSTR
    - vstring_alloc
    - PQntuples
    - msg_info
    - DICT_ERR_VAL_RETURN
    - db_common_expand
    - vstring_strcpy
    - vstring_str
    - valid_utf8_stringz
    - PQclear
    - lowercase
    linkageType: ''
    returnType: char
    signature: char *dict_pgsql_lookup(DICT *dict, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: INIT_VSTR
    functionSourceFile: /src/postfix/postfix/src/global/dict_pgsql.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INIT_VSTR(buf, len)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - host
    - stat
    - type
    - t
    argTypes:
    - HOST*
    - unsigned
    - unsigned
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 374
    functionName: dict_pgsql_check_stat
    functionSourceFile: /src/postfix/postfix/src/global/dict_pgsql.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dict_pgsql_check_stat(HOST *host, unsigned stat, unsigned type,\n\t\t\t\t
      \        time_t t)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:385,1
    - Dst: dict_pgsql_check_stat
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:387,1
    - Dst: myrand
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:393,1
    - Dst: dict_pgsql_check_stat
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:396,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - PLDB
    - stat
    - type
    argTypes:
    - PLPGSQL*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 402
    functionName: dict_pgsql_find_host
    functionSourceFile: /src/postfix/postfix/src/global/dict_pgsql.c
    functionUses: 0
    functionsReached:
    - dict_pgsql_check_stat
    - time
    - myrand
    linkageType: ''
    returnType: HOST
    signature: HOST *dict_pgsql_find_host(PLPGSQL *PLDB, unsigned stat, unsigned type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dict_pgsql_find_host
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:413,1
    - Dst: dict_pgsql_find_host
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:414,1
    - Dst: dict_pgsql_find_host
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:415,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:417,1
    - Dst: dict_pgsql_find_host
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:428,1
    - Dst: dict_pgsql_find_host
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:430,1
    - Dst: dict_pgsql_find_host
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:432,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:435,1
    - Dst: plpgsql_connect_single
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:437,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - dict_pgsql
    - PLDB
    argTypes:
    - DICT_PGSQL*
    - PLPGSQL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 444
    functionName: dict_pgsql_get_active
    functionSourceFile: /src/postfix/postfix/src/global/dict_pgsql.c
    functionUses: 0
    functionsReached:
    - plpgsql_connect_single
    - dict_pgsql_find_host
    - msg_info
    linkageType: ''
    returnType: HOST
    signature: HOST *dict_pgsql_get_active(DICT_PGSQL *dict_pgsql, PLPGSQL *PLDB)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: plpgsql_close_host
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 454
    functionName: dict_pgsql_event
    functionSourceFile: /src/postfix/postfix/src/global/dict_pgsql.c
    functionUses: 0
    functionsReached:
    - plpgsql_close_host
    linkageType: ''
    returnType: void
    signature: void dict_pgsql_event(int unused_event, void *context)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dict_pgsql_get_active
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:472,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:479,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:480,1
    - Dst: db_common_expand
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:481,1
    - Dst: plpgsql_down_host
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:487,1
    - Dst: PQexec
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:501,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:501,1
    - Dst: PQresultStatus
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:517,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:522,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:524,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:528,1
    - Dst: PQresultErrorMessage
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:529,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:532,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:536,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:547,1
    - Dst: PQerrorMessage
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:548,1
    - Dst: PQclear
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:555,1
    - Dst: plpgsql_down_host
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:556,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - dict_pgsql
    - name
    - query
    argTypes:
    - DICT_PGSQL*
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 463
    functionDepth: 3
    functionLinenumber: 463
    functionLinenumberEnd: 560
    functionName: plpgsql_query
    functionSourceFile: /src/postfix/postfix/src/global/dict_pgsql.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - event_request_timer
    - plpgsql_down_host
    - PQexec
    - PQresultStatus
    - dict_pgsql_get_active
    - msg_info
    - VSTRING_RESET
    - PQresultErrorMessage
    - VSTRING_TERMINATE
    - PQerrorMessage
    - vstring_str
    - PQclear
    - db_common_expand
    linkageType: ''
    returnType: PGSQL_RES
    signature: "PGSQL_RES *plpgsql_query(DICT_PGSQL *dict_pgsql,\n\t\t\t\t        const
      char *name,\n\t\t\t\t        VSTRING *query)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PQconnectdb
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:570,1
    - Dst: PQsetdbLogin
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:572,1
    - Dst: PQstatus
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:576,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:577,1
    - Dst: PQerrorMessage
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:578,1
    - Dst: plpgsql_down_host
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:579,1
    - Dst: PQsetClientEncoding
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:582,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:583,1
    - Dst: plpgsql_down_host
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:585,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:589,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - dict_pgsql
    - host
    argTypes:
    - DICT_PGSQL*
    - HOST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 593
    functionName: plpgsql_connect_single
    functionSourceFile: /src/postfix/postfix/src/global/dict_pgsql.c
    functionUses: 1
    functionsReached:
    - PQsetClientEncoding
    - msg_warn
    - PQstatus
    - PQconnectdb
    - plpgsql_down_host
    - PQerrorMessage
    - msg_info
    - PQsetdbLogin
    linkageType: ''
    returnType: void
    signature: void plpgsql_connect_single(DICT_PGSQL *dict_pgsql, HOST *host)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PQfinish
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - host
    argTypes:
    - HOST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 603
    functionName: plpgsql_close_host
    functionSourceFile: /src/postfix/postfix/src/global/dict_pgsql.c
    functionUses: 1
    functionsReached:
    - PQfinish
    linkageType: ''
    returnType: void
    signature: void plpgsql_close_host(HOST *host)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PQfinish
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:612,1
    - Dst: time
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:614,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - host
    - retry_interval
    argTypes:
    - HOST*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 617
    functionName: plpgsql_down_host
    functionSourceFile: /src/postfix/postfix/src/global/dict_pgsql.c
    functionUses: 2
    functionsReached:
    - PQfinish
    - event_cancel_timer
    - time
    linkageType: ''
    returnType: void
    signature: void plpgsql_down_host(HOST *host, int retry_interval)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:629,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:630,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:631,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:632,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:633,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:635,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:637,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:643,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:646,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:652,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:653,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:655,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:656,1
    - Dst: db_common_sql_build_query
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:658,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:659,1
    - Dst: db_common_parse
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:666,1
    - Dst: db_common_parse
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:668,1
    - Dst: db_common_parse_domain
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:669,1
    - Dst: db_common_dict_partial
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:675,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:680,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:682,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:684,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:686,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:687,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:689,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:694,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:695,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 2
    argNames:
    - dict_pgsql
    - pgsqlcf
    argTypes:
    - DICT_PGSQL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 696
    functionName: pgsql_parse_config
    functionSourceFile: /src/postfix/postfix/src/global/dict_pgsql.c
    functionUses: 0
    functionsReached:
    - db_common_dict_partial
    - vstring_sprintf
    - vstring_export
    - db_common_sql_build_query
    - vstring_alloc
    - msg_info
    - myfree
    - db_common_parse_domain
    - argv_add
    - argv_split
    - db_common_parse
    - cfg_get_str
    - cfg_get_int
    - argv_terminate
    linkageType: ''
    returnType: void
    signature: void pgsql_parse_config(DICT_PGSQL *dict_pgsql, const char *pgsqlcf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:709,1
    - Dst: cfg_parser_alloc
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:716,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:717,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:720,1
    - Dst: pgsql_parse_config
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:726,1
    - Dst: plpgsql_init
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:728,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:730,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:733,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:739,1
    - Dst: dict_pgsql_close
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:743,1
    - Dst: cfg_get_owner
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:746,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - name
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 700
    functionDepth: 2
    functionLinenumber: 700
    functionLinenumberEnd: 748
    functionName: dict_pgsql_open
    functionSourceFile: /src/postfix/postfix/src/global/dict_pgsql.c
    functionUses: 0
    functionsReached:
    - dict_pgsql_close
    - plpgsql_init
    - pgsql_parse_config
    - cfg_get_owner
    - msg_info
    - cfg_parser_alloc
    - dict_surrogate
    - dict_alloc
    - msg_fatal
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_pgsql_open(const char *name, int open_flags, int dict_flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:757,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:759,1
    - Dst: host_init
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - hosts
    argTypes:
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 768
    functionName: plpgsql_init
    functionSourceFile: /src/postfix/postfix/src/global/dict_pgsql.c
    functionUses: 1
    functionsReached:
    - mymalloc
    - host_init
    linkageType: ''
    returnType: PLPGSQL
    signature: PLPGSQL *plpgsql_init(ARGV *hosts)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:776,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:780,1
    - Dst: valid_uri_scheme
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:787,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:789,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:799,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:799,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:801,1
    - Dst: split_at_right
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:804,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:811,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 817
    functionName: host_init
    functionSourceFile: /src/postfix/postfix/src/global/dict_pgsql.c
    functionUses: 1
    functionsReached:
    - msg_info
    - valid_uri_scheme
    - split_at_right
    - strncmp
    - mymalloc
    - mystrdup
    linkageType: ''
    returnType: HOST
    signature: HOST *host_init(const char *hostname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: plpgsql_dealloc
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:825,1
    - Dst: cfg_parser_free
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:826,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:827,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:828,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:829,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:830,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:831,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:832,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:834,1
    - Dst: db_common_free_ctx
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:836,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:838,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:839,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 840
    functionName: dict_pgsql_close
    functionSourceFile: /src/postfix/postfix/src/global/dict_pgsql.c
    functionUses: 1
    functionsReached:
    - db_common_free_ctx
    - dict_free
    - argv_free
    - cfg_parser_free
    - myfree
    - plpgsql_dealloc
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_pgsql_close(DICT *dict)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:849,1
    - Dst: PQfinish
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:851,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:852,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:853,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:854,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:856,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_pgsql.c:857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - PLDB
    argTypes:
    - PLPGSQL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 858
    functionName: plpgsql_dealloc
    functionSourceFile: /src/postfix/postfix/src/global/dict_pgsql.c
    functionUses: 1
    functionsReached:
    - PQfinish
    - event_cancel_timer
    - myfree
    linkageType: ''
    returnType: void
    signature: void plpgsql_dealloc(PLPGSQL *PLDB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/header_opts.c:112,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/global/header_opts.c:113,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/header_opts.c:115,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/header_opts.c:117,1
    - Dst: TOLOWER
      Src: /src/postfix/postfix/src/global/header_opts.c:117,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/header_opts.c:118,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/global/header_opts.c:119,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/header_opts.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 121
    functionName: header_opts_init
    functionSourceFile: /src/postfix/postfix/src/global/header_opts.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - htable_create
    - vstring_alloc
    - TOLOWER
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - htable_enter
    - vstring_str
    linkageType: ''
    returnType: void
    signature: void header_opts_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argv_split
      Src: /src/postfix/postfix/src/global/header_opts.c:142,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/global/header_opts.c:144,1
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/global/header_opts.c:145,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/header_opts.c:146,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/global/header_opts.c:149,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/global/header_opts.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 156
    functionName: header_drop_init
    functionSourceFile: /src/postfix/postfix/src/global/header_opts.c
    functionUses: 0
    functionsReached:
    - argv_free
    - htable_enter
    - htable_locate
    - argv_split
    - mymalloc
    - lowercase
    linkageType: ''
    returnType: void
    signature: void header_drop_init(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: header_opts_init
      Src: /src/postfix/postfix/src/global/header_opts.c:165,1
    - Dst: header_drop_init
      Src: /src/postfix/postfix/src/global/header_opts.c:166,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/header_opts.c:172,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/header_opts.c:175,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/header_opts.c:176,1
    - Dst: TOLOWER
      Src: /src/postfix/postfix/src/global/header_opts.c:176,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/global/header_opts.c:178,1
    - Dst: trimblanks
      Src: /src/postfix/postfix/src/global/header_opts.c:179,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/header_opts.c:179,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/header_opts.c:180,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/header_opts.c:181,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/global/header_opts.c:182,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/header_opts.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 183
    functionName: header_opts_find
    functionSourceFile: /src/postfix/postfix/src/global/header_opts.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - VSTRING_ADDCH
    - trimblanks
    - vstring_str
    - vstring_truncate
    - VSTRING_RESET
    - TOLOWER
    - VSTRING_TERMINATE
    - header_opts_init
    - htable_find
    - header_drop_init
    linkageType: ''
    returnType: HEADER_OPTS
    signature: HEADER_OPTS *header_opts_find(const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - free
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: FREE_AND_WIPE
    functionSourceFile: /src/postfix/postfix/src/global/mail_stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_AND_WIPE(free, arg)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/global/mail_stream.c
    functionUses: 68
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MAIL_STREAM*::close
      Src: /src/postfix/postfix/src/global/mail_stream.c:158,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_stream.c:159,1
    - Dst: FREE_AND_WIPE
      Src: /src/postfix/postfix/src/global/mail_stream.c:160,1
    - Dst: FREE_AND_WIPE
      Src: /src/postfix/postfix/src/global/mail_stream.c:161,1
    - Dst: FREE_AND_WIPE
      Src: /src/postfix/postfix/src/global/mail_stream.c:162,1
    - Dst: FREE_AND_WIPE
      Src: /src/postfix/postfix/src/global/mail_stream.c:163,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_stream.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - info
    argTypes:
    - MAIL_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: mail_stream_cleanup
    functionSourceFile: /src/postfix/postfix/src/global/mail_stream.c
    functionUses: 0
    functionsReached:
    - myfree
    - MAIL_STREAM*::close
    - FREE_AND_WIPE
    - msg_warn
    linkageType: ''
    returnType: void
    signature: void mail_stream_cleanup(MAIL_STREAM *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: futimesat
      Src: /src/postfix/postfix/src/global/mail_stream.c:179,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/mail_stream.c:179,1
    - Dst: futimesat
      Src: /src/postfix/postfix/src/global/mail_stream.c:181,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/mail_stream.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - fp
    - when
    argTypes:
    - VSTREAM*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 183
    functionName: stamp_stream
    functionSourceFile: /src/postfix/postfix/src/global/mail_stream.c
    functionUses: 0
    functionsReached:
    - vstream_fileno
    - futimesat
    linkageType: ''
    returnType: int
    signature: int stamp_stream(VSTREAM *fp, time_t when)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: futimes
      Src: /src/postfix/postfix/src/global/mail_stream.c:197,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/mail_stream.c:197,1
    - Dst: futimes
      Src: /src/postfix/postfix/src/global/mail_stream.c:199,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/mail_stream.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - fp
    - when
    argTypes:
    - VSTREAM*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 201
    functionName: stamp_stream
    functionSourceFile: /src/postfix/postfix/src/global/mail_stream.c
    functionUses: 0
    functionsReached:
    - vstream_fileno
    - futimes
    linkageType: ''
    returnType: int
    signature: int stamp_stream(VSTREAM *fp, time_t when)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utime
      Src: /src/postfix/postfix/src/global/mail_stream.c:213,1
    - Dst: utime
      Src: /src/postfix/postfix/src/global/mail_stream.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - when
    argTypes:
    - char*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 217
    functionName: stamp_path
    functionSourceFile: /src/postfix/postfix/src/global/mail_stream.c
    functionUses: 0
    functionsReached:
    - utime
    linkageType: ''
    returnType: int
    signature: int stamp_path(const char *path, time_t when)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/mail_stream.c:272,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/mail_stream.c:275,1
    - Dst: time
      Src: /src/postfix/postfix/src/global/mail_stream.c:278,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/mail_stream.c:296,1
    - Dst: stamp_stream
      Src: /src/postfix/postfix/src/global/mail_stream.c:298,1
    - Dst: stamp_path
      Src: /src/postfix/postfix/src/global/mail_stream.c:300,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/mail_stream.c:300,1
    - Dst: fchmod
      Src: /src/postfix/postfix/src/global/mail_stream.c:302,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/mail_stream.c:302,1
    - Dst: fsync
      Src: /src/postfix/postfix/src/global/mail_stream.c:304,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/mail_stream.c:304,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/global/mail_stream.c:307,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/mail_stream.c:307,1
    - Dst: time
      Src: /src/postfix/postfix/src/global/mail_stream.c:322,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mail_stream.c:324,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/mail_stream.c:324,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_stream.c:326,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_stream.c:328,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_stream.c:333,1
    - Dst: MAIL_STREAM*::close
      Src: /src/postfix/postfix/src/global/mail_stream.c:347,1
    - Dst: stamp_path
      Src: /src/postfix/postfix/src/global/mail_stream.c:357,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_stream.c:358,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_stream.c:360,1
    - Dst: mail_trigger
      Src: /src/postfix/postfix/src/global/mail_stream.c:368,1
    - Dst: mail_stream_cleanup
      Src: /src/postfix/postfix/src/global/mail_stream.c:373,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 40
    argCount: 2
    argNames:
    - info
    - unused_why
    argTypes:
    - MAIL_STREAM*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 375
    functionName: mail_stream_finish_file
    functionSourceFile: /src/postfix/postfix/src/global/mail_stream.c
    functionUses: 0
    functionsReached:
    - stamp_stream
    - msg_warn
    - VSTREAM_PATH
    - mystrdup
    - time
    - MAIL_STREAM*::close
    - vstream_fflush
    - fsync
    - fchmod
    - myfree
    - strcmp
    - mail_stream_cleanup
    - fstat
    - vstream_fileno
    - msg_fatal
    - mail_trigger
    - stamp_path
    linkageType: ''
    returnType: int
    signature: int mail_stream_finish_file(MAIL_STREAM *info, VSTRING *unused_why)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/mail_stream.c:386,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/mail_stream.c:387,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/mail_stream.c:388,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/mail_stream.c:390,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/mail_stream.c:391,1
    - Dst: mail_stream_cleanup
      Src: /src/postfix/postfix/src/global/mail_stream.c:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - info
    - why
    argTypes:
    - MAIL_STREAM*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 400
    functionName: mail_stream_finish_ipc
    functionSourceFile: /src/postfix/postfix/src/global/mail_stream.c
    functionUses: 0
    functionsReached:
    - mail_stream_cleanup
    - RECV_ATTR_STR
    - RECV_ATTR_INT
    - attr_scan
    linkageType: ''
    returnType: int
    signature: int mail_stream_finish_ipc(MAIL_STREAM *info, VSTRING *why)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MAIL_STREAM*::finish
      Src: /src/postfix/postfix/src/global/mail_stream.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - info
    - why
    argTypes:
    - MAIL_STREAM*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: mail_stream_finish
    functionSourceFile: /src/postfix/postfix/src/global/mail_stream.c
    functionUses: 0
    functionsReached:
    - MAIL_STREAM*::finish
    linkageType: ''
    returnType: int
    signature: int mail_stream_finish(MAIL_STREAM *info, VSTRING *why)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mail_queue_enter
      Src: /src/postfix/postfix/src/global/mail_stream.c:418,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/mail_stream.c:420,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/mail_stream.c:420,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/mail_stream.c:422,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mail_stream.c:426,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mail_stream.c:427,1
    - Dst: basename
      Src: /src/postfix/postfix/src/global/mail_stream.c:427,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/mail_stream.c:427,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mail_stream.c:428,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mail_stream.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - queue
    - class
    - service
    - mode
    argTypes:
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 436
    functionName: mail_stream_file
    functionSourceFile: /src/postfix/postfix/src/global/mail_stream.c
    functionUses: 0
    functionsReached:
    - VSTREAM_PATH
    - basename
    - msg_info
    - mymalloc
    - mystrdup
    - mail_queue_enter
    linkageType: ''
    returnType: MAIL_STREAM
    signature: "MAIL_STREAM *mail_stream_file(const char *queue, const char *class,\n\t\t\t
      \             const char *service, int mode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_stream.c:446,1
    - Dst: mail_connect_wait
      Src: /src/postfix/postfix/src/global/mail_stream.c:448,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/mail_stream.c:449,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/global/mail_stream.c:450,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/mail_stream.c:451,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/mail_stream.c:452,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/mail_stream.c:455,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mail_stream.c:460,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/mail_stream.c:460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - class
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 465
    functionName: mail_stream_service
    functionSourceFile: /src/postfix/postfix/src/global/mail_stream.c
    functionUses: 0
    functionsReached:
    - vstring_alloc
    - RECV_ATTR_STR
    - attr_scan
    - mail_connect_wait
    - vstream_fclose
    - RECV_ATTR_STREQ
    - mymalloc
    - vstring_str
    - mystrdup
    linkageType: ''
    returnType: MAIL_STREAM
    signature: MAIL_STREAM *mail_stream_service(const char *class, const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_stream.c:477,1
    - Dst: mail_parm_split
      Src: /src/postfix/postfix/src/global/mail_stream.c:489,1
    - Dst: vstream_popen
      Src: /src/postfix/postfix/src/global/mail_stream.c:490,1
    - Dst: CA_VSTREAM_POPEN_COMMAND
      Src: /src/postfix/postfix/src/global/mail_stream.c:491,1
    - Dst: CA_VSTREAM_POPEN_EXPORT
      Src: /src/postfix/postfix/src/global/mail_stream.c:492,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_stream.c:494,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/global/mail_stream.c:495,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/global/mail_stream.c:497,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/global/mail_stream.c:498,1
    - Dst: CA_VSTREAM_CTL_PATH
      Src: /src/postfix/postfix/src/global/mail_stream.c:499,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/mail_stream.c:502,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/global/mail_stream.c:503,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/mail_stream.c:504,1
    - Dst: vstream_pclose
      Src: /src/postfix/postfix/src/global/mail_stream.c:505,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_stream.c:506,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/mail_stream.c:509,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mail_stream.c:514,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/mail_stream.c:514,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 519
    functionName: mail_stream_command
    functionSourceFile: /src/postfix/postfix/src/global/mail_stream.c
    functionUses: 0
    functionsReached:
    - sleep
    - msg_warn
    - CA_VSTREAM_CTL_PATH
    - mail_parm_split
    - vstring_alloc
    - argv_free
    - CA_VSTREAM_POPEN_COMMAND
    - CA_VSTREAM_POPEN_EXPORT
    - vstream_control
    - vstream_popen
    - attr_scan
    - RECV_ATTR_STREQ
    - RECV_ATTR_STR
    - vstream_pclose
    - mymalloc
    - vstring_str
    - mystrdup
    linkageType: ''
    returnType: MAIL_STREAM
    signature: MAIL_STREAM *mail_stream_command(const char *command)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_stream.c:535,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/global/mail_stream.c:538,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/mail_stream.c:538,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/mail_stream.c:547,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_stream.c:548,1
    - Dst: FREE_AND_WIPE
      Src: /src/postfix/postfix/src/global/mail_stream.c:556,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/mail_stream.c:557,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mail_stream.c:558,1
    - Dst: FREE_AND_WIPE
      Src: /src/postfix/postfix/src/global/mail_stream.c:562,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/mail_stream.c:563,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mail_stream.c:564,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/mail_stream.c:571,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/mail_stream.c:579,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_stream.c:580,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_stream.c:585,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/global/mail_stream.c:588,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/mail_stream.c:603,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mail_stream.c:605,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/mail_stream.c:605,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_stream.c:606,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/global/mail_stream.c:608,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mail_stream.c:609,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/global/mail_stream.c:610,1
    - Dst: CA_VSTREAM_CTL_PATH
      Src: /src/postfix/postfix/src/global/mail_stream.c:610,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_stream.c:610,1
    - Dst: sane_rename
      Src: /src/postfix/postfix/src/global/mail_stream.c:613,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_stream.c:613,1
    - Dst: mail_queue_mkdirs
      Src: /src/postfix/postfix/src/global/mail_stream.c:614,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_stream.c:614,1
    - Dst: sane_rename
      Src: /src/postfix/postfix/src/global/mail_stream.c:615,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_stream.c:615,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/mail_stream.c:617,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_stream.c:619,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_stream.c:623,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_stream.c:624,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/mail_stream.c:625,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 2
    argNames:
    - info
    - op
    argTypes:
    - MAIL_STREAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 627
    functionName: mail_stream_ctl
    functionSourceFile: /src/postfix/postfix/src/global/mail_stream.c
    functionUses: 0
    functionsReached:
    - msg_info
    - vstream_control
    - mail_queue_mkdirs
    - msg_panic
    - va_start
    - sane_rename
    - VSTREAM_PATH
    - va_arg
    - vstring_alloc
    - myfree
    - vstring_free
    - va_end
    - CA_VSTREAM_CTL_PATH
    - FREE_AND_WIPE
    - strcmp
    - msg_fatal
    - mystrdup
    - mail_queue_path
    - STR
    linkageType: ''
    returnType: void
    signature: void mail_stream_ctl(MAIL_STREAM *info, int op,...)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:117,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:118,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:120,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:127,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:127,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:128,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:128,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:128,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:131,1
    - Dst: strstr
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:132,1
    - Dst: vstring_end
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:148,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:149,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:149,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:150,1
    - Dst: dsn_valid
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:161,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:161,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:163,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:164,1
    - Dst: strstr
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:165,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:170,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:175,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:176,1
    - Dst: vstring_strncat
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:177,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:177,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:178,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:181,1
    - Dst: vstring_strncat
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:182,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:182,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:183,1
    - Dst: mac_expand
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:188,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:197,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:200,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:201,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:203,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:207,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 67
    argCount: 5
    argNames:
    - buffer
    - start
    - filter
    - lookup
    - context
    argTypes:
    - VSTRING*
    - ssize_t
    - char*
    - MAC_EXP_LOOKUP_FN
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 209
    functionName: smtp_reply_footer
    functionSourceFile: /src/postfix/postfix/src/global/smtp_reply_footer.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstring_end
    - vstring_strncat
    - vstring_truncate
    - strlen
    - VSTRING_LEN
    - dsn_valid
    - VSTRING_SPACE
    - mac_expand
    - myfree
    - vstring_strcat
    - strncmp
    - VSTRING_TERMINATE
    - ISDIGIT
    - strstr
    - mystrdup
    - STR
    linkageType: ''
    returnType: int
    signature: "int smtp_reply_footer(VSTRING *buffer, ssize_t start,\n\t\t\t          const
      char *template,\n\t\t\t          const char *filter,\n\t\t\t          MAC_EXP_LOOKUP_FN
      lookup,\n\t\t\t          void *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - unused_mode
    - context
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: lookup
    functionSourceFile: /src/postfix/postfix/src/global/smtp_reply_footer.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *lookup(const char *name, int unused_mode, void *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:262,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:265,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:268,1
    - Dst: smtp_reply_footer
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:269,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:272,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:274,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:274,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:275,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:276,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:277,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:277,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:278,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:279,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:281,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:284,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/smtp_reply_footer.c:285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 286
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/smtp_reply_footer.c
    functionUses: 7
    functionsReached:
    - msg_warn
    - exit
    - vstring_alloc
    - msg_vstream_init
    - msg_info
    - strcmp
    - vstring_strcpy
    - smtp_reply_footer
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/db_common.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: db_common_alloc
    functionSourceFile: /src/postfix/postfix/src/global/db_common.c
    functionUses: 0
    functionsReached:
    - mymalloc
    linkageType: ''
    returnType: void
    signature: void *db_common_alloc(DICT *dict)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: db_common_alloc
      Src: /src/postfix/postfix/src/global/db_common.c:197,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/db_common.c:248,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 4
    argNames:
    - dict
    - ctxPtr
    - format
    - query
    argTypes:
    - DICT*
    - void**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 252
    functionName: db_common_parse
    functionSourceFile: /src/postfix/postfix/src/global/db_common.c
    functionUses: 1
    functionsReached:
    - msg_fatal
    - db_common_alloc
    linkageType: ''
    returnType: int
    signature: int db_common_parse(DICT *dict, void **ctxPtr, const char *format,
      int query)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/db_common.c:262,1
    - Dst: string_list_init
      Src: /src/postfix/postfix/src/global/db_common.c:264,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/db_common.c:273,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/db_common.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - parser
    - ctxPtr
    argTypes:
    - CFG_PARSER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 277
    functionName: db_common_parse_domain
    functionSourceFile: /src/postfix/postfix/src/global/db_common.c
    functionUses: 1
    functionsReached:
    - myfree
    - string_list_init
    - msg_fatal
    - cfg_get_str
    linkageType: ''
    returnType: void
    signature: void db_common_parse_domain(CFG_PARSER *parser, void *ctxPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ctxPtr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 289
    functionName: db_common_dict_partial
    functionSourceFile: /src/postfix/postfix/src/global/db_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int db_common_dict_partial(void *ctxPtr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string_list_free
      Src: /src/postfix/postfix/src/global/db_common.c:298,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/db_common.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctxPtr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 300
    functionName: db_common_free_ctx
    functionSourceFile: /src/postfix/postfix/src/global/db_common.c
    functionUses: 1
    functionsReached:
    - myfree
    - string_list_free
    linkageType: ''
    returnType: void
    signature: void db_common_free_ctx(void *ctxPtr)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/db_common.c:327,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/db_common.c:330,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/global/db_common.c:337,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/global/db_common.c:346,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/db_common.c:355,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/global/db_common.c:362,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/global/db_common.c:371,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/global/db_common.c:379,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/global/db_common.c:389,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/db_common.c:393,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/db_common.c:394,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/db_common.c:413,1
    - Dst: QUOTE_VAL
      Src: /src/postfix/postfix/src/global/db_common.c:417,1
    - Dst: mystrndup
      Src: /src/postfix/postfix/src/global/db_common.c:423,1
    - Dst: QUOTE_VAL
      Src: /src/postfix/postfix/src/global/db_common.c:424,1
    - Dst: QUOTE_VAL
      Src: /src/postfix/postfix/src/global/db_common.c:426,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/db_common.c:431,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/db_common.c:434,1
    - Dst: QUOTE_VAL
      Src: /src/postfix/postfix/src/global/db_common.c:436,1
    - Dst: QUOTE_VAL
      Src: /src/postfix/postfix/src/global/db_common.c:441,1
    - Dst: QUOTE_VAL
      Src: /src/postfix/postfix/src/global/db_common.c:443,1
    - Dst: mystrndup
      Src: /src/postfix/postfix/src/global/db_common.c:450,1
    - Dst: QUOTE_VAL
      Src: /src/postfix/postfix/src/global/db_common.c:451,1
    - Dst: QUOTE_VAL
      Src: /src/postfix/postfix/src/global/db_common.c:453,1
    - Dst: mystrndup
      Src: /src/postfix/postfix/src/global/db_common.c:457,1
    - Dst: QUOTE_VAL
      Src: /src/postfix/postfix/src/global/db_common.c:458,1
    - Dst: QUOTE_VAL
      Src: /src/postfix/postfix/src/global/db_common.c:460,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/db_common.c:466,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/db_common.c:469,1
    - Dst: QUOTE_VAL
      Src: /src/postfix/postfix/src/global/db_common.c:471,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/db_common.c:494,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/db_common.c:497,1
    - Dst: QUOTE_VAL
      Src: /src/postfix/postfix/src/global/db_common.c:499,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/db_common.c:504,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/db_common.c:509,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/db_common.c:511,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/db_common.c:514,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/db_common.c:516,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/global/db_common.c:518,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 125
    argCount: 6
    argNames:
    - ctxArg
    - format
    - value
    - key
    - result
    - quote_func
    argTypes:
    - void*
    - char*
    - char*
    - char*
    - VSTRING*
    - db_quote_callback_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 521
    functionName: db_common_expand
    functionSourceFile: /src/postfix/postfix/src/global/db_common.c
    functionUses: 2
    functionsReached:
    - strrchr
    - VSTRING_ADDCH
    - msg_panic
    - msg_warn
    - VSTRING_LEN
    - mystrndup
    - argv_free
    - myfree
    - VSTRING_TERMINATE
    - QUOTE_VAL
    - argv_split
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: "int db_common_expand(void *ctxArg, const char *format, const char
      *value,\n\t\t\t         const char *key, VSTRING *result,\n\t\t\t         db_quote_callback_t
      quote_func)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - d
    - ','
    - q
    - ','
    - v
    - ','
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 402
    functionName: QUOTE_VAL
    functionSourceFile: /src/postfix/postfix/src/global/db_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUOTE_VAL(d, q, v, buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/postfix/postfix/src/global/db_common.c:532,1
    - Dst: match_list_match
      Src: /src/postfix/postfix/src/global/db_common.c:536,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ctxPtr
    - addr
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 540
    functionName: db_common_check_domain
    functionSourceFile: /src/postfix/postfix/src/global/db_common.c
    functionUses: 1
    functionsReached:
    - strrchr
    - match_list_match
    linkageType: ''
    returnType: int
    signature: int db_common_check_domain(void *ctxPtr, const char *addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/db_common.c:555,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/db_common.c:556,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/db_common.c:558,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/db_common.c:559,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/db_common.c:561,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/db_common.c:562,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/db_common.c:564,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/db_common.c:567,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/db_common.c:571,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/db_common.c:572,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/db_common.c:573,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/db_common.c:574,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - query
    - parser
    argTypes:
    - VSTRING*
    - CFG_PARSER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 575
    functionName: db_common_sql_build_query
    functionSourceFile: /src/postfix/postfix/src/global/db_common.c
    functionUses: 1
    functionsReached:
    - myfree
    - msg_fatal
    - cfg_get_str
    - vstring_sprintf
    linkageType: ''
    returnType: void
    signature: void db_common_sql_build_query(VSTRING *query, CFG_PARSER *parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - t
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: REC_PUT_BUF
    functionSourceFile: /src/postfix/postfix/src/global/record.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REC_PUT_BUF(v, t, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: REC_GET_HIDDEN_TYPE
    functionSourceFile: /src/postfix/postfix/src/global/record.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REC_GET_HIDDEN_TYPE(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fp
    - ','
    - buf
    - ','
    - limit
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: rec_get
    functionSourceFile: /src/postfix/postfix/src/global/record.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rec_get(fp, buf, limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buflen
    - ','
    - reclen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: REC_SPACE_NEED
    functionSourceFile: /src/postfix/postfix/src/global/record.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REC_SPACE_NEED(buflen, reclen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/postfix/postfix/src/global/strip_addr.c:85,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/strip_addr.c:88,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/global/strip_addr.c:89,1
    - Dst: split_addr
      Src: /src/postfix/postfix/src/global/strip_addr.c:91,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/strip_addr.c:94,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/strip_addr.c:95,1
    - Dst: memmove
      Src: /src/postfix/postfix/src/global/strip_addr.c:101,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/strip_addr.c:101,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/strip_addr.c:104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - full
    - extension
    - delimiter_set
    argTypes:
    - char*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 111
    functionName: strip_addr_internal
    functionSourceFile: /src/postfix/postfix/src/global/strip_addr.c
    functionUses: 0
    functionsReached:
    - strrchr
    - memmove
    - split_addr
    - strlen
    - myfree
    - strcspn
    - mystrdup
    linkageType: ''
    returnType: char
    signature: "char *strip_addr_internal(const char *full, char **extension,\n\t\t\t
      \           const char *delimiter_set)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: strip_addr_internal
      Src: /src/postfix/postfix/src/global/strip_addr.c:135,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:137,1
    - Dst: strip_addr_internal
      Src: /src/postfix/postfix/src/global/strip_addr.c:139,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:141,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:143,1
    - Dst: strip_addr_internal
      Src: /src/postfix/postfix/src/global/strip_addr.c:145,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:147,1
    - Dst: strip_addr_internal
      Src: /src/postfix/postfix/src/global/strip_addr.c:149,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:151,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:153,1
    - Dst: strip_addr_internal
      Src: /src/postfix/postfix/src/global/strip_addr.c:155,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:157,1
    - Dst: strip_addr_internal
      Src: /src/postfix/postfix/src/global/strip_addr.c:159,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:161,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:163,1
    - Dst: strip_addr_internal
      Src: /src/postfix/postfix/src/global/strip_addr.c:165,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:167,1
    - Dst: strip_addr_internal
      Src: /src/postfix/postfix/src/global/strip_addr.c:169,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:171,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:173,1
    - Dst: strip_addr_internal
      Src: /src/postfix/postfix/src/global/strip_addr.c:175,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:177,1
    - Dst: strip_addr_internal
      Src: /src/postfix/postfix/src/global/strip_addr.c:179,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:181,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:183,1
    - Dst: strip_addr_internal
      Src: /src/postfix/postfix/src/global/strip_addr.c:185,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:187,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/strip_addr.c:188,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/strip_addr.c:189,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/strip_addr.c:190,1
    - Dst: strip_addr_internal
      Src: /src/postfix/postfix/src/global/strip_addr.c:192,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:194,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:196,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/strip_addr.c:197,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/strip_addr.c:198,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/strip_addr.c:199,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/strip_addr.c:200,1
    - Dst: strip_addr_internal
      Src: /src/postfix/postfix/src/global/strip_addr.c:202,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:204,1
    - Dst: strip_addr_internal
      Src: /src/postfix/postfix/src/global/strip_addr.c:206,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:208,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:210,1
    - Dst: strip_addr_internal
      Src: /src/postfix/postfix/src/global/strip_addr.c:212,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:214,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/strip_addr.c:215,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/strip_addr.c:216,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/strip_addr.c:217,1
    - Dst: strip_addr_internal
      Src: /src/postfix/postfix/src/global/strip_addr.c:219,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:221,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:223,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/strip_addr.c:224,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/strip_addr.c:225,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/strip_addr.c:226,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/strip_addr.c:227,1
    - Dst: strip_addr_internal
      Src: /src/postfix/postfix/src/global/strip_addr.c:229,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:231,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:233,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/strip_addr.c:234,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/strip_addr.c:235,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/strip_addr.c:236,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/strip_addr.c:237,1
    - Dst: strip_addr_internal
      Src: /src/postfix/postfix/src/global/strip_addr.c:239,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:241,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/strip_addr.c:243,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/strip_addr.c:244,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/strip_addr.c:245,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/strip_addr.c:246,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/strip_addr.c:247,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 99
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 250
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/strip_addr.c
    functionUses: 7
    functionsReached:
    - msg_panic
    - myfree
    - strip_addr_internal
    - msg_info
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: verify_clnt_update
      Src: /src/postfix/postfix/src/global/verify.c:109,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/verify.c:115,1
    - Dst: verify_clnt_update
      Src: /src/postfix/postfix/src/global/verify.c:116,1
    - Dst: log_adhoc
      Src: /src/postfix/postfix/src/global/verify.c:123,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/verify.c:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 6
    argNames:
    - queue_id
    - stats
    - recipient
    - relay
    - dsn
    - vrfy_stat
    argTypes:
    - char*
    - MSG_STATS*
    - RECIPIENT*
    - char*
    - DSN*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 130
    functionName: verify_append
    functionSourceFile: /src/postfix/postfix/src/global/verify.c
    functionUses: 0
    functionsReached:
    - verify_clnt_update
    - msg_warn
    - strcmp
    - log_adhoc
    linkageType: ''
    returnType: int
    signature: "int verify_append(const char *queue_id, MSG_STATS *stats,\n\t\t              RECIPIENT
      *recipient, const char *relay,\n\t\t              DSN *dsn, int vrfy_stat)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mail_conf_lookup_eval
      Src: /src/postfix/postfix/src/global/debug_process.c:57,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/debug_process.c:59,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/debug_process.c:60,1
    - Dst: system
      Src: /src/postfix/postfix/src/global/debug_process.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: debug_process
    functionSourceFile: /src/postfix/postfix/src/global/debug_process.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - msg_info
    - system
    - mail_conf_lookup_eval
    linkageType: ''
    returnType: void
    signature: void debug_process(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/postfix/postfix/src/global/dsn_util.c:123,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/global/dsn_util.c:129,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/global/dsn_util.c:130,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 134
    functionName: dsn_valid
    functionSourceFile: /src/postfix/postfix/src/global/dsn_util.c
    functionUses: 1
    functionsReached:
    - strspn
    - ISSPACE
    linkageType: ''
    returnType: size_t
    signature: size_t dsn_valid(const char *text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/global/dsn_util.c:152,1
    - Dst: dsn_valid
      Src: /src/postfix/postfix/src/global/dsn_util.c:154,1
    - Dst: strncpy
      Src: /src/postfix/postfix/src/global/dsn_util.c:155,1
    - Dst: dsn_valid
      Src: /src/postfix/postfix/src/global/dsn_util.c:158,1
    - Dst: strncpy
      Src: /src/postfix/postfix/src/global/dsn_util.c:159,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/dsn_util.c:162,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/global/dsn_util.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - dp
    - def_dsn
    - text
    argTypes:
    - DSN_SPLIT*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 173
    functionName: dsn_split
    functionSourceFile: /src/postfix/postfix/src/global/dsn_util.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - strncpy
    - dsn_valid
    - ISSPACE
    linkageType: ''
    returnType: DSN_SPLIT
    signature: DSN_SPLIT *dsn_split(DSN_SPLIT *dp, const char *def_dsn, const char
      *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsn_split
      Src: /src/postfix/postfix/src/global/dsn_util.c:181,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/dsn_util.c:182,1
    - Dst: DSN_STATUS
      Src: /src/postfix/postfix/src/global/dsn_util.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - def_dsn
    - text
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: dsn_prepend
    functionSourceFile: /src/postfix/postfix/src/global/dsn_util.c
    functionUses: 0
    functionsReached:
    - concatenate
    - DSN_STATUS
    - dsn_split
    linkageType: ''
    returnType: char
    signature: char *dsn_prepend(const char *def_dsn, const char *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/global/mail_command_server.c:63,1
    - Dst: attr_vscan
      Src: /src/postfix/postfix/src/global/mail_command_server.c:64,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/global/mail_command_server.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: mail_command_server
    functionSourceFile: /src/postfix/postfix/src/global/mail_command_server.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - attr_vscan
    linkageType: ''
    returnType: int
    signature: int mail_command_server(VSTREAM *stream,...)
  - 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: CA_PIPE_CMD_COMMAND
    functionSourceFile: /src/postfix/postfix/src/global/pipe_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_PIPE_CMD_COMMAND(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: CA_PIPE_CMD_ARGV
    functionSourceFile: /src/postfix/postfix/src/global/pipe_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_PIPE_CMD_ARGV(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: CA_PIPE_CMD_COPY_FLAGS
    functionSourceFile: /src/postfix/postfix/src/global/pipe_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_PIPE_CMD_COPY_FLAGS(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: CA_PIPE_CMD_SENDER
    functionSourceFile: /src/postfix/postfix/src/global/pipe_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_PIPE_CMD_SENDER(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: CA_PIPE_CMD_DELIVERED
    functionSourceFile: /src/postfix/postfix/src/global/pipe_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_PIPE_CMD_DELIVERED(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: CA_PIPE_CMD_UID
    functionSourceFile: /src/postfix/postfix/src/global/pipe_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_PIPE_CMD_UID(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: CA_PIPE_CMD_GID
    functionSourceFile: /src/postfix/postfix/src/global/pipe_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_PIPE_CMD_GID(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: CA_PIPE_CMD_TIME_LIMIT
    functionSourceFile: /src/postfix/postfix/src/global/pipe_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_PIPE_CMD_TIME_LIMIT(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: CA_PIPE_CMD_ENV
    functionSourceFile: /src/postfix/postfix/src/global/pipe_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_PIPE_CMD_ENV(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: CA_PIPE_CMD_SHELL
    functionSourceFile: /src/postfix/postfix/src/global/pipe_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_PIPE_CMD_SHELL(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: CA_PIPE_CMD_EOL
    functionSourceFile: /src/postfix/postfix/src/global/pipe_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_PIPE_CMD_EOL(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: CA_PIPE_CMD_EXPORT
    functionSourceFile: /src/postfix/postfix/src/global/pipe_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_PIPE_CMD_EXPORT(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: CA_PIPE_CMD_ORIG_RCPT
    functionSourceFile: /src/postfix/postfix/src/global/pipe_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_PIPE_CMD_ORIG_RCPT(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: CA_PIPE_CMD_CWD
    functionSourceFile: /src/postfix/postfix/src/global/pipe_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_PIPE_CMD_CWD(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: CA_PIPE_CMD_CHROOT
    functionSourceFile: /src/postfix/postfix/src/global/pipe_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_PIPE_CMD_CHROOT(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - class
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: HBC_HEADER_INDEX
    functionSourceFile: /src/postfix/postfix/src/global/header_body_checks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HBC_HEADER_INDEX(class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hbc
    - ','
    - index
    - ','
    - name
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 217
    functionName: HBC_INIT
    functionSourceFile: /src/postfix/postfix/src/global/header_body_checks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HBC_INIT(hbc, index, name, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/header_body_checks.c
    functionUses: 74
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/global/header_body_checks.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/postfix/postfix/src/global/header_body_checks.c:235,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/global/header_body_checks.c:244,1
    - Dst: HBC_CALL_BACKS*::extend
      Src: /src/postfix/postfix/src/global/header_body_checks.c:250,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/global/header_body_checks.c:254,1
    - Dst: HBC_CALL_BACKS*::logger
      Src: /src/postfix/postfix/src/global/header_body_checks.c:255,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/global/header_body_checks.c:258,1
    - Dst: HBC_CALL_BACKS*::logger
      Src: /src/postfix/postfix/src/global/header_body_checks.c:259,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/global/header_body_checks.c:262,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/header_body_checks.c:264,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/header_body_checks.c:266,1
    - Dst: is_header
      Src: /src/postfix/postfix/src/global/header_body_checks.c:267,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/header_body_checks.c:268,1
    - Dst: HBC_CALL_BACKS*::logger
      Src: /src/postfix/postfix/src/global/header_body_checks.c:272,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/header_body_checks.c:273,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/global/header_body_checks.c:276,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/header_body_checks.c:278,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/header_body_checks.c:279,1
    - Dst: is_header
      Src: /src/postfix/postfix/src/global/header_body_checks.c:280,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/header_body_checks.c:281,1
    - Dst: HBC_CALL_BACKS*::logger
      Src: /src/postfix/postfix/src/global/header_body_checks.c:284,1
    - Dst: HBC_CALL_BACKS*::prepend
      Src: /src/postfix/postfix/src/global/header_body_checks.c:285,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/header_body_checks.c:285,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/global/header_body_checks.c:289,1
    - Dst: HBC_CALL_BACKS*::logger
      Src: /src/postfix/postfix/src/global/header_body_checks.c:290,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/global/header_body_checks.c:295,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/global/header_body_checks.c:299,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/global/header_body_checks.c:300,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/header_body_checks.c:303,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 8
    argNames:
    - context
    - cb
    - map_class
    - where
    - cmd
    - line
    - line_len
    - offset
    argTypes:
    - void*
    - HBC_CALL_BACKS*
    - char*
    - char*
    - char*
    - char*
    - ssize_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 305
    functionName: hbc_action
    functionSourceFile: /src/postfix/postfix/src/global/header_body_checks.c
    functionUses: 0
    functionsReached:
    - HBC_CALL_BACKS*::extend
    - msg_warn
    - HBC_CALL_BACKS*::logger
    - ISSPACE
    - strlen
    - is_header
    - STREQUAL
    - HBC_CALL_BACKS*::prepend
    - strcspn
    - strcmp
    - mystrdup
    linkageType: ''
    returnType: char
    signature: "char *hbc_action(void *context, HBC_CALL_BACKS *cb,\n\t\t\t        const
      char *map_class, const char *where,\n\t\t\t        const char *cmd, const char
      *line,\n\t\t\t        ssize_t line_len, off_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    functionName: STREQUAL
    functionSourceFile: /src/postfix/postfix/src/global/header_body_checks.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQUAL(x,y,l)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/header_body_checks.c:318,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/header_body_checks.c:318,1
    - Dst: HBC_HEADER_INDEX
      Src: /src/postfix/postfix/src/global/header_body_checks.c:326,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/global/header_body_checks.c:328,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/header_body_checks.c:328,1
    - Dst: hbc_action
      Src: /src/postfix/postfix/src/global/header_body_checks.c:329,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/header_body_checks.c:331,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/header_body_checks.c:331,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/header_body_checks.c:335,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 6
    argNames:
    - context
    - hbc
    - header_class
    - hdr_opts
    - header
    - offset
    argTypes:
    - void*
    - HBC_CHECKS*
    - int
    - HEADER_OPTS*
    - VSTRING*
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 337
    functionName: hbc_header_checks
    functionSourceFile: /src/postfix/postfix/src/global/header_body_checks.c
    functionUses: 0
    functionsReached:
    - HBC_HEADER_INDEX
    - maps_find
    - LEN
    - msg_info
    - hbc_action
    - STR
    linkageType: ''
    returnType: char
    signature: "char *hbc_header_checks(void *context, HBC_CHECKS *hbc, int header_class,\n\t\t\t
      \         const HEADER_OPTS *hdr_opts,\n\t\t\t          VSTRING *header, off_t
      offset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/header_body_checks.c:349,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/global/header_body_checks.c:353,1
    - Dst: hbc_action
      Src: /src/postfix/postfix/src/global/header_body_checks.c:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - context
    - hbc
    - line
    - len
    - offset
    argTypes:
    - void*
    - HBC_CHECKS*
    - char*
    - ssize_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: hbc_body_checks
    functionSourceFile: /src/postfix/postfix/src/global/header_body_checks.c
    functionUses: 0
    functionsReached:
    - maps_find
    - hbc_action
    - msg_info
    linkageType: ''
    returnType: char
    signature: "char *hbc_body_checks(void *context, HBC_CHECKS *hbc, const char *line,\n\t\t\t
      \       ssize_t len, off_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/header_body_checks.c:383,1
    - Dst: HBC_INIT
      Src: /src/postfix/postfix/src/global/header_body_checks.c:386,1
    - Dst: HBC_HEADER_INDEX
      Src: /src/postfix/postfix/src/global/header_body_checks.c:386,1
    - Dst: HBC_INIT
      Src: /src/postfix/postfix/src/global/header_body_checks.c:388,1
    - Dst: HBC_HEADER_INDEX
      Src: /src/postfix/postfix/src/global/header_body_checks.c:388,1
    - Dst: HBC_INIT
      Src: /src/postfix/postfix/src/global/header_body_checks.c:390,1
    - Dst: HBC_HEADER_INDEX
      Src: /src/postfix/postfix/src/global/header_body_checks.c:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - header_checks_name
    - header_checks_value
    - mime_header_checks_name
    - mime_header_checks_value
    - nested_header_checks_name
    - nested_header_checks_value
    - call_backs
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - HBC_CALL_BACKS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 394
    functionName: hbc_header_checks_create
    functionSourceFile: /src/postfix/postfix/src/global/header_body_checks.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - HBC_INIT
    - HBC_HEADER_INDEX
    linkageType: ''
    returnType: HBC_CHECKS
    signature: "HBC_CHECKS *hbc_header_checks_create(const char *header_checks_name,\n\t\t\t\t
      \            const char *header_checks_value,\n\t\t\t\t        const char *mime_header_checks_name,\n\t\t\t
      \              const char *mime_header_checks_value,\n\t\t\t              const
      char *nested_header_checks_name,\n\t\t\t             const char *nested_header_checks_value,\n\t\t\t\t
      \            HBC_CALL_BACKS *call_backs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/header_body_checks.c:410,1
    - Dst: HBC_INIT
      Src: /src/postfix/postfix/src/global/header_body_checks.c:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - body_checks_name
    - body_checks_value
    - call_backs
    argTypes:
    - char*
    - char*
    - HBC_CALL_BACKS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 415
    functionName: hbc_body_checks_create
    functionSourceFile: /src/postfix/postfix/src/global/header_body_checks.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - HBC_INIT
    linkageType: ''
    returnType: HBC_CHECKS
    signature: "HBC_CHECKS *hbc_body_checks_create(const char *body_checks_name,\n\t\t\t\t
      \          const char *body_checks_value,\n\t\t\t\t           HBC_CALL_BACKS
      *call_backs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: maps_free
      Src: /src/postfix/postfix/src/global/header_body_checks.c:425,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/header_body_checks.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - hbc
    - len
    argTypes:
    - HBC_CHECKS*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 427
    functionName: _hbc_checks_free
    functionSourceFile: /src/postfix/postfix/src/global/header_body_checks.c
    functionUses: 0
    functionsReached:
    - myfree
    - maps_free
    linkageType: ''
    returnType: void
    signature: void _hbc_checks_free(HBC_CHECKS *hbc, ssize_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/header_body_checks.c:464,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/header_body_checks.c:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - context
    - action
    - where
    - content
    - text
    argTypes:
    - void*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 470
    functionName: log_cb
    functionSourceFile: /src/postfix/postfix/src/global/header_body_checks.c
    functionUses: 0
    functionsReached:
    - msg_info
    linkageType: ''
    returnType: void
    signature: "void log_cb(void *context, const char *action, const char *where,\n\t\t
      \          const char *content, const char *text)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/global/header_body_checks.c:479,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/global/header_body_checks.c:480,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/header_body_checks.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - context
    - rec_type
    - buf
    - len
    - offset
    argTypes:
    - void*
    - int
    - char*
    - ssize_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 482
    functionName: out_cb
    functionSourceFile: /src/postfix/postfix/src/global/header_body_checks.c
    functionUses: 0
    functionsReached:
    - vstream_fwrite
    - vstream_fflush
    - VSTREAM_PUTC
    linkageType: ''
    returnType: void
    signature: "void out_cb(void *context, int rec_type, const char *buf,\n\t\t           ssize_t
      len, off_t offset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hbc_header_checks
      Src: /src/postfix/postfix/src/global/header_body_checks.c:494,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/header_body_checks.c:495,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/header_body_checks.c:496,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/header_body_checks.c:501,1
    - Dst: out_cb
      Src: /src/postfix/postfix/src/global/header_body_checks.c:502,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/header_body_checks.c:502,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/header_body_checks.c:502,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/header_body_checks.c:504,1
    - Dst: out_cb
      Src: /src/postfix/postfix/src/global/header_body_checks.c:510,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/header_body_checks.c:510,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/header_body_checks.c:510,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/header_body_checks.c:511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - context
    - header_class
    - header_info
    - buf
    - offset
    argTypes:
    - void*
    - int
    - HEADER_OPTS*
    - VSTRING*
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 486
    functionDepth: 3
    functionLinenumber: 486
    functionLinenumberEnd: 514
    functionName: head_out
    functionSourceFile: /src/postfix/postfix/src/global/header_body_checks.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - LEN
    - myfree
    - out_cb
    - hbc_header_checks
    - STR
    linkageType: ''
    returnType: void
    signature: "void head_out(void *context, int header_class,\n\t\t             const
      HEADER_OPTS *header_info,\n\t\t             VSTRING *buf, off_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: out_cb
      Src: /src/postfix/postfix/src/global/header_body_checks.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 523
    functionName: head_end
    functionSourceFile: /src/postfix/postfix/src/global/header_body_checks.c
    functionUses: 0
    functionsReached:
    - out_cb
    linkageType: ''
    returnType: void
    signature: void head_end(void *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hbc_body_checks
      Src: /src/postfix/postfix/src/global/header_body_checks.c:534,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/header_body_checks.c:536,1
    - Dst: out_cb
      Src: /src/postfix/postfix/src/global/header_body_checks.c:538,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/header_body_checks.c:538,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/header_body_checks.c:538,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/header_body_checks.c:540,1
    - Dst: out_cb
      Src: /src/postfix/postfix/src/global/header_body_checks.c:542,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/header_body_checks.c:542,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/header_body_checks.c:542,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/header_body_checks.c:543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - context
    - rec_type
    - buf
    - len
    - offset
    argTypes:
    - void*
    - int
    - char*
    - ssize_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 527
    functionDepth: 3
    functionLinenumber: 527
    functionLinenumberEnd: 546
    functionName: body_out
    functionSourceFile: /src/postfix/postfix/src/global/header_body_checks.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - LEN
    - myfree
    - out_cb
    - hbc_body_checks
    - STR
    linkageType: ''
    returnType: void
    signature: "void body_out(void *context, int rec_type, const char *buf,\n\t\t
      \            ssize_t len, off_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: out_cb
      Src: /src/postfix/postfix/src/global/header_body_checks.c:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 555
    functionName: body_end
    functionSourceFile: /src/postfix/postfix/src/global/header_body_checks.c
    functionUses: 0
    functionsReached:
    - out_cb
    linkageType: ''
    returnType: void
    signature: void body_end(void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/header_body_checks.c:562,1
    - Dst: mime_state_error
      Src: /src/postfix/postfix/src/global/header_body_checks.c:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - unused_context
    - err_flag
    - text
    - len
    argTypes:
    - void*
    - int
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 564
    functionName: err_print
    functionSourceFile: /src/postfix/postfix/src/global/header_body_checks.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - mime_state_error
    linkageType: ''
    returnType: void
    signature: "void err_print(void *unused_context, int err_flag,\n\t\t              const
      char *text, ssize_t len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/header_body_checks.c:587,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/header_body_checks.c:599,1
    - Dst: basename
      Src: /src/postfix/postfix/src/global/header_body_checks.c:599,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/header_body_checks.c:600,1
    - Dst: mime_state_alloc
      Src: /src/postfix/postfix/src/global/header_body_checks.c:601,1
    - Dst: hbc_header_checks_create
      Src: /src/postfix/postfix/src/global/header_body_checks.c:607,1
    - Dst: hbc_body_checks_create
      Src: /src/postfix/postfix/src/global/header_body_checks.c:612,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/header_body_checks.c:613,1
    - Dst: rec_streamlf_get
      Src: /src/postfix/postfix/src/global/header_body_checks.c:622,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/header_body_checks.c:623,1
    - Dst: mime_state_update
      Src: /src/postfix/postfix/src/global/header_body_checks.c:624,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/header_body_checks.c:624,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/header_body_checks.c:624,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/header_body_checks.c:625,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/header_body_checks.c:632,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/header_body_checks.c:634,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/header_body_checks.c:636,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/header_body_checks.c:638,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/header_body_checks.c:640,1
    - Dst: hbc_header_checks_free
      Src: /src/postfix/postfix/src/global/header_body_checks.c:646,1
    - Dst: hbc_body_checks_free
      Src: /src/postfix/postfix/src/global/header_body_checks.c:648,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/header_body_checks.c:649,1
    - Dst: mime_state_free
      Src: /src/postfix/postfix/src/global/header_body_checks.c:650,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/header_body_checks.c:651,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/header_body_checks.c:652,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 653
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/header_body_checks.c
    functionUses: 7
    functionsReached:
    - basename
    - LEN
    - msg_vstream_init
    - hbc_body_checks_create
    - hbc_header_checks_create
    - rec_streamlf_get
    - vstream_fflush
    - vstring_alloc
    - exit
    - hbc_header_checks_free
    - VSTRING_TERMINATE
    - vstring_free
    - mime_state_alloc
    - msg_warn
    - mime_state_update
    - mime_state_free
    - hbc_body_checks_free
    - msg_fatal
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - dsn
    - ','
    - _status
    - ','
    - _action
    - ','
    - _reason
    - ','
    - _dtype
    - ','
    - _dtext
    - ','
    - _mtype
    - ','
    - _mname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: DSN_ASSIGN
    functionSourceFile: /src/postfix/postfix/src/global/dsn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSN_ASSIGN(dsn, _status, _action, _reason, _dtype, _dtext, _mtype,
      _mname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dsn
    - ','
    - _status
    - ','
    - _reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: DSN_SIMPLE
    functionSourceFile: /src/postfix/postfix/src/global/dsn.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSN_SIMPLE(dsn, _status, _reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dsn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: DSN_COPY
    functionSourceFile: /src/postfix/postfix/src/global/dsn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSN_COPY(dsn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - one
    - two
    argTypes:
    - VSTREAM*
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: vstream_swap
    functionSourceFile: /src/postfix/postfix/src/global/dict_sqlite_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vstream_swap(VSTREAM *one, VSTREAM *two)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - string
    - replacement
    - except
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: printable_except
    functionSourceFile: /src/postfix/postfix/src/global/dict_sqlite_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *printable_except(char *string, int replacement, const char *except)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mkstemp
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:86,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:87,1
    - Dst: close
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:88,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:89,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - dbpath
    - commands
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 98
    functionName: create_and_populate_db
    functionSourceFile: /src/postfix/postfix/src/global/dict_sqlite_test.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - close
    - mkstemp
    linkageType: ''
    returnType: void
    signature: void create_and_populate_db(char *dbpath, const char *commands)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mkstemp
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:112,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:113,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:114,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:115,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:116,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:117,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - cfpath
    - dbpath
    - cftext
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 119
    functionName: create_and_populate_cf
    functionSourceFile: /src/postfix/postfix/src/global/dict_sqlite_test.c
    functionUses: 0
    functionsReached:
    - vstream_fdopen
    - mkstemp
    - vstream_fprintf
    - vstream_fclose
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: "void create_and_populate_cf(char *cfpath, const char *dbpath,\n\t\t\t\t
      \         const char *cftext)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vstream_swap
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:162,1
    - Dst: dict_sqlite_open
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:163,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:164,1
    - Dst: vstream_swap
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:165,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:166,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:167,1
    - Dst: unlink
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:170,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:171,1
    - Dst: unlink
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:172,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:173,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:176,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:177,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:177,1
    - Dst: strstr
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:181,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:181,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:182,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:183,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - tp
    argTypes:
    - TEST_CASE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 187
    functionName: test_flag_non_recommended_query
    functionSourceFile: /src/postfix/postfix/src/global/dict_sqlite_test.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - vstring_str
    - dict_sqlite_open
    - VSTRING_LEN
    - vstream_fclose
    - unlink
    - dict_close
    - strstr
    - msg_fatal
    - vstream_swap
    linkageType: ''
    returnType: int
    signature: int test_flag_non_recommended_query(const TEST_CASE *tp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:230,1
    - Dst: sane_basename
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:230,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:235,1
    - Dst: TEST_CASE*::action
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:236,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:238,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:241,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:245,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/dict_sqlite_test.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 247
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/dict_sqlite_test.c
    functionUses: 7
    functionsReached:
    - TEST_CASE*::action
    - exit
    - msg_info
    - msg_vstream_init
    - sane_basename
    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: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/msg_stats_scan.c
    functionUses: 78
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/global/msg_stats_scan.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/msg_stats_scan.c:65,1
    - Dst: scan_fn
      Src: /src/postfix/postfix/src/global/msg_stats_scan.c:77,1
    - Dst: RECV_ATTR_DATA
      Src: /src/postfix/postfix/src/global/msg_stats_scan.c:78,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/msg_stats_scan.c:81,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/global/msg_stats_scan.c:82,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/msg_stats_scan.c:82,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/msg_stats_scan.c:84,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/msg_stats_scan.c:85,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/msg_stats_scan.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - scan_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_SCAN_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 91
    functionName: msg_stats_scan
    functionSourceFile: /src/postfix/postfix/src/global/msg_stats_scan.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - RECV_ATTR_DATA
    - LEN
    - vstring_alloc
    - memcpy
    - scan_fn
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: "int msg_stats_scan(ATTR_SCAN_COMMON_FN scan_fn, VSTREAM *fp,\n\t\t
      \              int flags, void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/dsn_buf.c
    functionUses: 79
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/dsn_buf.c:176,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dsn_buf.c:177,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dsn_buf.c:178,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dsn_buf.c:179,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dsn_buf.c:180,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dsn_buf.c:181,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dsn_buf.c:182,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dsn_buf.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 186
    functionName: dsb_create
    functionSourceFile: /src/postfix/postfix/src/global/dsn_buf.c
    functionUses: 2
    functionsReached:
    - mymalloc
    - vstring_alloc
    linkageType: ''
    returnType: DSN_BUF
    signature: DSN_BUF *dsb_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/dsn_buf.c:192,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/dsn_buf.c:193,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/dsn_buf.c:194,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/dsn_buf.c:195,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/dsn_buf.c:196,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/dsn_buf.c:197,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/dsn_buf.c:198,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dsn_buf.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - dsb
    argTypes:
    - DSN_BUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: dsb_free
    functionSourceFile: /src/postfix/postfix/src/global/dsn_buf.c
    functionUses: 2
    functionsReached:
    - myfree
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dsb_free(DSN_BUF *dsb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: DSB_TRUNCATE
    functionSourceFile: /src/postfix/postfix/src/global/dsn_buf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSB_TRUNCATE(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 213
    functionName: NULL_OR_EMPTY
    functionSourceFile: /src/postfix/postfix/src/global/dsn_buf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NULL_OR_EMPTY(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dsb
    - ','
    - stat
    - ','
    - act
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: DSB_ACTION
    functionSourceFile: /src/postfix/postfix/src/global/dsn_buf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSB_ACTION(dsb, stat, act)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dsb
    - ','
    - type
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 226
    functionName: DSB_MTA
    functionSourceFile: /src/postfix/postfix/src/global/dsn_buf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSB_MTA(dsb, type, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dsb
    - ','
    - type
    - ','
    - text
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 236
    functionName: DSB_DIAG
    functionSourceFile: /src/postfix/postfix/src/global/dsn_buf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSB_DIAG(dsb, type, text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/dsn_buf.c:246,1
    - Dst: DSB_ACTION
      Src: /src/postfix/postfix/src/global/dsn_buf.c:247,1
    - Dst: DSB_MTA
      Src: /src/postfix/postfix/src/global/dsn_buf.c:248,1
    - Dst: DSB_DIAG
      Src: /src/postfix/postfix/src/global/dsn_buf.c:249,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/global/dsn_buf.c:250,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/global/dsn_buf.c:251,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/global/dsn_buf.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 8
    argNames:
    - dsb
    - status
    - action
    - mtype
    - mname
    - dtype
    - dtext
    - format
    argTypes:
    - DSN_BUF*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 255
    functionName: dsb_update
    functionSourceFile: /src/postfix/postfix/src/global/dsn_buf.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vstring_vsprintf
    - vstring_strcpy
    - DSB_ACTION
    - DSB_MTA
    - DSB_DIAG
    linkageType: ''
    returnType: DSN_BUF
    signature: "DSN_BUF *dsb_update(DSN_BUF *dsb, const char *status, const char *action,\n\t\t
      \           const char *mtype, const char *mname,\n\t\t            const char
      *dtype, const char *dtext,\n\t\t            const char *format,...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/dsn_buf.c:262,1
    - Dst: DSB_TRUNCATE
      Src: /src/postfix/postfix/src/global/dsn_buf.c:263,1
    - Dst: DSB_TRUNCATE
      Src: /src/postfix/postfix/src/global/dsn_buf.c:264,1
    - Dst: DSB_TRUNCATE
      Src: /src/postfix/postfix/src/global/dsn_buf.c:265,1
    - Dst: DSB_TRUNCATE
      Src: /src/postfix/postfix/src/global/dsn_buf.c:266,1
    - Dst: DSB_TRUNCATE
      Src: /src/postfix/postfix/src/global/dsn_buf.c:267,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/global/dsn_buf.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - dsb
    - status
    - format
    - ap
    argTypes:
    - DSN_BUF*
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 271
    functionName: vdsb_simple
    functionSourceFile: /src/postfix/postfix/src/global/dsn_buf.c
    functionUses: 0
    functionsReached:
    - vstring_vsprintf
    - DSB_TRUNCATE
    - vstring_strcpy
    linkageType: ''
    returnType: DSN_BUF
    signature: "DSN_BUF *vdsb_simple(DSN_BUF *dsb, const char *status, const char
      *format,\n\t\t             va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/global/dsn_buf.c:279,1
    - Dst: vdsb_simple
      Src: /src/postfix/postfix/src/global/dsn_buf.c:280,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/global/dsn_buf.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dsb
    - status
    - format
    argTypes:
    - DSN_BUF*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: dsb_simple
    functionSourceFile: /src/postfix/postfix/src/global/dsn_buf.c
    functionUses: 5
    functionsReached:
    - va_start
    - va_end
    - vdsb_simple
    linkageType: ''
    returnType: DSN_BUF
    signature: DSN_BUF *dsb_simple(DSN_BUF *dsb, const char *status, const char *format,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/dsn_buf.c:292,1
    - Dst: DSB_TRUNCATE
      Src: /src/postfix/postfix/src/global/dsn_buf.c:293,1
    - Dst: DSB_TRUNCATE
      Src: /src/postfix/postfix/src/global/dsn_buf.c:294,1
    - Dst: DSB_TRUNCATE
      Src: /src/postfix/postfix/src/global/dsn_buf.c:295,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/dsn_buf.c:296,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/dsn_buf.c:297,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/global/dsn_buf.c:298,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/global/dsn_buf.c:299,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/global/dsn_buf.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - dsb
    - status
    - dtext
    - format
    argTypes:
    - DSN_BUF*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 303
    functionName: dsb_unix
    functionSourceFile: /src/postfix/postfix/src/global/dsn_buf.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vstring_vsprintf
    - DSB_TRUNCATE
    - vstring_strcpy
    linkageType: ''
    returnType: DSN_BUF
    signature: "DSN_BUF *dsb_unix(DSN_BUF *dsb, const char *status,\n\t\t          const
      char *dtext, const char *format,...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/dsn_buf.c:311,1
    - Dst: DSB_ACTION
      Src: /src/postfix/postfix/src/global/dsn_buf.c:312,1
    - Dst: DSB_MTA
      Src: /src/postfix/postfix/src/global/dsn_buf.c:313,1
    - Dst: DSB_DIAG
      Src: /src/postfix/postfix/src/global/dsn_buf.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 7
    argNames:
    - dsb
    - status
    - action
    - mtype
    - mname
    - dtype
    - dtext
    argTypes:
    - DSN_BUF*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 316
    functionName: dsb_formal
    functionSourceFile: /src/postfix/postfix/src/global/dsn_buf.c
    functionUses: 0
    functionsReached:
    - DSB_ACTION
    - DSB_MTA
    - vstring_strcpy
    - DSB_DIAG
    linkageType: ''
    returnType: DSN_BUF
    signature: "DSN_BUF *dsb_formal(DSN_BUF *dsb, const char *status, const char *action,\n\t\t
      \           const char *mtype, const char *mname,\n\t\t            const char
      *dtype, const char *dtext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/dsn_buf.c:322,1
    - Dst: DSB_TRUNCATE
      Src: /src/postfix/postfix/src/global/dsn_buf.c:323,1
    - Dst: DSB_TRUNCATE
      Src: /src/postfix/postfix/src/global/dsn_buf.c:324,1
    - Dst: DSB_TRUNCATE
      Src: /src/postfix/postfix/src/global/dsn_buf.c:325,1
    - Dst: DSB_TRUNCATE
      Src: /src/postfix/postfix/src/global/dsn_buf.c:326,1
    - Dst: DSB_TRUNCATE
      Src: /src/postfix/postfix/src/global/dsn_buf.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - dsb
    - status
    argTypes:
    - DSN_BUF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 329
    functionName: dsb_status
    functionSourceFile: /src/postfix/postfix/src/global/dsn_buf.c
    functionUses: 0
    functionsReached:
    - DSB_TRUNCATE
    - vstring_strcpy
    linkageType: ''
    returnType: DSN_BUF
    signature: DSN_BUF *dsb_status(DSN_BUF *dsb, const char *status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSB_TRUNCATE
      Src: /src/postfix/postfix/src/global/dsn_buf.c:335,1
    - Dst: DSB_TRUNCATE
      Src: /src/postfix/postfix/src/global/dsn_buf.c:336,1
    - Dst: DSB_TRUNCATE
      Src: /src/postfix/postfix/src/global/dsn_buf.c:337,1
    - Dst: DSB_TRUNCATE
      Src: /src/postfix/postfix/src/global/dsn_buf.c:338,1
    - Dst: DSB_TRUNCATE
      Src: /src/postfix/postfix/src/global/dsn_buf.c:339,1
    - Dst: DSB_TRUNCATE
      Src: /src/postfix/postfix/src/global/dsn_buf.c:340,1
    - Dst: DSB_TRUNCATE
      Src: /src/postfix/postfix/src/global/dsn_buf.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - dsb
    argTypes:
    - DSN_BUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 342
    functionName: dsb_reset
    functionSourceFile: /src/postfix/postfix/src/global/dsn_buf.c
    functionUses: 0
    functionsReached:
    - DSB_TRUNCATE
    linkageType: ''
    returnType: void
    signature: void dsb_reset(DSN_BUF *dsb)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/mail_conf.c:149,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/global/mail_conf.c:150,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_conf.c:151,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_conf.c:153,1
    - Dst: readlline
      Src: /src/postfix/postfix/src/global/mail_conf.c:154,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/global/mail_conf.c:155,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/mail_conf.c:155,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/mail_conf.c:156,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/mail_conf.c:157,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/mail_conf.c:158,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/mail_conf.c:159,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/mail_conf.c:163,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_conf.c:164,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/mail_conf.c:165,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/global/mail_conf.c:168,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_conf.c:169,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_conf.c:173,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - config_dir
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 174
    functionName: mail_conf_checkdir
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf.c
    functionUses: 0
    functionsReached:
    - split_nameval
    - vstring_str
    - msg_error
    - vstring_alloc
    - vstream_fclose
    - myfree
    - readlline
    - strcmp
    - mystrtok
    - concatenate
    - msg_fatal
    - vstream_fopen
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void mail_conf_checkdir(const char *config_dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mail_conf_suck
      Src: /src/postfix/postfix/src/global/mail_conf.c:180,1
    - Dst: mail_params_init
      Src: /src/postfix/postfix/src/global/mail_conf.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: mail_conf_read
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf.c
    functionUses: 3
    functionsReached:
    - mail_params_init
    - mail_conf_suck
    linkageType: ''
    returnType: void
    signature: void mail_conf_read(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_conf.c:208,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/global/mail_conf.c:209,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mail_conf.c:211,1
    - Dst: set_mail_conf_str
      Src: /src/postfix/postfix/src/global/mail_conf.c:212,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/mail_conf.c:218,1
    - Dst: unsafe
      Src: /src/postfix/postfix/src/global/mail_conf.c:219,1
    - Dst: mail_conf_checkdir
      Src: /src/postfix/postfix/src/global/mail_conf.c:220,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/mail_conf.c:221,1
    - Dst: dict_load_file_xt
      Src: /src/postfix/postfix/src/global/mail_conf.c:222,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_conf.c:223,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_conf.c:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 225
    functionName: mail_conf_suck
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf.c
    functionUses: 1
    functionsReached:
    - mail_conf_checkdir
    - set_mail_conf_str
    - myfree
    - dict_load_file_xt
    - strcmp
    - unsafe
    - concatenate
    - msg_fatal
    - mystrdup
    - getenv
    linkageType: ''
    returnType: void
    signature: void mail_conf_suck(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/global/mail_conf.c:231,1
    - Dst: dict_unregister
      Src: /src/postfix/postfix/src/global/mail_conf.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: mail_conf_flush
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf.c
    functionUses: 0
    functionsReached:
    - dict_unregister
    - dict_handle
    linkageType: ''
    returnType: void
    signature: void mail_conf_flush(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_eval
      Src: /src/postfix/postfix/src/global/mail_conf.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: mail_conf_eval
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf.c
    functionUses: 0
    functionsReached:
    - dict_eval
    linkageType: ''
    returnType: char
    signature: char *mail_conf_eval(const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_eval
      Src: /src/postfix/postfix/src/global/mail_conf.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: mail_conf_eval_once
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf.c
    functionUses: 0
    functionsReached:
    - dict_eval
    linkageType: ''
    returnType: char
    signature: char *mail_conf_eval_once(const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_lookup
      Src: /src/postfix/postfix/src/global/mail_conf.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: mail_conf_lookup
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf.c
    functionUses: 1
    functionsReached:
    - dict_lookup
    linkageType: ''
    returnType: char
    signature: char *mail_conf_lookup(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_lookup
      Src: /src/postfix/postfix/src/global/mail_conf.c:268,1
    - Dst: dict_eval
      Src: /src/postfix/postfix/src/global/mail_conf.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: mail_conf_lookup_eval
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf.c
    functionUses: 2
    functionsReached:
    - dict_lookup
    - dict_eval
    linkageType: ''
    returnType: char
    signature: char *mail_conf_lookup_eval(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_update
      Src: /src/postfix/postfix/src/global/mail_conf.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: mail_conf_update
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf.c
    functionUses: 0
    functionsReached:
    - dict_update
    linkageType: ''
    returnType: void
    signature: void mail_conf_update(const char *key, const char *value)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/sasl_mech_filter.c:86,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/sasl_mech_filter.c:88,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/sasl_mech_filter.c:89,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/sasl_mech_filter.c:91,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/sasl_mech_filter.c:93,1
    - Dst: string_list_match
      Src: /src/postfix/postfix/src/global/sasl_mech_filter.c:94,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/sasl_mech_filter.c:95,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/sasl_mech_filter.c:96,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/sasl_mech_filter.c:97,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/sasl_mech_filter.c:99,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/sasl_mech_filter.c:101,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/sasl_mech_filter.c:105,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/sasl_mech_filter.c:108,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/sasl_mech_filter.c:110,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - filter
    - words
    argTypes:
    - STRING_LIST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 111
    functionName: sasl_mech_filter
    functionSourceFile: /src/postfix/postfix/src/global/sasl_mech_filter.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - vstring_str
    - VSTRING_LEN
    - vstring_alloc
    - string_list_match
    - msg_info
    - myfree
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - vstring_strcat
    - mystrtok
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: char
    signature: "char *sasl_mech_filter(STRING_LIST *filter,\n\t\t\t             const
      char *words)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - rcpt
    - ','
    - offs
    - ','
    - orcpt
    - ','
    - notify
    - ','
    - orig
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: RECIPIENT_ASSIGN
    functionSourceFile: /src/postfix/postfix/src/global/recipient_list.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECIPIENT_ASSIGN(rcpt, offs, orcpt, notify, orig, addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - new
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: RECIPIENT_UPDATE
    functionSourceFile: /src/postfix/postfix/src/global/recipient_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECIPIENT_UPDATE(ptr, new)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - t
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: REC_STREAMLF_PUT_BUF
    functionSourceFile: /src/postfix/postfix/src/global/rec_streamlf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REC_STREAMLF_PUT_BUF(s, t, b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: addr_match_list_free
      Src: /src/postfix/postfix/src/global/server_acl.c:108,1
    - Dst: addr_match_list_free
      Src: /src/postfix/postfix/src/global/server_acl.c:110,1
    - Dst: addr_match_list_init
      Src: /src/postfix/postfix/src/global/server_acl.c:113,1
    - Dst: match_parent_style
      Src: /src/postfix/postfix/src/global/server_acl.c:114,1
    - Dst: addr_match_list_init
      Src: /src/postfix/postfix/src/global/server_acl.c:117,1
    - Dst: match_parent_style
      Src: /src/postfix/postfix/src/global/server_acl.c:118,1
    - Dst: mynetworks_host
      Src: /src/postfix/postfix/src/global/server_acl.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - mynetworks
    - origin
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 119
    functionName: server_acl_pre_jail_init
    functionSourceFile: /src/postfix/postfix/src/global/server_acl.c
    functionUses: 0
    functionsReached:
    - addr_match_list_free
    - match_parent_style
    - mynetworks_host
    - addr_match_list_init
    linkageType: ''
    returnType: void
    signature: void server_acl_pre_jail_init(const char *mynetworks, const char *origin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/server_acl.c:125,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/global/server_acl.c:126,1
    - Dst: mystrtokq
      Src: /src/postfix/postfix/src/global/server_acl.c:138,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/server_acl.c:139,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/server_acl.c:140,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/server_acl.c:141,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/global/server_acl.c:144,1
    - Dst: dict_open
      Src: /src/postfix/postfix/src/global/server_acl.c:147,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/global/server_acl.c:152,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/global/server_acl.c:154,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/server_acl.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - extern_acl
    - origin
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 161
    functionName: server_acl_parse
    functionSourceFile: /src/postfix/postfix/src/global/server_acl.c
    functionUses: 0
    functionsReached:
    - strchr
    - msg_warn
    - dict_open
    - myfree
    - argv_alloc
    - argv_add
    - mystrtokq
    - mystrdup
    - argv_terminate
    linkageType: ''
    returnType: SERVER_ACL
    signature: SERVER_ACL *server_acl_parse(const char *extern_acl, const char *origin)
  - 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: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/global/server_acl.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: STRNE
    functionSourceFile: /src/postfix/postfix/src/global/server_acl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRNE(x,y)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/server_acl.c:178,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/global/server_acl.c:180,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/global/server_acl.c:182,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/global/server_acl.c:184,1
    - Dst: addr_match_list_match
      Src: /src/postfix/postfix/src/global/server_acl.c:185,1
    - Dst: addr_match_list_match
      Src: /src/postfix/postfix/src/global/server_acl.c:187,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/server_acl.c:189,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/server_acl.c:196,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/server_acl.c:200,1
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/global/server_acl.c:201,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/server_acl.c:202,1
    - Dst: dict_get
      Src: /src/postfix/postfix/src/global/server_acl.c:203,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/global/server_acl.c:205,1
    - Dst: ARGV_FAKE_BEGIN
      Src: /src/postfix/postfix/src/global/server_acl.c:206,1
    - Dst: server_acl_eval
      Src: /src/postfix/postfix/src/global/server_acl.c:207,1
    - Dst: server_acl_parse
      Src: /src/postfix/postfix/src/global/server_acl.c:210,1
    - Dst: server_acl_eval
      Src: /src/postfix/postfix/src/global/server_acl.c:211,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/global/server_acl.c:212,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/server_acl.c:217,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/global/server_acl.c:222,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/server_acl.c:225,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/server_acl.c:231,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 3
    argNames:
    - client_addr
    - intern_acl
    - origin
    argTypes:
    - char*
    - SERVER_ACL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 234
    functionName: server_acl_eval
    functionSourceFile: /src/postfix/postfix/src/global/server_acl.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - strchr
    - msg_warn
    - server_acl_parse
    - ARGV_FAKE_BEGIN
    - argv_free
    - msg_info
    - strcspn
    - STREQ
    - addr_match_list_match
    - server_acl_eval
    - dict_get
    - dict_handle
    linkageType: ''
    returnType: int
    signature: "int server_acl_eval(const char *client_addr, SERVER_ACL * intern_acl,\n\t\t\t
      \       const char *origin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: UPDATE_VAR
    functionSourceFile: /src/postfix/postfix/src/global/server_acl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_VAR(s,v)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/server_acl.c:253,1
    - Dst: isatty
      Src: /src/postfix/postfix/src/global/server_acl.c:256,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/global/server_acl.c:276,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/server_acl.c:277,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/server_acl.c:279,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/server_acl.c:280,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/server_acl.c:284,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/global/server_acl.c:284,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/server_acl.c:285,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/server_acl.c:287,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/server_acl.c:288,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/global/server_acl.c:289,1
    - Dst: UPDATE_VAR
      Src: /src/postfix/postfix/src/global/server_acl.c:290,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/global/server_acl.c:291,1
    - Dst: UPDATE_VAR
      Src: /src/postfix/postfix/src/global/server_acl.c:292,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/global/server_acl.c:293,1
    - Dst: server_acl_pre_jail_init
      Src: /src/postfix/postfix/src/global/server_acl.c:294,1
    - Dst: server_acl_parse
      Src: /src/postfix/postfix/src/global/server_acl.c:295,1
    - Dst: server_acl_eval
      Src: /src/postfix/postfix/src/global/server_acl.c:296,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/global/server_acl.c:297,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/server_acl.c:298,1
    - Dst: str_name_code
      Src: /src/postfix/postfix/src/global/server_acl.c:298,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/server_acl.c:300,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/server_acl.c:302,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/server_acl.c:304,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/server_acl.c:305,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 306
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/server_acl.c
    functionUses: 7
    functionsReached:
    - vstring_get_nonl
    - server_acl_parse
    - server_acl_pre_jail_init
    - vstream_fflush
    - vstring_alloc
    - UPDATE_VAR
    - argv_free
    - str_name_code
    - exit
    - STREQ
    - vstream_printf
    - mystrtok
    - isatty
    - server_acl_eval
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - TOK822*
    - TOK822*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 142
    functionName: tok822_append
    functionSourceFile: /src/postfix/postfix/src/global/tok822_tree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TOK822
    signature: TOK822 *tok822_append(TOK822 *t1, TOK822 *t2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - TOK822*
    - TOK822*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 161
    functionName: tok822_prepend
    functionSourceFile: /src/postfix/postfix/src/global/tok822_tree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TOK822
    signature: TOK822 *tok822_prepend(TOK822 *t1, TOK822 *t2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tp
    argTypes:
    - TOK822*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: tok822_cut_before
    functionSourceFile: /src/postfix/postfix/src/global/tok822_tree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TOK822
    signature: TOK822 *tok822_cut_before(TOK822 *tp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tp
    argTypes:
    - TOK822*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: tok822_cut_after
    functionSourceFile: /src/postfix/postfix/src/global/tok822_tree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TOK822
    signature: TOK822 *tok822_cut_after(TOK822 *tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - tp
    argTypes:
    - TOK822*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 202
    functionName: tok822_unlink
    functionSourceFile: /src/postfix/postfix/src/global/tok822_tree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TOK822
    signature: TOK822 *tok822_unlink(TOK822 *tp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tok822_append
      Src: /src/postfix/postfix/src/global/tok822_tree.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - TOK822*
    - TOK822*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 217
    functionName: tok822_sub_append
    functionSourceFile: /src/postfix/postfix/src/global/tok822_tree.c
    functionUses: 0
    functionsReached:
    - tok822_append
    linkageType: ''
    returnType: TOK822
    signature: TOK822 *tok822_sub_append(TOK822 *t1, TOK822 *t2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tok822_prepend
      Src: /src/postfix/postfix/src/global/tok822_tree.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - TOK822*
    - TOK822*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 236
    functionName: tok822_sub_prepend
    functionSourceFile: /src/postfix/postfix/src/global/tok822_tree.c
    functionUses: 0
    functionsReached:
    - tok822_prepend
    linkageType: ''
    returnType: TOK822
    signature: TOK822 *tok822_sub_prepend(TOK822 *t1, TOK822 *t2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tok822_cut_before
      Src: /src/postfix/postfix/src/global/tok822_tree.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - TOK822*
    - TOK822*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: tok822_sub_keep_before
    functionSourceFile: /src/postfix/postfix/src/global/tok822_tree.c
    functionUses: 0
    functionsReached:
    - tok822_cut_before
    linkageType: ''
    returnType: TOK822
    signature: TOK822 *tok822_sub_keep_before(TOK822 *t1, TOK822 *t2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tok822_cut_after
      Src: /src/postfix/postfix/src/global/tok822_tree.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - TOK822*
    - TOK822*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: tok822_sub_keep_after
    functionSourceFile: /src/postfix/postfix/src/global/tok822_tree.c
    functionUses: 0
    functionsReached:
    - tok822_cut_after
    linkageType: ''
    returnType: TOK822
    signature: TOK822 *tok822_sub_keep_after(TOK822 *t1, TOK822 *t2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/global/tok822_tree.c:268,1
    - Dst: tok822_free
      Src: /src/postfix/postfix/src/global/tok822_tree.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - tp
    argTypes:
    - TOK822*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 273
    functionName: tok822_free_tree
    functionSourceFile: /src/postfix/postfix/src/global/tok822_tree.c
    functionUses: 2
    functionsReached:
    - tok822_free_tree
    - tok822_free
    linkageType: ''
    returnType: TOK822
    signature: TOK822 *tok822_free_tree(TOK822 *tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: action
      Src: /src/postfix/postfix/src/global/tok822_tree.c:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - tree
    - type
    - action
    argTypes:
    - TOK822*
    - int
    - TOK822_ACTION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 288
    functionName: tok822_apply
    functionSourceFile: /src/postfix/postfix/src/global/tok822_tree.c
    functionUses: 0
    functionsReached:
    - action
    linkageType: ''
    returnType: int
    signature: int tok822_apply(TOK822 *tree, int type, TOK822_ACTION action)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/tok822_tree.c:302,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 310
    functionName: tok822_grep
    functionSourceFile: /src/postfix/postfix/src/global/tok822_tree.c
    functionUses: 0
    functionsReached:
    - mymalloc
    linkageType: ''
    returnType: TOK822
    signature: TOK822 **tok822_grep(TOK822 *tree, int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/uxtext.c
    functionUses: 80
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/global/uxtext.c
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/uxtext.c:90,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/uxtext.c:91,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/global/uxtext.c:134,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/uxtext.c:137,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - quoted
    - unquoted
    - special
    argTypes:
    - VSTRING*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 139
    functionName: uxtext_quote_append
    functionSourceFile: /src/postfix/postfix/src/global/uxtext.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - vstring_sprintf_append
    - strchr
    - VSTRING_TERMINATE
    linkageType: ''
    returnType: VSTRING
    signature: "VSTRING *uxtext_quote_append(VSTRING *quoted, const char *unquoted,\n\t\t\t
      \            const char *special)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/uxtext.c:145,1
    - Dst: uxtext_quote_append
      Src: /src/postfix/postfix/src/global/uxtext.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - quoted
    - unquoted
    - special
    argTypes:
    - VSTRING*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: uxtext_quote
    functionSourceFile: /src/postfix/postfix/src/global/uxtext.c
    functionUses: 0
    functionsReached:
    - VSTRING_RESET
    - uxtext_quote_append
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *uxtext_quote(VSTRING *quoted, const char *unquoted, const
      char *special)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/global/uxtext.c:163,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/uxtext.c:182,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/uxtext.c:184,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/uxtext.c:185,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/uxtext.c:187,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/uxtext.c:188,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/uxtext.c:189,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/uxtext.c:191,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/uxtext.c:192,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/uxtext.c:193,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/uxtext.c:194,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/uxtext.c:196,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/uxtext.c:197,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/uxtext.c:198,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/uxtext.c:199,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/uxtext.c:200,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/uxtext.c:202,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/uxtext.c:203,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/uxtext.c:204,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/uxtext.c:205,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/uxtext.c:206,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/uxtext.c:207,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/uxtext.c:210,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/uxtext.c:213,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 2
    argNames:
    - unquoted
    - quoted
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 215
    functionName: uxtext_unquote_append
    functionSourceFile: /src/postfix/postfix/src/global/uxtext.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - VSTRING_TERMINATE
    - ISDIGIT
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *uxtext_unquote_append(VSTRING *unquoted, const char *quoted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/uxtext.c:221,1
    - Dst: uxtext_unquote_append
      Src: /src/postfix/postfix/src/global/uxtext.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - unquoted
    - quoted
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: uxtext_unquote
    functionSourceFile: /src/postfix/postfix/src/global/uxtext.c
    functionUses: 0
    functionsReached:
    - uxtext_unquote_append
    - VSTRING_RESET
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *uxtext_unquote(VSTRING *unquoted, const char *quoted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fread_buf
      Src: /src/postfix/postfix/src/global/uxtext.c:238,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/uxtext.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fp
    - buf
    argTypes:
    - VSTREAM*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: read_buf
    functionSourceFile: /src/postfix/postfix/src/global/uxtext.c
    functionUses: 1
    functionsReached:
    - VSTRING_TERMINATE
    - vstream_fread_buf
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t read_buf(VSTREAM *fp, VSTRING *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/uxtext.c:245,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/uxtext.c:246,1
    - Dst: uxtext_unquote
      Src: /src/postfix/postfix/src/global/uxtext.c:252,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/uxtext.c:253,1
    - Dst: uxtext_unquote
      Src: /src/postfix/postfix/src/global/uxtext.c:254,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/uxtext.c:255,1
    - Dst: uxtext_unquote
      Src: /src/postfix/postfix/src/global/uxtext.c:256,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/uxtext.c:257,1
    - Dst: read_buf
      Src: /src/postfix/postfix/src/global/uxtext.c:262,1
    - Dst: uxtext_quote
      Src: /src/postfix/postfix/src/global/uxtext.c:263,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/uxtext.c:263,1
    - Dst: uxtext_unquote
      Src: /src/postfix/postfix/src/global/uxtext.c:264,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/uxtext.c:264,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/uxtext.c:265,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/uxtext.c:265,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/uxtext.c:266,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/uxtext.c:267,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/uxtext.c:268,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/global/uxtext.c:269,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/uxtext.c:269,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/uxtext.c:269,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/uxtext.c:269,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/uxtext.c:270,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/uxtext.c:272,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/uxtext.c:273,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/uxtext.c:274,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 276
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/uxtext.c
    functionUses: 7
    functionsReached:
    - msg_warn
    - vstream_fflush
    - vstring_alloc
    - LEN
    - uxtext_quote
    - uxtext_unquote
    - vstream_fwrite
    - msg_fatal
    - read_buf
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: myflock
      Src: /src/postfix/postfix/src/global/deliver_flock.c:72,1
    - Dst: rand_sleep
      Src: /src/postfix/postfix/src/global/deliver_flock.c:77,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/deliver_flock.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - lock_style
    - why
    argTypes:
    - int
    - int
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: deliver_flock
    functionSourceFile: /src/postfix/postfix/src/global/deliver_flock.c
    functionUses: 0
    functionsReached:
    - myflock
    - vstring_sprintf
    - rand_sleep
    linkageType: ''
    returnType: int
    signature: int deliver_flock(int fd, int lock_style, VSTRING *why)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stream
    - ','
    - timeout
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: smtp_timeout_setup
    functionSourceFile: /src/postfix/postfix/src/global/smtp_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smtp_timeout_setup(stream, timeout)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: scan_dir_next
      Src: /src/postfix/postfix/src/global/mail_scan_dir.c:53,1
    - Dst: scan_dir_pop
      Src: /src/postfix/postfix/src/global/mail_scan_dir.c:54,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/mail_scan_dir.c:56,1
    - Dst: scan_dir_push
      Src: /src/postfix/postfix/src/global/mail_scan_dir.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - scan
    argTypes:
    - SCAN_DIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 62
    functionName: mail_scan_dir_next
    functionSourceFile: /src/postfix/postfix/src/global/mail_scan_dir.c
    functionUses: 1
    functionsReached:
    - scan_dir_push
    - scan_dir_next
    - strlen
    - scan_dir_pop
    linkageType: ''
    returnType: char
    signature: char *mail_scan_dir_next(SCAN_DIR *scan)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/been_here.c
    functionUses: 81
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/been_here.c:130,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/global/been_here.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - limit
    - flags
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: been_here_init
    functionSourceFile: /src/postfix/postfix/src/global/been_here.c
    functionUses: 2
    functionsReached:
    - mymalloc
    - htable_create
    linkageType: ''
    returnType: BH_TABLE
    signature: BH_TABLE *been_here_init(int limit, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htable_free
      Src: /src/postfix/postfix/src/global/been_here.c:141,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/been_here.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dup_filter
    argTypes:
    - BH_TABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: been_here_free
    functionSourceFile: /src/postfix/postfix/src/global/been_here.c
    functionUses: 0
    functionsReached:
    - myfree
    - htable_free
    linkageType: ''
    returnType: void
    signature: void been_here_free(BH_TABLE *dup_filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/been_here.c:149,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/global/been_here.c:156,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/global/been_here.c:157,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/global/been_here.c:158,1
    - Dst: been_here_fixed
      Src: /src/postfix/postfix/src/global/been_here.c:163,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/been_here.c:163,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/been_here.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - dup_filter
    - fmt
    argTypes:
    - BH_TABLE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 170
    functionName: been_here
    functionSourceFile: /src/postfix/postfix/src/global/been_here.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vstring_vsprintf
    - vstring_alloc
    - been_here_fixed
    - vstring_str
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int been_here(BH_TABLE *dup_filter, const char *fmt,...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/been_here.c:184,1
    - Dst: casefold
      Src: /src/postfix/postfix/src/global/been_here.c:185,1
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/global/been_here.c:194,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/global/been_here.c:199,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/been_here.c:203,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/been_here.c:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - dup_filter
    - string
    argTypes:
    - BH_TABLE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 212
    functionName: been_here_fixed
    functionSourceFile: /src/postfix/postfix/src/global/been_here.c
    functionUses: 3
    functionsReached:
    - vstring_alloc
    - msg_info
    - htable_enter
    - htable_locate
    - casefold
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int been_here_fixed(BH_TABLE *dup_filter, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/been_here.c:218,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/global/been_here.c:225,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/global/been_here.c:226,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/global/been_here.c:227,1
    - Dst: been_here_check_fixed
      Src: /src/postfix/postfix/src/global/been_here.c:232,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/been_here.c:232,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/been_here.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - dup_filter
    - fmt
    argTypes:
    - BH_TABLE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 239
    functionName: been_here_check
    functionSourceFile: /src/postfix/postfix/src/global/been_here.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vstring_vsprintf
    - vstring_alloc
    - vstring_str
    - been_here_check_fixed
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int been_here_check(BH_TABLE *dup_filter, const char *fmt,...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/been_here.c:253,1
    - Dst: casefold
      Src: /src/postfix/postfix/src/global/been_here.c:254,1
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/global/been_here.c:263,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/been_here.c:265,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/been_here.c:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - dup_filter
    - string
    argTypes:
    - BH_TABLE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 274
    functionName: been_here_check_fixed
    functionSourceFile: /src/postfix/postfix/src/global/been_here.c
    functionUses: 1
    functionsReached:
    - vstring_alloc
    - msg_info
    - htable_locate
    - casefold
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int been_here_check_fixed(BH_TABLE *dup_filter, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/been_here.c:280,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/global/been_here.c:287,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/global/been_here.c:288,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/global/been_here.c:289,1
    - Dst: been_here_drop_fixed
      Src: /src/postfix/postfix/src/global/been_here.c:294,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/been_here.c:294,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/been_here.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - dup_filter
    - fmt
    argTypes:
    - BH_TABLE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 301
    functionName: been_here_drop
    functionSourceFile: /src/postfix/postfix/src/global/been_here.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vstring_vsprintf
    - been_here_drop_fixed
    - vstring_alloc
    - vstring_str
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int been_here_drop(BH_TABLE *dup_filter, const char *fmt,...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/been_here.c:315,1
    - Dst: casefold
      Src: /src/postfix/postfix/src/global/been_here.c:316,1
    - Dst: been_here_check_fixed
      Src: /src/postfix/postfix/src/global/been_here.c:325,1
    - Dst: htable_delete
      Src: /src/postfix/postfix/src/global/been_here.c:326,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/been_here.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - dup_filter
    - string
    argTypes:
    - BH_TABLE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 335
    functionName: been_here_drop_fixed
    functionSourceFile: /src/postfix/postfix/src/global/been_here.c
    functionUses: 1
    functionsReached:
    - htable_delete
    - vstring_alloc
    - casefold
    - been_here_check_fixed
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int been_here_drop_fixed(BH_TABLE *dup_filter, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/data_redirect.c
    functionUses: 81
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/global/data_redirect.c
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sane_dirname
      Src: /src/postfix/postfix/src/global/data_redirect.c:119,1
    - Dst: stat
      Src: /src/postfix/postfix/src/global/data_redirect.c:120,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/data_redirect.c:120,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/data_redirect.c:121,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/data_redirect.c:123,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/data_redirect.c:124,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/data_redirect.c:125,1
    - Dst: sane_basename
      Src: /src/postfix/postfix/src/global/data_redirect.c:127,1
    - Dst: vstring_prepend
      Src: /src/postfix/postfix/src/global/data_redirect.c:128,1
    - Dst: vstring_prepend
      Src: /src/postfix/postfix/src/global/data_redirect.c:129,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/data_redirect.c:129,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/data_redirect.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - result
    - path
    - log_type
    - log_name
    argTypes:
    - VSTRING*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 132
    functionName: data_redirect_path
    functionSourceFile: /src/postfix/postfix/src/global/data_redirect.c
    functionUses: 0
    functionsReached:
    - stat
    - msg_warn
    - strlen
    - sane_dirname
    - vstring_strcpy
    - vstring_prepend
    - sane_basename
    - STR
    linkageType: ''
    returnType: char
    signature: "char *data_redirect_path(VSTRING *result, const char *path,\n\t\t\t
      \        const char *log_type, const char *log_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STR
      Src: /src/postfix/postfix/src/global/data_redirect.c:142,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/data_redirect.c:143,1
    - Dst: data_redirect_path
      Src: /src/postfix/postfix/src/global/data_redirect.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - result
    - path
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: data_redirect_file
    functionSourceFile: /src/postfix/postfix/src/global/data_redirect.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - data_redirect_path
    - STR
    linkageType: ''
    returnType: char
    signature: char *data_redirect_file(VSTRING *result, const char *path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STR
      Src: /src/postfix/postfix/src/global/data_redirect.c:159,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/data_redirect.c:160,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/data_redirect.c:165,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/data_redirect.c:172,1
    - Dst: vstring_strncpy
      Src: /src/postfix/postfix/src/global/data_redirect.c:179,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/global/data_redirect.c:180,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/data_redirect.c:180,1
    - Dst: data_redirect_path
      Src: /src/postfix/postfix/src/global/data_redirect.c:181,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/data_redirect.c:183,1
    - Dst: vstring_prepend
      Src: /src/postfix/postfix/src/global/data_redirect.c:189,1
    - Dst: vstring_prepend
      Src: /src/postfix/postfix/src/global/data_redirect.c:190,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/data_redirect.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - result
    - map
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 192
    functionName: data_redirect_map
    functionSourceFile: /src/postfix/postfix/src/global/data_redirect.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - name_code
    - strchr
    - strlen
    - data_redirect_path
    - vstring_strncpy
    - vstring_strcpy
    - vstring_prepend
    - STR
    linkageType: ''
    returnType: char
    signature: char *data_redirect_map(VSTRING *result, const char *map)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/data_redirect.c:208,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/data_redirect.c:209,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/global/data_redirect.c:215,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/global/data_redirect.c:217,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/data_redirect.c:218,1
    - Dst: isatty
      Src: /src/postfix/postfix/src/global/data_redirect.c:219,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/data_redirect.c:220,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/data_redirect.c:221,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/data_redirect.c:225,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/data_redirect.c:226,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/data_redirect.c:227,1
    - Dst: mystrtokq
      Src: /src/postfix/postfix/src/global/data_redirect.c:230,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/data_redirect.c:231,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/data_redirect.c:232,1
    - Dst: data_redirect_file
      Src: /src/postfix/postfix/src/global/data_redirect.c:233,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/data_redirect.c:234,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/data_redirect.c:234,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/data_redirect.c:235,1
    - Dst: data_redirect_map
      Src: /src/postfix/postfix/src/global/data_redirect.c:236,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/data_redirect.c:237,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/data_redirect.c:237,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/data_redirect.c:239,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/data_redirect.c:241,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/data_redirect.c:243,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 206
    functionDepth: 4
    functionLinenumber: 206
    functionLinenumberEnd: 245
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/data_redirect.c
    functionUses: 7
    functionsReached:
    - vstring_get_nonl
    - data_redirect_file
    - data_redirect_map
    - vstream_fflush
    - vstring_alloc
    - strcmp
    - vstream_printf
    - mystrtok
    - mystrtokq
    - isatty
    - vstring_free
    - mail_conf_read
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dsn_valid
      Src: /src/postfix/postfix/src/global/bounce.c:241,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/bounce.c:242,1
    - Dst: dsn_filter_lookup
      Src: /src/postfix/postfix/src/global/bounce.c:250,1
    - Dst: defer_append_intern
      Src: /src/postfix/postfix/src/global/bounce.c:252,1
    - Dst: bounce_append_intern
      Src: /src/postfix/postfix/src/global/bounce.c:255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 6
    argNames:
    - flags
    - id
    - stats
    - rcpt
    - relay
    - dsn
    argTypes:
    - int
    - char*
    - MSG_STATS*
    - RECIPIENT*
    - char*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 256
    functionName: bounce_append
    functionSourceFile: /src/postfix/postfix/src/global/bounce.c
    functionUses: 1
    functionsReached:
    - bounce_append_intern
    - msg_warn
    - dsn_valid
    - defer_append_intern
    - dsn_filter_lookup
    linkageType: ''
    returnType: int
    signature: "int bounce_append(int flags, const char *id, MSG_STATS *stats,\n\t\t
      \             RECIPIENT *rcpt, const char *relay,\n\t\t              DSN *dsn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: verify_append
      Src: /src/postfix/postfix/src/global/bounce.c:273,1
    - Dst: trace_append
      Src: /src/postfix/postfix/src/global/bounce.c:284,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/bounce.c:305,1
    - Dst: mail_command_client
      Src: /src/postfix/postfix/src/global/bounce.c:319,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/bounce.c:322,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/bounce.c:323,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/bounce.c:324,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/global/bounce.c:325,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/global/bounce.c:326,1
    - Dst: trace_append
      Src: /src/postfix/postfix/src/global/bounce.c:329,1
    - Dst: log_adhoc
      Src: /src/postfix/postfix/src/global/bounce.c:331,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/bounce.c:334,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/bounce.c:337,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/bounce.c:339,1
    - Dst: defer_append_intern
      Src: /src/postfix/postfix/src/global/bounce.c:340,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/bounce.c:341,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/bounce.c:345,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 6
    argNames:
    - flags
    - id
    - stats
    - rcpt
    - relay
    - dsn
    argTypes:
    - int
    - char*
    - MSG_STATS*
    - RECIPIENT*
    - char*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 348
    functionName: bounce_append_intern
    functionSourceFile: /src/postfix/postfix/src/global/bounce.c
    functionUses: 1
    functionsReached:
    - verify_append
    - mail_command_client
    - vstring_sprintf
    - SEND_ATTR_INT
    - trace_append
    - SEND_ATTR_STR
    - vstring_alloc
    - log_adhoc
    - myfree
    - defer_append_intern
    - SEND_ATTR_FUNC
    - vstring_str
    - mystrdup
    - vstring_free
    linkageType: ''
    returnType: int
    signature: "int bounce_append_intern(int flags, const char *id, MSG_STATS *stats,\n\t\t\t
      \            RECIPIENT *rcpt, const char *relay,\n\t\t\t             DSN *dsn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mail_command_client
      Src: /src/postfix/postfix/src/global/bounce.c:364,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/bounce.c:366,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/bounce.c:367,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/bounce.c:368,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/bounce.c:369,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/bounce.c:370,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/bounce.c:371,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/bounce.c:372,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/bounce.c:373,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/bounce.c:374,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/bounce.c:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 8
    argNames:
    - flags
    - queue
    - id
    - encoding
    - sendopts
    - sender
    - dsn_envid
    - dsn_ret
    argTypes:
    - int
    - char*
    - char*
    - char*
    - int
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 383
    functionName: bounce_flush
    functionSourceFile: /src/postfix/postfix/src/global/bounce.c
    functionUses: 0
    functionsReached:
    - mail_command_client
    - SEND_ATTR_INT
    - SEND_ATTR_STR
    - msg_info
    linkageType: ''
    returnType: int
    signature: "int bounce_flush(int flags, const char *queue, const char *id,\n\t\t
      \            const char *encoding, int sendopts,\n\t\t             const char
      *sender, const char *dsn_envid,\n\t\t             int dsn_ret)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mail_command_client
      Src: /src/postfix/postfix/src/global/bounce.c:399,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/bounce.c:401,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/bounce.c:402,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/bounce.c:403,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/bounce.c:404,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/bounce.c:405,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/bounce.c:406,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/bounce.c:407,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/bounce.c:408,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/bounce.c:409,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/bounce.c:410,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/bounce.c:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 9
    argNames:
    - flags
    - queue
    - id
    - encoding
    - sendopts
    - sender
    - dsn_envid
    - dsn_ret
    - verp_delims
    argTypes:
    - int
    - char*
    - char*
    - char*
    - int
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 419
    functionName: bounce_flush_verp
    functionSourceFile: /src/postfix/postfix/src/global/bounce.c
    functionUses: 0
    functionsReached:
    - mail_command_client
    - SEND_ATTR_INT
    - SEND_ATTR_STR
    - msg_info
    linkageType: ''
    returnType: int
    signature: "int bounce_flush_verp(int flags, const char *queue, const char *id,\n\t\t\t
      \         const char *encoding, int sendopts,\n\t\t\t          const char *sender,
      const char *dsn_envid,\n\t\t\t          int dsn_ret, const char *verp_delims)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dsn_valid
      Src: /src/postfix/postfix/src/global/bounce.c:435,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/bounce.c:436,1
    - Dst: dsn_filter_lookup
      Src: /src/postfix/postfix/src/global/bounce.c:444,1
    - Dst: defer_append_intern
      Src: /src/postfix/postfix/src/global/bounce.c:446,1
    - Dst: bounce_one_intern
      Src: /src/postfix/postfix/src/global/bounce.c:449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 12
    argNames:
    - flags
    - queue
    - id
    - encoding
    - sendopts
    - sender
    - dsn_envid
    - dsn_ret
    - stats
    - rcpt
    - relay
    - dsn
    argTypes:
    - int
    - char*
    - char*
    - char*
    - int
    - char*
    - char*
    - int
    - MSG_STATS*
    - RECIPIENT*
    - char*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 451
    functionName: bounce_one
    functionSourceFile: /src/postfix/postfix/src/global/bounce.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - dsn_valid
    - defer_append_intern
    - bounce_one_intern
    - dsn_filter_lookup
    linkageType: ''
    returnType: int
    signature: "int bounce_one(int flags, const char *queue, const char *id,\n\t\t
      \          const char *encoding, int sendopts,\n\t\t           const char *sender,
      const char *dsn_envid,\n\t\t           int dsn_ret, MSG_STATS *stats, RECIPIENT
      *rcpt,\n\t\t           const char *relay, DSN *dsn)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: verify_append
      Src: /src/postfix/postfix/src/global/bounce.c:471,1
    - Dst: trace_append
      Src: /src/postfix/postfix/src/global/bounce.c:482,1
    - Dst: bounce_append_intern
      Src: /src/postfix/postfix/src/global/bounce.c:491,1
    - Dst: mail_command_client
      Src: /src/postfix/postfix/src/global/bounce.c:507,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/bounce.c:509,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/bounce.c:510,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/bounce.c:511,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/bounce.c:512,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/bounce.c:513,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/bounce.c:514,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/bounce.c:515,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/bounce.c:516,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/bounce.c:517,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/global/bounce.c:518,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/global/bounce.c:519,1
    - Dst: trace_append
      Src: /src/postfix/postfix/src/global/bounce.c:522,1
    - Dst: log_adhoc
      Src: /src/postfix/postfix/src/global/bounce.c:524,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/bounce.c:527,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/bounce.c:530,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/bounce.c:532,1
    - Dst: defer_append_intern
      Src: /src/postfix/postfix/src/global/bounce.c:533,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/bounce.c:534,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 12
    argNames:
    - flags
    - queue
    - id
    - encoding
    - sendopts
    - sender
    - dsn_envid
    - dsn_ret
    - stats
    - rcpt
    - relay
    - dsn
    argTypes:
    - int
    - char*
    - char*
    - char*
    - int
    - char*
    - char*
    - int
    - MSG_STATS*
    - RECIPIENT*
    - char*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 455
    functionDepth: 3
    functionLinenumber: 455
    functionLinenumberEnd: 540
    functionName: bounce_one_intern
    functionSourceFile: /src/postfix/postfix/src/global/bounce.c
    functionUses: 1
    functionsReached:
    - verify_append
    - bounce_append_intern
    - mail_command_client
    - vstring_sprintf
    - SEND_ATTR_INT
    - trace_append
    - SEND_ATTR_STR
    - vstring_alloc
    - log_adhoc
    - defer_append_intern
    - SEND_ATTR_FUNC
    - vstring_str
    - vstring_free
    linkageType: ''
    returnType: int
    signature: "int bounce_one_intern(int flags, const char *queue, const char *id,\n\t\t\t
      \         const char *encoding, int sendopts,\n\t\t\t          const char *sender,
      const char *dsn_envid,\n\t\t\t          int dsn_ret, MSG_STATS *stats,\n\t\t\t
      \         RECIPIENT *rcpt, const char *relay,\n\t\t\t          DSN *dsn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/bounce.c:549,1
    - Dst: dsn_filter_create
      Src: /src/postfix/postfix/src/global/bounce.c:551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - title
    - maps
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 552
    functionName: bounce_client_init
    functionSourceFile: /src/postfix/postfix/src/global/bounce.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - dsn_filter_create
    linkageType: ''
    returnType: void
    signature: void bounce_client_init(const char *title, const char *maps)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/rec_attr_map.c:41,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/rec_attr_map.c:43,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/rec_attr_map.c:45,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/rec_attr_map.c:47,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/rec_attr_map.c:49,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - attr_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 54
    functionName: rec_attr_map
    functionSourceFile: /src/postfix/postfix/src/global/rec_attr_map.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int rec_attr_map(const char *attr_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/postfix/postfix/src/global/remove.c:59,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/remove.c:62,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/remove.c:63,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/global/remove.c:63,1
    - Dst: stat
      Src: /src/postfix/postfix/src/global/remove.c:66,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/remove.c:66,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/remove.c:68,1
    - Dst: rename
      Src: /src/postfix/postfix/src/global/remove.c:70,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/remove.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 72
    functionName: REMOVE
    functionSourceFile: /src/postfix/postfix/src/global/remove.c
    functionUses: 0
    functionsReached:
    - strrchr
    - stat
    - rename
    - vstring_sprintf
    - remove
    - vstring_alloc
    - vstring_strcat
    - vstring_str
    linkageType: ''
    returnType: int
    signature: int REMOVE(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: POST_MAIL_BUFFER
    functionSourceFile: /src/postfix/postfix/src/global/post_mail.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POST_MAIL_BUFFER(v, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/dict_proxy.c
    functionUses: 89
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: VSTREQ
    functionSourceFile: /src/postfix/postfix/src/global/dict_proxy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREQ(v,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/dict_proxy.c:101,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/global/dict_proxy.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: dict_proxy_handshake
    functionSourceFile: /src/postfix/postfix/src/global/dict_proxy.c
    functionUses: 0
    functionsReached:
    - RECV_ATTR_STREQ
    - attr_scan
    linkageType: ''
    returnType: int
    signature: int dict_proxy_handshake(VSTREAM *stream)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/dict_proxy.c:126,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/dict_proxy.c:127,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/dict_proxy.c:128,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/dict_proxy.c:129,1
    - Dst: clnt_stream_access
      Src: /src/postfix/postfix/src/global/dict_proxy.c:133,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/global/dict_proxy.c:137,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/dict_proxy.c:138,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/dict_proxy.c:139,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/dict_proxy.c:140,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/dict_proxy.c:141,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/dict_proxy.c:142,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/dict_proxy.c:144,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/dict_proxy.c:145,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/dict_proxy.c:146,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/dict_proxy.c:147,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/dict_proxy.c:148,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/dict_proxy.c:149,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_proxy.c:152,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_proxy.c:155,1
    - Dst: dict_flags_str
      Src: /src/postfix/postfix/src/global/dict_proxy.c:156,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_proxy.c:157,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_proxy.c:158,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_proxy.c:161,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_proxy.c:165,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_proxy.c:168,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_proxy.c:169,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_proxy.c:170,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_proxy.c:173,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_proxy.c:176,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_proxy.c:179,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_proxy.c:181,1
    - Dst: clnt_stream_recover
      Src: /src/postfix/postfix/src/global/dict_proxy.c:186,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/global/dict_proxy.c:187,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 4
    argNames:
    - dict
    - function
    - key
    - value
    argTypes:
    - DICT*
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 189
    functionName: dict_proxy_sequence
    functionSourceFile: /src/postfix/postfix/src/global/dict_proxy.c
    functionUses: 0
    functionsReached:
    - sleep
    - msg_warn
    - clnt_stream_access
    - SEND_ATTR_STR
    - SEND_ATTR_INT
    - attr_print
    - vstream_fflush
    - RECV_ATTR_STR
    - attr_scan
    - msg_info
    - VSTRING_RESET
    - DICT_ERR_VAL_RETURN
    - VSTRING_TERMINATE
    - dict_flags_str
    - clnt_stream_recover
    - msg_fatal
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: int
    signature: "int dict_proxy_sequence(DICT *dict, int function,\n\t\t\t               const
      char **key, const char **value)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/dict_proxy.c:210,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/dict_proxy.c:211,1
    - Dst: clnt_stream_access
      Src: /src/postfix/postfix/src/global/dict_proxy.c:215,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/global/dict_proxy.c:219,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/dict_proxy.c:220,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/dict_proxy.c:221,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/dict_proxy.c:222,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/dict_proxy.c:223,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/dict_proxy.c:224,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/dict_proxy.c:226,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/dict_proxy.c:227,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/dict_proxy.c:228,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/dict_proxy.c:229,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/dict_proxy.c:230,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_proxy.c:233,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_proxy.c:236,1
    - Dst: dict_flags_str
      Src: /src/postfix/postfix/src/global/dict_proxy.c:238,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_proxy.c:239,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_proxy.c:242,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_proxy.c:246,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_proxy.c:249,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_proxy.c:249,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_proxy.c:251,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_proxy.c:253,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_proxy.c:255,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_proxy.c:257,1
    - Dst: clnt_stream_recover
      Src: /src/postfix/postfix/src/global/dict_proxy.c:262,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/global/dict_proxy.c:263,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - dict
    - key
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 265
    functionName: dict_proxy_lookup
    functionSourceFile: /src/postfix/postfix/src/global/dict_proxy.c
    functionUses: 0
    functionsReached:
    - sleep
    - msg_warn
    - clnt_stream_access
    - SEND_ATTR_STR
    - SEND_ATTR_INT
    - attr_print
    - vstream_fflush
    - RECV_ATTR_STR
    - attr_scan
    - msg_info
    - VSTRING_RESET
    - DICT_ERR_VAL_RETURN
    - VSTRING_TERMINATE
    - dict_flags_str
    - clnt_stream_recover
    - msg_fatal
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: char
    signature: char *dict_proxy_lookup(DICT *dict, const char *key)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: clnt_stream_access
      Src: /src/postfix/postfix/src/global/dict_proxy.c:289,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/global/dict_proxy.c:293,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/dict_proxy.c:294,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/dict_proxy.c:295,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/dict_proxy.c:296,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/dict_proxy.c:297,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/dict_proxy.c:298,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/dict_proxy.c:299,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/dict_proxy.c:301,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/dict_proxy.c:302,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/dict_proxy.c:303,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/dict_proxy.c:304,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_proxy.c:307,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_proxy.c:310,1
    - Dst: dict_flags_str
      Src: /src/postfix/postfix/src/global/dict_proxy.c:311,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_proxy.c:315,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_proxy.c:319,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_proxy.c:322,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_proxy.c:324,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_proxy.c:326,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_proxy.c:328,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_proxy.c:330,1
    - Dst: clnt_stream_recover
      Src: /src/postfix/postfix/src/global/dict_proxy.c:335,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/global/dict_proxy.c:336,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - dict
    - key
    - value
    argTypes:
    - DICT*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 269
    functionDepth: 3
    functionLinenumber: 269
    functionLinenumberEnd: 338
    functionName: dict_proxy_update
    functionSourceFile: /src/postfix/postfix/src/global/dict_proxy.c
    functionUses: 0
    functionsReached:
    - sleep
    - msg_warn
    - clnt_stream_access
    - SEND_ATTR_STR
    - SEND_ATTR_INT
    - vstream_fflush
    - attr_print
    - clnt_stream_recover
    - attr_scan
    - msg_info
    - DICT_ERR_VAL_RETURN
    - dict_flags_str
    - msg_fatal
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: int dict_proxy_update(DICT *dict, const char *key, const char *value)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: clnt_stream_access
      Src: /src/postfix/postfix/src/global/dict_proxy.c:362,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/global/dict_proxy.c:366,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/dict_proxy.c:367,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/dict_proxy.c:368,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/dict_proxy.c:369,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/dict_proxy.c:370,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/dict_proxy.c:371,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/dict_proxy.c:373,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/dict_proxy.c:374,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/dict_proxy.c:375,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/dict_proxy.c:376,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_proxy.c:380,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_proxy.c:383,1
    - Dst: dict_flags_str
      Src: /src/postfix/postfix/src/global/dict_proxy.c:384,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_proxy.c:388,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_proxy.c:392,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_proxy.c:395,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_proxy.c:397,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_proxy.c:399,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_proxy.c:401,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_proxy.c:403,1
    - Dst: clnt_stream_recover
      Src: /src/postfix/postfix/src/global/dict_proxy.c:408,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/global/dict_proxy.c:409,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - dict
    - key
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 342
    functionDepth: 3
    functionLinenumber: 342
    functionLinenumberEnd: 411
    functionName: dict_proxy_delete
    functionSourceFile: /src/postfix/postfix/src/global/dict_proxy.c
    functionUses: 0
    functionsReached:
    - sleep
    - msg_warn
    - clnt_stream_access
    - SEND_ATTR_STR
    - SEND_ATTR_INT
    - vstream_fflush
    - attr_print
    - clnt_stream_recover
    - attr_scan
    - msg_info
    - DICT_ERR_VAL_RETURN
    - dict_flags_str
    - msg_fatal
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: int dict_proxy_delete(DICT *dict, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/dict_proxy.c:419,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/dict_proxy.c:420,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/global/dict_proxy.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 422
    functionName: dict_proxy_close
    functionSourceFile: /src/postfix/postfix/src/global/dict_proxy.c
    functionUses: 0
    functionsReached:
    - dict_free
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_proxy_close(DICT *dict)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dict_open
      Src: /src/postfix/postfix/src/global/dict_proxy.c:445,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_proxy.c:464,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/dict_proxy.c:468,1
    - Dst: access
      Src: /src/postfix/postfix/src/global/dict_proxy.c:470,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/dict_proxy.c:473,1
    - Dst: clnt_stream_create
      Src: /src/postfix/postfix/src/global/dict_proxy.c:475,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_proxy.c:479,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_proxy.c:480,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/global/dict_proxy.c:487,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dict_proxy.c:494,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dict_proxy.c:495,1
    - Dst: clnt_stream_access
      Src: /src/postfix/postfix/src/global/dict_proxy.c:509,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/global/dict_proxy.c:512,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/dict_proxy.c:513,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/dict_proxy.c:514,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/dict_proxy.c:515,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/dict_proxy.c:517,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/dict_proxy.c:518,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/dict_proxy.c:519,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/dict_proxy.c:520,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_proxy.c:523,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_proxy.c:526,1
    - Dst: dict_flags_str
      Src: /src/postfix/postfix/src/global/dict_proxy.c:528,1
    - Dst: DICT_PROXY_ERR_RETURN
      Src: /src/postfix/postfix/src/global/dict_proxy.c:531,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/global/dict_proxy.c:531,1
    - Dst: DICT_PROXY_ERR_RETURN
      Src: /src/postfix/postfix/src/global/dict_proxy.c:536,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/global/dict_proxy.c:536,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_proxy.c:544,1
    - Dst: clnt_stream_recover
      Src: /src/postfix/postfix/src/global/dict_proxy.c:548,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/global/dict_proxy.c:549,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 3
    argNames:
    - map
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 426
    functionDepth: 3
    functionLinenumber: 426
    functionLinenumberEnd: 551
    functionName: dict_proxy_open
    functionSourceFile: /src/postfix/postfix/src/global/dict_proxy.c
    functionUses: 0
    functionsReached:
    - sleep
    - dict_open
    - attr_print
    - msg_info
    - dict_surrogate
    - dict_alloc
    - clnt_stream_create
    - access
    - vstream_fflush
    - vstring_alloc
    - attr_scan
    - concatenate
    - SEND_ATTR_INT
    - myfree
    - dict_flags_str
    - msg_warn
    - clnt_stream_access
    - SEND_ATTR_STR
    - clnt_stream_recover
    - DICT_PROXY_ERR_RETURN
    - msg_fatal
    - RECV_ATTR_INT
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_proxy_open(const char *map, int open_flags, int dict_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 504
    functionName: DICT_PROXY_ERR_RETURN
    functionSourceFile: /src/postfix/postfix/src/global/dict_proxy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_PROXY_ERR_RETURN(d)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:110,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:126,1
    - Dst: tok822_scan_limit
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:127,1
    - Dst: tok822_alloc
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:130,1
    - Dst: tok822_externalize
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:133,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:134,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:135,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:136,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:161,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:170,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:173,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:174,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:175,1
    - Dst: allspace
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:175,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:175,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:175,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:179,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 3
    argNames:
    - result
    - flags
    - str
    argTypes:
    - VSTRING*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 181
    functionName: make_ascii_header_text
    functionSourceFile: /src/postfix/postfix/src/global/ascii_header_text.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - tok822_alloc
    - VSTRING_ADDCH
    - tok822_scan_limit
    - LEN
    - VSTRING_RESET
    - strcspn
    - VSTRING_TERMINATE
    - tok822_externalize
    - allspace
    - tok822_free_tree
    - STR
    linkageType: ''
    returnType: char
    signature: char *make_ascii_header_text(VSTRING *result, int flags, const char
      *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:212,1
    - Dst: make_ascii_header_text
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:214,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:217,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:222,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - tp
    argTypes:
    - TEST_CASE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 227
    functionName: test_make_ascii_header_text
    functionSourceFile: /src/postfix/postfix/src/global/ascii_header_text.c
    functionUses: 0
    functionsReached:
    - make_ascii_header_text
    - strcmp
    - vstring_alloc
    - msg_warn
    linkageType: ''
    returnType: int
    signature: int test_make_ascii_header_text(const TEST_CASE *tp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:291,1
    - Dst: sane_basename
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:291,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:296,1
    - Dst: TEST_CASE*::action
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:297,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:299,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:302,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:306,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/ascii_header_text.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 308
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/ascii_header_text.c
    functionUses: 7
    functionsReached:
    - TEST_CASE*::action
    - exit
    - msg_info
    - msg_vstream_init
    - sane_basename
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/global/reject_deliver_request.c:81,1
    - Dst: vdsb_simple
      Src: /src/postfix/postfix/src/global/reject_deliver_request.c:82,1
    - Dst: dsb_create
      Src: /src/postfix/postfix/src/global/reject_deliver_request.c:82,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/global/reject_deliver_request.c:83,1
    - Dst: DSN_FROM_DSN_BUF
      Src: /src/postfix/postfix/src/global/reject_deliver_request.c:84,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/reject_deliver_request.c:85,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/reject_deliver_request.c:85,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/reject_deliver_request.c:86,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/reject_deliver_request.c:93,1
    - Dst: DEL_REQ_TRACE_FLAGS
      Src: /src/postfix/postfix/src/global/reject_deliver_request.c:95,1
    - Dst: deliver_completed
      Src: /src/postfix/postfix/src/global/reject_deliver_request.c:100,1
    - Dst: dsb_free
      Src: /src/postfix/postfix/src/global/reject_deliver_request.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - service
    - request
    - code
    - format
    argTypes:
    - char*
    - DELIVER_REQUEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 105
    functionName: reject_deliver_request
    functionSourceFile: /src/postfix/postfix/src/global/reject_deliver_request.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - msg_panic
    - DSN_FROM_DSN_BUF
    - strchr
    - DEL_REQ_TRACE_FLAGS
    - vdsb_simple
    - dsb_create
    - deliver_completed
    - dsb_free
    - vstring_str
    linkageType: ''
    returnType: int
    signature: "int reject_deliver_request(const char *service, DELIVER_REQUEST *request,\n\t\t\t
      \              const char *code,\n\t\t\t               const char *format,...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/global/mail_parm_split.c:68,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mail_parm_split.c:69,1
    - Dst: mystrtokq
      Src: /src/postfix/postfix/src/global/mail_parm_split.c:79,1
    - Dst: extpar
      Src: /src/postfix/postfix/src/global/mail_parm_split.c:81,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_parm_split.c:83,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_parm_split.c:85,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_parm_split.c:86,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/global/mail_parm_split.c:89,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/global/mail_parm_split.c:91,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_parm_split.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 94
    functionName: mail_parm_split
    functionSourceFile: /src/postfix/postfix/src/global/mail_parm_split.c
    functionUses: 3
    functionsReached:
    - msg_warn
    - extpar
    - myfree
    - argv_alloc
    - argv_add
    - mystrtokq
    - msg_fatal
    - mystrdup
    - argv_terminate
    linkageType: ''
    returnType: ARGV
    signature: ARGV *mail_parm_split(const char *name, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_parm_split.c:108,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/global/mail_parm_split.c:114,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/mail_parm_split.c:114,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/mail_parm_split.c:115,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/mail_parm_split.c:116,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/mail_parm_split.c:117,1
    - Dst: mail_parm_split
      Src: /src/postfix/postfix/src/global/mail_parm_split.c:118,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/mail_parm_split.c:120,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/global/mail_parm_split.c:121,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/mail_parm_split.c:122,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/mail_parm_split.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 126
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/mail_parm_split.c
    functionUses: 7
    functionsReached:
    - vstring_fgets_nonl
    - VSTRING_LEN
    - mail_parm_split
    - vstream_fflush
    - vstring_alloc
    - argv_free
    - vstream_printf
    - vstring_str
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/scache.c
    functionUses: 95
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_error
      Src: /src/postfix/postfix/src/global/scache.c:205,1
    - Dst: scache_free
      Src: /src/postfix/postfix/src/global/scache.c:209,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/scache.c:211,1
    - Dst: struct cache_type*::create
      Src: /src/postfix/postfix/src/global/scache.c:212,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/global/scache.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - argv
    argTypes:
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 217
    functionName: cache_type
    functionSourceFile: /src/postfix/postfix/src/global/scache.c
    functionUses: 0
    functionsReached:
    - msg_error
    - struct cache_type*::create
    - strcmp
    - scache_free
    linkageType: ''
    returnType: void
    signature: void cache_type(ARGV *argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/postfix/postfix/src/global/scache.c:227,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/global/scache.c:228,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/global/scache.c:231,1
    - Dst: event_drain
      Src: /src/postfix/postfix/src/global/scache.c:232,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/global/scache.c:233,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/global/scache.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - argv
    argTypes:
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 236
    functionName: handle_events
    functionSourceFile: /src/postfix/postfix/src/global/scache.c
    functionUses: 0
    functionsReached:
    - sleep
    - msg_error
    - event_drain
    - event_time
    - atoi
    linkageType: ''
    returnType: void
    signature: void handle_events(ARGV *argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/postfix/postfix/src/global/scache.c:246,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/global/scache.c:247,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/global/scache.c:248,1
    - Dst: DUP2
      Src: /src/postfix/postfix/src/global/scache.c:251,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/scache.c:252,1
    - Dst: scache_save_endp
      Src: /src/postfix/postfix/src/global/scache.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - argv
    argTypes:
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: save_endp
    functionSourceFile: /src/postfix/postfix/src/global/scache.c
    functionUses: 1
    functionsReached:
    - scache_save_endp
    - msg_error
    - DUP2
    - atoi
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void save_endp(ARGV *argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_error
      Src: /src/postfix/postfix/src/global/scache.c:263,1
    - Dst: scache_find_endp
      Src: /src/postfix/postfix/src/global/scache.c:266,1
    - Dst: close
      Src: /src/postfix/postfix/src/global/scache.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - argv
    argTypes:
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 268
    functionName: find_endp
    functionSourceFile: /src/postfix/postfix/src/global/scache.c
    functionUses: 1
    functionsReached:
    - msg_error
    - close
    - scache_find_endp
    linkageType: ''
    returnType: void
    signature: void find_endp(ARGV *argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/postfix/postfix/src/global/scache.c:276,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/global/scache.c:277,1
    - Dst: scache_save_dest
      Src: /src/postfix/postfix/src/global/scache.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - argv
    argTypes:
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 281
    functionName: save_dest
    functionSourceFile: /src/postfix/postfix/src/global/scache.c
    functionUses: 1
    functionsReached:
    - msg_error
    - atoi
    - scache_save_dest
    linkageType: ''
    returnType: void
    signature: void save_dest(ARGV *argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_error
      Src: /src/postfix/postfix/src/global/scache.c:290,1
    - Dst: scache_find_dest
      Src: /src/postfix/postfix/src/global/scache.c:293,1
    - Dst: close
      Src: /src/postfix/postfix/src/global/scache.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - argv
    argTypes:
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 295
    functionName: find_dest
    functionSourceFile: /src/postfix/postfix/src/global/scache.c
    functionUses: 1
    functionsReached:
    - scache_find_dest
    - msg_error
    - close
    linkageType: ''
    returnType: void
    signature: void find_dest(ARGV *argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/postfix/postfix/src/global/scache.c:303,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/global/scache.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - argv
    argTypes:
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: verbose
    functionSourceFile: /src/postfix/postfix/src/global/scache.c
    functionUses: 0
    functionsReached:
    - msg_error
    - atoi
    linkageType: ''
    returnType: void
    signature: void verbose(ARGV *argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/scache.c:341,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/scache.c:343,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/scache.c:344,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/scache.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - argv
    argTypes:
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 346
    functionName: help
    functionSourceFile: /src/postfix/postfix/src/global/scache.c
    functionUses: 0
    functionsReached:
    - vstream_fflush
    - vstream_printf
    linkageType: ''
    returnType: void
    signature: void help(ARGV *argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/scache.c:355,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/scache.c:356,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/global/scache.c:358,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/scache.c:360,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/scache.c:360,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/scache.c:361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - fp
    - interactive
    argTypes:
    - VSTRING*
    - VSTREAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 365
    functionName: get_buffer
    functionSourceFile: /src/postfix/postfix/src/global/scache.c
    functionUses: 0
    functionsReached:
    - vstring_get_nonl
    - vstream_fflush
    - vstream_printf
    - STR
    linkageType: ''
    returnType: int
    signature: int get_buffer(VSTRING *buf, VSTREAM *fp, int interactive)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/scache.c:371,1
    - Dst: isatty
      Src: /src/postfix/postfix/src/global/scache.c:374,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/scache.c:376,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/scache.c:377,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/scache.c:379,1
    - Dst: get_buffer
      Src: /src/postfix/postfix/src/global/scache.c:381,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/global/scache.c:382,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/scache.c:382,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/scache.c:386,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/global/scache.c:388,1
    - Dst: struct action*::action
      Src: /src/postfix/postfix/src/global/scache.c:390,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/global/scache.c:396,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/global/scache.c:398,1
    - Dst: scache_free
      Src: /src/postfix/postfix/src/global/scache.c:400,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/scache.c:401,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/scache.c:402,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/scache.c:403,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/scache.c:404,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 405
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/scache.c
    functionUses: 7
    functionsReached:
    - scache_free
    - struct action*::action
    - msg_error
    - exit
    - vstring_alloc
    - argv_free
    - strcmp
    - argv_split
    - vstream_fileno
    - isatty
    - get_buffer
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/rec_streamlf.c:86,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/global/rec_streamlf.c:88,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/rec_streamlf.c:89,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/rec_streamlf.c:91,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/rec_streamlf.c:94,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/rec_streamlf.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - stream
    - buf
    - maxlen
    argTypes:
    - VSTREAM*
    - VSTRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 98
    functionName: rec_streamlf_get
    functionSourceFile: /src/postfix/postfix/src/global/rec_streamlf.c
    functionUses: 1
    functionsReached:
    - VSTRING_ADDCH
    - VSTRING_LEN
    - VSTRING_RESET
    - VSTREAM_GETC
    - VSTRING_TERMINATE
    linkageType: ''
    returnType: int
    signature: int rec_streamlf_get(VSTREAM *stream, VSTRING *buf, int maxlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/global/rec_streamlf.c:105,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/global/rec_streamlf.c:107,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/global/rec_streamlf.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - stream
    - type
    - data
    - len
    argTypes:
    - VSTREAM*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: rec_streamlf_put
    functionSourceFile: /src/postfix/postfix/src/global/rec_streamlf.c
    functionUses: 0
    functionsReached:
    - vstream_fwrite
    - vstream_ferror
    - VSTREAM_PUTC
    linkageType: ''
    returnType: int
    signature: int rec_streamlf_put(VSTREAM *stream, int type, const char *data, int
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - o
    - ','
    - f
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: domain_list_init
    functionSourceFile: /src/postfix/postfix/src/global/domain_list.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: domain_list_init(o, f, p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_task.c:66,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/global/mail_task.c:67,1
    - Dst: safe_getenv
      Src: /src/postfix/postfix/src/global/mail_task.c:70,1
    - Dst: mail_conf_eval
      Src: /src/postfix/postfix/src/global/mail_task.c:73,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/mail_task.c:74,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/mail_task.c:76,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 77
    functionName: mail_task
    functionSourceFile: /src/postfix/postfix/src/global/mail_task.c
    functionUses: 0
    functionsReached:
    - strrchr
    - vstring_sprintf
    - mail_conf_eval
    - vstring_alloc
    - safe_getenv
    - vstring_str
    linkageType: ''
    returnType: char
    signature: char *mail_task(const char *argv0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - msg_fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: compat_level_from_major
    functionSourceFile: /src/postfix/postfix/src/global/compat_level.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: compat_level_from_major(major, msg_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - msg_fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: compat_level_from_major_minor
    functionSourceFile: /src/postfix/postfix/src/global/compat_level.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: compat_level_from_major_minor(major, minor, msg_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: RING_TO_MULTI_HEAD
    functionSourceFile: /src/postfix/postfix/src/global/scache_multi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RING_TO_MULTI_HEAD(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: RING_TO_MULTI_DEST
    functionSourceFile: /src/postfix/postfix/src/global/scache_multi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RING_TO_MULTI_DEST(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: RING_TO_MULTI_ENDP
    functionSourceFile: /src/postfix/postfix/src/global/scache_multi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RING_TO_MULTI_ENDP(p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/scache_multi.c:142,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/global/scache_multi.c:148,1
    - Dst: ring_detach
      Src: /src/postfix/postfix/src/global/scache_multi.c:155,1
    - Dst: ring_pred
      Src: /src/postfix/postfix/src/global/scache_multi.c:158,1
    - Dst: htable_delete
      Src: /src/postfix/postfix/src/global/scache_multi.c:159,1
    - Dst: close
      Src: /src/postfix/postfix/src/global/scache_multi.c:164,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/scache_multi.c:165,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/scache_multi.c:166,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/scache_multi.c:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - endp
    - direction
    argTypes:
    - SCACHE_MULTI_ENDP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 169
    functionName: scache_multi_drop_endp
    functionSourceFile: /src/postfix/postfix/src/global/scache_multi.c
    functionUses: 0
    functionsReached:
    - htable_delete
    - msg_warn
    - ring_pred
    - close
    - msg_info
    - myfree
    - ring_detach
    - event_cancel_timer
    linkageType: ''
    returnType: void
    signature: void scache_multi_drop_endp(SCACHE_MULTI_ENDP *endp, int direction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scache_multi_drop_endp
      Src: /src/postfix/postfix/src/global/scache_multi.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: scache_multi_expire_endp
    functionSourceFile: /src/postfix/postfix/src/global/scache_multi.c
    functionUses: 0
    functionsReached:
    - scache_multi_drop_endp
    linkageType: ''
    returnType: void
    signature: void scache_multi_expire_endp(int unused_event, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ring_succ
      Src: /src/postfix/postfix/src/global/scache_multi.c:192,1
    - Dst: RING_TO_MULTI_ENDP
      Src: /src/postfix/postfix/src/global/scache_multi.c:193,1
    - Dst: scache_multi_drop_endp
      Src: /src/postfix/postfix/src/global/scache_multi.c:194,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/scache_multi.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 197
    functionName: scache_multi_free_endp
    functionSourceFile: /src/postfix/postfix/src/global/scache_multi.c
    functionUses: 0
    functionsReached:
    - myfree
    - ring_succ
    - scache_multi_drop_endp
    - RING_TO_MULTI_ENDP
    linkageType: ''
    returnType: void
    signature: void scache_multi_free_endp(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/scache_multi.c:211,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/global/scache_multi.c:217,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/scache_multi.c:218,1
    - Dst: ring_init
      Src: /src/postfix/postfix/src/global/scache_multi.c:219,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/global/scache_multi.c:221,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/scache_multi.c:229,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/scache_multi.c:232,1
    - Dst: ring_prepend
      Src: /src/postfix/postfix/src/global/scache_multi.c:233,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/global/scache_multi.c:239,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/scache_multi.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - scache
    - ttl
    - endp_label
    - endp_prop
    - fd
    argTypes:
    - SCACHE*
    - int
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 244
    functionName: scache_multi_save_endp
    functionSourceFile: /src/postfix/postfix/src/global/scache_multi.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - event_request_timer
    - mystrdup
    - ring_prepend
    - msg_info
    - htable_enter
    - ring_init
    - mymalloc
    - htable_find
    linkageType: ''
    returnType: void
    signature: "void scache_multi_save_endp(SCACHE *scache, int ttl,\n\t\t\t\t           const
      char *endp_label,\n\t\t\t\t           const char *endp_prop, int fd)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: htable_find
      Src: /src/postfix/postfix/src/global/scache_multi.c:262,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/scache_multi.c:264,1
    - Dst: ring_succ
      Src: /src/postfix/postfix/src/global/scache_multi.c:273,1
    - Dst: RING_TO_MULTI_ENDP
      Src: /src/postfix/postfix/src/global/scache_multi.c:274,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/scache_multi.c:277,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/scache_multi.c:279,1
    - Dst: scache_multi_drop_endp
      Src: /src/postfix/postfix/src/global/scache_multi.c:281,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/scache_multi.c:285,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - scache
    - endp_label
    - endp_prop
    argTypes:
    - SCACHE*
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 287
    functionName: scache_multi_find_endp
    functionSourceFile: /src/postfix/postfix/src/global/scache_multi.c
    functionUses: 0
    functionsReached:
    - scache_multi_drop_endp
    - msg_info
    - vstring_strcpy
    - RING_TO_MULTI_ENDP
    - ring_succ
    - htable_find
    linkageType: ''
    returnType: int
    signature: "int scache_multi_find_endp(SCACHE *scache, const char *endp_label,\n\t\t\t\t
      \         VSTRING *endp_prop)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/scache_multi.c:297,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/global/scache_multi.c:303,1
    - Dst: ring_detach
      Src: /src/postfix/postfix/src/global/scache_multi.c:310,1
    - Dst: ring_pred
      Src: /src/postfix/postfix/src/global/scache_multi.c:312,1
    - Dst: htable_delete
      Src: /src/postfix/postfix/src/global/scache_multi.c:313,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/scache_multi.c:318,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/scache_multi.c:319,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/scache_multi.c:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - dest
    - direction
    argTypes:
    - SCACHE_MULTI_DEST*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 322
    functionName: scache_multi_drop_dest
    functionSourceFile: /src/postfix/postfix/src/global/scache_multi.c
    functionUses: 0
    functionsReached:
    - htable_delete
    - ring_pred
    - msg_info
    - myfree
    - ring_detach
    - event_cancel_timer
    linkageType: ''
    returnType: void
    signature: void scache_multi_drop_dest(SCACHE_MULTI_DEST *dest, int direction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scache_multi_drop_dest
      Src: /src/postfix/postfix/src/global/scache_multi.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 331
    functionName: scache_multi_expire_dest
    functionSourceFile: /src/postfix/postfix/src/global/scache_multi.c
    functionUses: 0
    functionsReached:
    - scache_multi_drop_dest
    linkageType: ''
    returnType: void
    signature: void scache_multi_expire_dest(int unused_event, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ring_succ
      Src: /src/postfix/postfix/src/global/scache_multi.c:345,1
    - Dst: RING_TO_MULTI_DEST
      Src: /src/postfix/postfix/src/global/scache_multi.c:346,1
    - Dst: scache_multi_drop_dest
      Src: /src/postfix/postfix/src/global/scache_multi.c:347,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/scache_multi.c:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 350
    functionName: scache_multi_free_dest
    functionSourceFile: /src/postfix/postfix/src/global/scache_multi.c
    functionUses: 0
    functionsReached:
    - myfree
    - ring_succ
    - RING_TO_MULTI_DEST
    - scache_multi_drop_dest
    linkageType: ''
    returnType: void
    signature: void scache_multi_free_dest(void *ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/scache_multi.c:367,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/global/scache_multi.c:373,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/scache_multi.c:374,1
    - Dst: ring_init
      Src: /src/postfix/postfix/src/global/scache_multi.c:375,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/global/scache_multi.c:377,1
    - Dst: RING_FOREACH
      Src: /src/postfix/postfix/src/global/scache_multi.c:385,1
    - Dst: RING_TO_MULTI_DEST
      Src: /src/postfix/postfix/src/global/scache_multi.c:386,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/scache_multi.c:387,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/scache_multi.c:388,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/scache_multi.c:394,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/scache_multi.c:396,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/scache_multi.c:397,1
    - Dst: ring_prepend
      Src: /src/postfix/postfix/src/global/scache_multi.c:398,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/global/scache_multi.c:404,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/scache_multi.c:407,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 5
    argNames:
    - scache
    - ttl
    - dest_label
    - dest_prop
    - endp_label
    argTypes:
    - SCACHE*
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 410
    functionName: scache_multi_save_dest
    functionSourceFile: /src/postfix/postfix/src/global/scache_multi.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - RING_TO_MULTI_DEST
    - event_request_timer
    - mystrdup
    - RING_FOREACH
    - ring_prepend
    - msg_info
    - htable_enter
    - ring_init
    - strcmp
    - mymalloc
    - htable_find
    linkageType: ''
    returnType: void
    signature: "void scache_multi_save_dest(SCACHE *scache, int ttl,\n\t\t\t\t           const
      char *dest_label,\n\t\t\t\t           const char *dest_prop,\n\t\t\t\t           const
      char *endp_label)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: htable_find
      Src: /src/postfix/postfix/src/global/scache_multi.c:429,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/scache_multi.c:431,1
    - Dst: RING_FOREACH
      Src: /src/postfix/postfix/src/global/scache_multi.c:439,1
    - Dst: RING_TO_MULTI_DEST
      Src: /src/postfix/postfix/src/global/scache_multi.c:440,1
    - Dst: scache_multi_find_endp
      Src: /src/postfix/postfix/src/global/scache_multi.c:441,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/scache_multi.c:443,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/scache_multi.c:448,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - scache
    - dest_label
    - dest_prop
    - endp_prop
    argTypes:
    - SCACHE*
    - char*
    - VSTRING*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 414
    functionDepth: 3
    functionLinenumber: 414
    functionLinenumberEnd: 450
    functionName: scache_multi_find_dest
    functionSourceFile: /src/postfix/postfix/src/global/scache_multi.c
    functionUses: 0
    functionsReached:
    - RING_TO_MULTI_DEST
    - RING_FOREACH
    - msg_info
    - vstring_strcpy
    - htable_find
    - scache_multi_find_endp
    linkageType: ''
    returnType: int
    signature: "int scache_multi_find_dest(SCACHE *scache, const char *dest_label,\n\t\t\t\t
      \         VSTRING *dest_prop,\n\t\t\t\t          VSTRING *endp_prop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - scache
    - size
    argTypes:
    - SCACHE*
    - SCACHE_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 461
    functionName: scache_multi_size
    functionSourceFile: /src/postfix/postfix/src/global/scache_multi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scache_multi_size(SCACHE *scache, SCACHE_SIZE *size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htable_free
      Src: /src/postfix/postfix/src/global/scache_multi.c:469,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/global/scache_multi.c:470,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/scache_multi.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - scache
    argTypes:
    - SCACHE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 473
    functionName: scache_multi_free
    functionSourceFile: /src/postfix/postfix/src/global/scache_multi.c
    functionUses: 0
    functionsReached:
    - myfree
    - htable_free
    linkageType: ''
    returnType: void
    signature: void scache_multi_free(SCACHE *scache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/scache_multi.c:479,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/global/scache_multi.c:488,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/global/scache_multi.c:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 493
    functionName: scache_multi_create
    functionSourceFile: /src/postfix/postfix/src/global/scache_multi.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - htable_create
    linkageType: ''
    returnType: SCACHE
    signature: SCACHE *scache_multi_create(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/postfix/postfix/src/global/mbox_open.c:140,1
    - Dst: S_ISREG
      Src: /src/postfix/postfix/src/global/mbox_open.c:140,1
    - Dst: dot_lockfile
      Src: /src/postfix/postfix/src/global/mbox_open.c:141,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/global/mbox_open.c:144,1
    - Dst: mbox_dsn
      Src: /src/postfix/postfix/src/global/mbox_open.c:144,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mbox_open.c:147,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/mbox_open.c:147,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/global/mbox_open.c:149,1
    - Dst: mbox_dsn
      Src: /src/postfix/postfix/src/global/mbox_open.c:149,1
    - Dst: safe_open
      Src: /src/postfix/postfix/src/global/mbox_open.c:163,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/global/mbox_open.c:165,1
    - Dst: mbox_dsn
      Src: /src/postfix/postfix/src/global/mbox_open.c:165,1
    - Dst: dot_unlockfile
      Src: /src/postfix/postfix/src/global/mbox_open.c:167,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/global/mbox_open.c:170,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/mbox_open.c:170,1
    - Dst: S_ISREG
      Src: /src/postfix/postfix/src/global/mbox_open.c:181,1
    - Dst: HUNKY_DORY
      Src: /src/postfix/postfix/src/global/mbox_open.c:182,1
    - Dst: HUNKY_DORY
      Src: /src/postfix/postfix/src/global/mbox_open.c:183,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/global/mbox_open.c:186,1
    - Dst: mbox_dsn
      Src: /src/postfix/postfix/src/global/mbox_open.c:186,1
    - Dst: dot_unlockfile
      Src: /src/postfix/postfix/src/global/mbox_open.c:188,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/mbox_open.c:189,1
    - Dst: S_ISREG
      Src: /src/postfix/postfix/src/global/mbox_open.c:205,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/global/mbox_open.c:206,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/mbox_open.c:206,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/mbox_open.c:207,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/global/mbox_open.c:208,1
    - Dst: mbox_dsn
      Src: /src/postfix/postfix/src/global/mbox_open.c:208,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mbox_open.c:209,1
    - Dst: dot_unlockfile
      Src: /src/postfix/postfix/src/global/mbox_open.c:211,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/mbox_open.c:212,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/mbox_open.c:215,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mbox_open.c:216,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 9
    argNames:
    - path
    - flags
    - mode
    - st
    - chown_uid
    - chown_gid
    - lock_style
    - def_dsn
    - why
    argTypes:
    - char*
    - int
    - mode_t
    - struct stat*
    - uid_t
    - gid_t
    - int
    - char*
    - DSN_BUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 220
    functionName: mbox_open
    functionSourceFile: /src/postfix/postfix/src/global/mbox_open.c
    functionUses: 1
    functionsReached:
    - stat
    - mbox_dsn
    - msg_warn
    - vstring_sprintf
    - mymalloc
    - mystrdup
    - S_ISREG
    - vstream_fclose
    - close_on_exec
    - fstat
    - vstream_fileno
    - dot_unlockfile
    - vstring_str
    - HUNKY_DORY
    - dsb_status
    - safe_open
    - dot_lockfile
    linkageType: ''
    returnType: MBOX
    signature: "MBOX *mbox_open(const char *path, int flags, mode_t mode, struct stat
      * st,\n\t\t          uid_t chown_uid, gid_t chown_gid,\n\t\t          int lock_style,
      const char *def_dsn,\n\t\t          DSN_BUF *why)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lock_mask
    - ','
    - myflock_style
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: HUNKY_DORY
    functionSourceFile: /src/postfix/postfix/src/global/mbox_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HUNKY_DORY(lock_mask, myflock_style)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dot_unlockfile
      Src: /src/postfix/postfix/src/global/mbox_open.c:236,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mbox_open.c:237,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mbox_open.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mp
    argTypes:
    - MBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 239
    functionName: mbox_release
    functionSourceFile: /src/postfix/postfix/src/global/mbox_open.c
    functionUses: 1
    functionsReached:
    - myfree
    - dot_unlockfile
    linkageType: ''
    returnType: void
    signature: void mbox_release(MBOX *mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRY_AGAIN_ERROR
      Src: /src/postfix/postfix/src/global/mbox_open.c:252,1
    - Dst: SYSTEM_FULL_ERROR
      Src: /src/postfix/postfix/src/global/mbox_open.c:253,1
    - Dst: MBOX_FULL_ERROR
      Src: /src/postfix/postfix/src/global/mbox_open.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - err
    - def_dsn
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 256
    functionName: mbox_dsn
    functionSourceFile: /src/postfix/postfix/src/global/mbox_open.c
    functionUses: 2
    functionsReached:
    - MBOX_FULL_ERROR
    - TRY_AGAIN_ERROR
    - SYSTEM_FULL_ERROR
    linkageType: ''
    returnType: char
    signature: char *mbox_dsn(int err, const char *def_dsn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: TRY_AGAIN_ERROR
    functionSourceFile: /src/postfix/postfix/src/global/mbox_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRY_AGAIN_ERROR(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: SYSTEM_FULL_ERROR
    functionSourceFile: /src/postfix/postfix/src/global/mbox_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SYSTEM_FULL_ERROR(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: MBOX_FULL_ERROR
    functionSourceFile: /src/postfix/postfix/src/global/mbox_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBOX_FULL_ERROR(e)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mail_queue_name_ok
      Src: /src/postfix/postfix/src/global/mail_queue.c:159,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_queue.c:160,1
    - Dst: mail_queue_id_ok
      Src: /src/postfix/postfix/src/global/mail_queue.c:161,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_queue.c:162,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_queue.c:169,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_queue.c:173,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/global/mail_queue.c:174,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/mail_queue.c:180,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/mail_queue.c:181,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/global/mail_queue.c:187,1
    - Dst: MQID_FIND_LG_INUM_SEPARATOR
      Src: /src/postfix/postfix/src/global/mail_queue.c:188,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_queue.c:190,1
    - Dst: MQID_LG_GET_HEX_USEC
      Src: /src/postfix/postfix/src/global/mail_queue.c:191,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_queue.c:192,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/mail_queue.c:194,1
    - Dst: dir_forest
      Src: /src/postfix/postfix/src/global/mail_queue.c:195,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_queue.c:199,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - buf
    - queue_name
    - queue_id
    argTypes:
    - VSTRING*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 200
    functionName: mail_queue_dir
    functionSourceFile: /src/postfix/postfix/src/global/mail_queue.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - MQID_FIND_LG_INUM_SEPARATOR
    - vstring_alloc
    - MQID_LG_GET_HEX_USEC
    - dir_forest
    - strcasecmp
    - vstring_strcat
    - vstring_strcpy
    - argv_split
    - mail_queue_id_ok
    - mail_queue_name_ok
    - STR
    linkageType: ''
    returnType: char
    signature: "char *mail_queue_dir(VSTRING *buf, const char *queue_name,\n\t\t\t
      \          const char *queue_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_queue.c:214,1
    - Dst: mail_queue_dir
      Src: /src/postfix/postfix/src/global/mail_queue.c:221,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/mail_queue.c:222,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_queue.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - queue_name
    - queue_id
    argTypes:
    - VSTRING*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 224
    functionName: mail_queue_path
    functionSourceFile: /src/postfix/postfix/src/global/mail_queue.c
    functionUses: 3
    functionsReached:
    - mail_queue_dir
    - vstring_strcat
    - vstring_alloc
    - STR
    linkageType: ''
    returnType: char
    signature: "char *mail_queue_path(VSTRING *buf, const char *queue_name,\n\t\t\t
      \           const char *queue_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mail_queue.c:231,1
    - Dst: split_at_right
      Src: /src/postfix/postfix/src/global/mail_queue.c:238,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_queue.c:239,1
    - Dst: make_dirs
      Src: /src/postfix/postfix/src/global/mail_queue.c:240,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_queue.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 243
    functionName: mail_queue_mkdirs
    functionSourceFile: /src/postfix/postfix/src/global/mail_queue.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - make_dirs
    - myfree
    - split_at_right
    - mystrdup
    linkageType: ''
    returnType: int
    signature: int mail_queue_mkdirs(const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_queue.c:250,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_queue.c:251,1
    - Dst: sane_rename
      Src: /src/postfix/postfix/src/global/mail_queue.c:258,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/global/mail_queue.c:258,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/global/mail_queue.c:259,1
    - Dst: mail_queue_mkdirs
      Src: /src/postfix/postfix/src/global/mail_queue.c:260,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_queue.c:260,1
    - Dst: sane_rename
      Src: /src/postfix/postfix/src/global/mail_queue.c:261,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_queue.c:261,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_queue.c:261,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/mail_queue.c:266,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/mail_queue.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - queue_id
    - old_queue
    - new_queue
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 270
    functionName: mail_queue_rename
    functionSourceFile: /src/postfix/postfix/src/global/mail_queue.c
    functionUses: 1
    functionsReached:
    - sane_rename
    - vstring_alloc
    - mail_queue_mkdirs
    - mail_queue_path
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: "int mail_queue_rename(const char *queue_id, const char *old_queue,\n\t\t\t
      \         const char *new_queue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REMOVE
      Src: /src/postfix/postfix/src/global/mail_queue.c:276,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/global/mail_queue.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - queue_name
    - queue_id
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: mail_queue_remove
    functionSourceFile: /src/postfix/postfix/src/global/mail_queue.c
    functionUses: 0
    functionsReached:
    - REMOVE
    - mail_queue_path
    linkageType: ''
    returnType: int
    signature: int mail_queue_remove(const char *queue_name, const char *queue_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/mail_queue.c:285,1
    - Dst: ISALNUM
      Src: /src/postfix/postfix/src/global/mail_queue.c:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - queue_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 292
    functionName: mail_queue_name_ok
    functionSourceFile: /src/postfix/postfix/src/global/mail_queue.c
    functionUses: 1
    functionsReached:
    - ISALNUM
    - strlen
    linkageType: ''
    returnType: int
    signature: int mail_queue_name_ok(const char *queue_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/mail_queue.c:305,1
    - Dst: ISALNUM
      Src: /src/postfix/postfix/src/global/mail_queue.c:312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - queue_id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 315
    functionName: mail_queue_id_ok
    functionSourceFile: /src/postfix/postfix/src/global/mail_queue.c
    functionUses: 6
    functionsReached:
    - ISALNUM
    - strlen
    linkageType: ''
    returnType: int
    signature: int mail_queue_id_ok(const char *queue_id)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/postfix/postfix/src/global/mail_queue.c:339,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_queue.c:340,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_queue.c:341,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_queue.c:342,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_queue.c:343,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_queue.c:344,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/global/mail_queue.c:359,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/mail_queue.c:360,1
    - Dst: open
      Src: /src/postfix/postfix/src/global/mail_queue.c:362,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_queue.c:362,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_queue.c:366,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_queue.c:366,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/global/mail_queue.c:367,1
    - Dst: get_file_id_fd
      Src: /src/postfix/postfix/src/global/mail_queue.c:382,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/global/mail_queue.c:392,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/mail_queue.c:394,1
    - Dst: MQID_LG_ENCODE_SEC
      Src: /src/postfix/postfix/src/global/mail_queue.c:395,1
    - Dst: MQID_LG_ENCODE_USEC
      Src: /src/postfix/postfix/src/global/mail_queue.c:396,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/mail_queue.c:399,1
    - Dst: MQID_SH_ENCODE_USEC
      Src: /src/postfix/postfix/src/global/mail_queue.c:400,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/global/mail_queue.c:403,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_queue.c:403,1
    - Dst: sane_rename
      Src: /src/postfix/postfix/src/global/mail_queue.c:404,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_queue.c:404,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_queue.c:404,1
    - Dst: mail_queue_mkdirs
      Src: /src/postfix/postfix/src/global/mail_queue.c:408,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_queue.c:408,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_queue.c:409,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_queue.c:410,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_queue.c:410,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_queue.c:413,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_queue.c:414,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_queue.c:414,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/global/mail_queue.c:417,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/global/mail_queue.c:418,1
    - Dst: CA_VSTREAM_CTL_PATH
      Src: /src/postfix/postfix/src/global/mail_queue.c:418,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_queue.c:418,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 3
    argNames:
    - queue_name
    - mode
    - tp
    argTypes:
    - char*
    - mode_t
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 319
    functionDepth: 3
    functionLinenumber: 319
    functionLinenumberEnd: 420
    functionName: mail_queue_enter
    functionSourceFile: /src/postfix/postfix/src/global/mail_queue.c
    functionUses: 1
    functionsReached:
    - sleep
    - vstring_sprintf
    - getpid
    - MQID_SH_ENCODE_USEC
    - vstream_control
    - open
    - MQID_LG_ENCODE_USEC
    - mail_queue_mkdirs
    - sane_rename
    - vstring_alloc
    - get_file_id_fd
    - MQID_LG_ENCODE_SEC
    - GETTIMEOFDAY
    - msg_warn
    - vstream_fdopen
    - CA_VSTREAM_CTL_PATH
    - msg_fatal
    - mail_queue_path
    - STR
    linkageType: ''
    returnType: VSTREAM
    signature: "VSTREAM *mail_queue_enter(const char *queue_name, mode_t mode,\n\t\t\t
      \         struct timeval * tp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/global/mail_queue.c:427,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/global/mail_queue.c:434,1
    - Dst: mail_queue_mkdirs
      Src: /src/postfix/postfix/src/global/mail_queue.c:436,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/global/mail_queue.c:437,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - queue_name
    - queue_id
    - flags
    - mode
    argTypes:
    - char*
    - char*
    - int
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 424
    functionDepth: 3
    functionLinenumber: 424
    functionLinenumberEnd: 439
    functionName: mail_queue_open
    functionSourceFile: /src/postfix/postfix/src/global/mail_queue.c
    functionUses: 2
    functionsReached:
    - mail_queue_mkdirs
    - vstream_fopen
    - mail_queue_path
    linkageType: ''
    returnType: VSTREAM
    signature: "VSTREAM *mail_queue_open(const char *queue_name, const char *queue_id,\n\t\t\t
      \        int flags, mode_t mode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:87,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:88,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:89,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:90,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:98,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:106,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:107,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:118,1
    - Dst: tok822_parse
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:120,1
    - Dst: tok822_grep
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:123,1
    - Dst: tok822_externalize
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:125,1
    - Dst: canon_addr_external
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:126,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:126,1
    - Dst: unquote_822_local
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:127,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:127,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:129,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:130,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:130,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:131,1
    - Dst: memmove
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:133,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:133,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:134,1
    - Dst: VSTRING_SKIP
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:135,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:140,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:140,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:141,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:141,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:143,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:143,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:146,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:147,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:148,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:149,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:150,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 4
    argNames:
    - string
    - extension
    - in_form
    - out_form
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 153
    functionName: mail_addr_crunch_opt
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_crunch.c
    functionUses: 0
    functionsReached:
    - VSTRING_SPACE
    - tok822_parse
    - tok822_grep
    - argv_alloc
    - memcpy
    - argv_terminate
    - strlen
    - vstring_alloc
    - vstring_strcat
    - quote_822_local
    - VSTRING_SKIP
    - unquote_822_local
    - myfree
    - canon_addr_external
    - tok822_externalize
    - vstring_free
    - strrchr
    - memmove
    - strcmp
    - argv_add
    - tok822_free_tree
    - STR
    linkageType: ''
    returnType: ARGV
    signature: "ARGV *mail_addr_crunch_opt(const char *string, const char *extension,\n\t\t\t
      \            int in_form, int out_form)"
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_crunch.c
    functionUses: 102
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - addr
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: canon_addr_external
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_crunch.c
    functionUses: 1
    functionsReached:
    - vstring_strcpy
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *canon_addr_external(VSTRING *result, const char *addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:180,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:181,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:183,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:184,1
    - Dst: mail_addr_form_from_string
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:185,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:185,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:186,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - prompt
    - buf
    argTypes:
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 188
    functionName: get_addr_form
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_crunch.c
    functionUses: 0
    functionsReached:
    - vstring_get_nonl
    - exit
    - vstream_fflush
    - mail_addr_form_from_string
    - vstream_printf
    - msg_fatal
    - STR
    linkageType: ''
    returnType: int
    signature: int get_addr_form(const char *prompt, VSTRING *buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:192,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:193,1
    - Dst: isatty
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:196,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:200,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:201,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:202,1
    - Dst: get_addr_form
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:204,1
    - Dst: get_addr_form
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:205,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:207,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:208,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:210,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:211,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:214,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:215,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:217,1
    - Dst: mail_addr_crunch_opt
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:218,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:218,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:218,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:219,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:222,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:223,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:224,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:226,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/mail_addr_crunch.c:227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 190
    functionDepth: 4
    functionLinenumber: 190
    functionLinenumberEnd: 229
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_crunch.c
    functionUses: 7
    functionsReached:
    - vstring_get_nonl
    - VSTRING_LEN
    - vstream_fflush
    - vstring_alloc
    - chdir
    - exit
    - mail_addr_crunch_opt
    - argv_free
    - vstream_printf
    - isatty
    - msg_fatal
    - get_addr_form
    - vstring_free
    - mail_conf_read
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name_mask
      Src: /src/postfix/postfix/src/global/ext_prop.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - param_name
    - pattern
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: ext_prop_mask
    functionSourceFile: /src/postfix/postfix/src/global/ext_prop.c
    functionUses: 0
    functionsReached:
    - name_mask
    linkageType: ''
    returnType: int
    signature: int ext_prop_mask(const char *param_name, const char *pattern)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/mail_addr.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: mail_addr_double_bounce
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr.c
    functionUses: 0
    functionsReached:
    - concatenate
    linkageType: ''
    returnType: char
    signature: char *mail_addr_double_bounce(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/mail_addr.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: mail_addr_postmaster
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr.c
    functionUses: 0
    functionsReached:
    - concatenate
    linkageType: ''
    returnType: char
    signature: char *mail_addr_postmaster(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/mail_addr.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: mail_addr_mail_daemon
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr.c
    functionUses: 0
    functionsReached:
    - concatenate
    linkageType: ''
    returnType: char
    signature: char *mail_addr_mail_daemon(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: DICT_LDAP_DO_BIND
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_LDAP_DO_BIND(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: DICT_LDAP_DO_SASL
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_LDAP_DO_SASL(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 209
    functionName: DICT_LDAP_CONN
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_LDAP_CONN(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - __ld
    - ','
    - __err
    - ','
    - __ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionName: DICT_LDAP_UNBIND_RETURN
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_LDAP_UNBIND_RETURN(__ld, __err, __ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ld
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 222
    functionName: dict_ldap_unbind
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_ldap_unbind(ld)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ld
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 223
    functionName: dict_ldap_abandon
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_ldap_abandon(ld, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ld
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: dict_ldap_unbind
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_ldap_unbind(ld)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ld
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: dict_ldap_abandon
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_ldap_abandon(ld, msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ldap_get_option
      Src: /src/postfix/postfix/src/global/dict_ldap.c:238,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_ldap.c:241,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_ldap.c:244,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/dict_ldap.c:246,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_ldap.c:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 251
    functionName: dict_ldap_vendor_version
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - strcmp
    - ldap_get_option
    linkageType: ''
    returnType: int
    signature: int dict_ldap_vendor_version(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:271,1
    - Dst: vstring_strncat
      Src: /src/postfix/postfix/src/global/dict_ldap.c:272,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/global/dict_ldap.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - unused
    - name
    - result
    argTypes:
    - DICT*
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 277
    functionName: rfc2253_quote
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf_append
    - strcspn
    - vstring_strncat
    linkageType: ''
    returnType: void
    signature: void rfc2253_quote(DICT *unused, const char *name, VSTRING *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:294,1
    - Dst: vstring_strncat
      Src: /src/postfix/postfix/src/global/dict_ldap.c:295,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/global/dict_ldap.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - unused
    - name
    - result
    argTypes:
    - DICT*
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 300
    functionName: rfc2254_quote
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf_append
    - strcspn
    - vstring_strncat
    linkageType: ''
    returnType: void
    signature: void rfc2254_quote(DICT *unused, const char *name, VSTRING *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: longjmp
      Src: /src/postfix/postfix/src/global/dict_ldap.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unused_sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: dict_ldap_timeout
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached:
    - longjmp
    linkageType: ''
    returnType: void
    signature: void dict_ldap_timeout(int unused_sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/dict_ldap.c:322,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/dict_ldap.c:324,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/global/dict_ldap.c:325,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:328,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - LDAP_CONST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 330
    functionName: dict_ldap_logprint
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached:
    - strlen
    - ISSPACE
    - msg_info
    - myfree
    - mystrdup
    linkageType: ''
    returnType: void
    signature: void dict_ldap_logprint(LDAP_CONST char *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ldap_get_option
      Src: /src/postfix/postfix/src/global/dict_ldap.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ld
    argTypes:
    - LDAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 339
    functionName: dict_ldap_get_errno
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached:
    - ldap_get_option
    linkageType: ''
    returnType: int
    signature: int dict_ldap_get_errno(LDAP *ld)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ldap_set_option
      Src: /src/postfix/postfix/src/global/dict_ldap.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ld
    - rc
    argTypes:
    - LDAP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: dict_ldap_set_errno
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached:
    - ldap_set_option
    linkageType: ''
    returnType: int
    signature: int dict_ldap_set_errno(LDAP *ld, int rc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/dict_ldap.c:382,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - ld
    - flags
    - props
    - inter
    argTypes:
    - LDAP*
    - unsigned
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 385
    functionName: ldap_b2_interact
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int ldap_b2_interact(LDAP *ld, unsigned flags, void *props, void *inter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ldap_result
      Src: /src/postfix/postfix/src/global/dict_ldap.c:400,1
    - Dst: dict_ldap_get_errno
      Src: /src/postfix/postfix/src/global/dict_ldap.c:401,1
    - Dst: dict_ldap_get_errno
      Src: /src/postfix/postfix/src/global/dict_ldap.c:403,1
    - Dst: dict_ldap_abandon
      Src: /src/postfix/postfix/src/global/dict_ldap.c:405,1
    - Dst: dict_ldap_set_errno
      Src: /src/postfix/postfix/src/global/dict_ldap.c:406,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - ld
    - msgid
    - timeout
    - res
    argTypes:
    - LDAP*
    - int
    - int
    - LDAPMessage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 411
    functionName: dict_ldap_result
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached:
    - ldap_result
    - dict_ldap_abandon
    - dict_ldap_get_errno
    - dict_ldap_set_errno
    linkageType: ''
    returnType: int
    signature: int dict_ldap_result(LDAP *ld, int msgid, int timeout, LDAPMessage
      **res)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dict_ldap.c:424,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/dict_ldap.c:426,1
    - Dst: ldap_set_option
      Src: /src/postfix/postfix/src/global/dict_ldap.c:428,1
    - Dst: ldap_sasl_interactive_bind_s
      Src: /src/postfix/postfix/src/global/dict_ldap.c:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - dict_ldap
    argTypes:
    - DICT_LDAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 444
    functionName: dict_ldap_bind_sasl
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached:
    - ldap_sasl_interactive_bind_s
    - ldap_set_option
    - vstring_sprintf
    - vstring_alloc
    linkageType: ''
    returnType: int
    signature: int dict_ldap_bind_sasl(DICT_LDAP *dict_ldap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/dict_ldap.c:459,1
    - Dst: ldap_sasl_bind
      Src: /src/postfix/postfix/src/global/dict_ldap.c:460,1
    - Dst: dict_ldap_result
      Src: /src/postfix/postfix/src/global/dict_ldap.c:464,1
    - Dst: ldap_parse_result
      Src: /src/postfix/postfix/src/global/dict_ldap.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - dict_ldap
    argTypes:
    - DICT_LDAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 471
    functionName: dict_ldap_bind_st
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached:
    - ldap_sasl_bind
    - dict_ldap_result
    - strlen
    - ldap_parse_result
    linkageType: ''
    returnType: int
    signature: int dict_ldap_bind_st(DICT_LDAP *dict_ldap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ldap_search_ext
      Src: /src/postfix/postfix/src/global/dict_ldap.c:489,1
    - Dst: dict_ldap_result
      Src: /src/postfix/postfix/src/global/dict_ldap.c:494,1
    - Dst: ldap_parse_result
      Src: /src/postfix/postfix/src/global/dict_ldap.c:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 7
    argNames:
    - ld
    - base
    - scope
    - query
    - attrs
    - timeout
    - res
    argTypes:
    - LDAP*
    - char*
    - int
    - char*
    - char**
    - int
    - LDAPMessage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 500
    functionName: search_st
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached:
    - dict_ldap_result
    - ldap_parse_result
    - ldap_search_ext
    linkageType: ''
    returnType: int
    signature: "int search_st(LDAP *ld, char *base, int scope, char *query,\n\t\t
      \            char **attrs, int timeout, LDAPMessage **res)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ldap_set_option
      Src: /src/postfix/postfix/src/global/dict_ldap.c:519,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:521,1
    - Dst: ldap_err2string
      Src: /src/postfix/postfix/src/global/dict_ldap.c:523,1
    - Dst: ldap_set_option
      Src: /src/postfix/postfix/src/global/dict_ldap.c:528,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:530,1
    - Dst: ldap_err2string
      Src: /src/postfix/postfix/src/global/dict_ldap.c:532,1
    - Dst: ldap_set_option
      Src: /src/postfix/postfix/src/global/dict_ldap.c:537,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:539,1
    - Dst: ldap_err2string
      Src: /src/postfix/postfix/src/global/dict_ldap.c:541,1
    - Dst: ldap_set_option
      Src: /src/postfix/postfix/src/global/dict_ldap.c:546,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:548,1
    - Dst: ldap_err2string
      Src: /src/postfix/postfix/src/global/dict_ldap.c:550,1
    - Dst: ldap_set_option
      Src: /src/postfix/postfix/src/global/dict_ldap.c:555,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:557,1
    - Dst: ldap_err2string
      Src: /src/postfix/postfix/src/global/dict_ldap.c:559,1
    - Dst: ldap_set_option
      Src: /src/postfix/postfix/src/global/dict_ldap.c:564,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:566,1
    - Dst: ldap_err2string
      Src: /src/postfix/postfix/src/global/dict_ldap.c:568,1
    - Dst: ldap_set_option
      Src: /src/postfix/postfix/src/global/dict_ldap.c:572,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:574,1
    - Dst: ldap_err2string
      Src: /src/postfix/postfix/src/global/dict_ldap.c:576,1
    - Dst: ldap_set_option
      Src: /src/postfix/postfix/src/global/dict_ldap.c:580,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:582,1
    - Dst: ldap_err2string
      Src: /src/postfix/postfix/src/global/dict_ldap.c:583,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 1
    argNames:
    - dict_ldap
    argTypes:
    - DICT_LDAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 589
    functionName: dict_ldap_set_tls_options
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached:
    - ldap_set_option
    - msg_warn
    - ldap_err2string
    linkageType: ''
    returnType: int
    signature: int dict_ldap_set_tls_options(DICT_LDAP *dict_ldap)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: ber_set_option
      Src: /src/postfix/postfix/src/global/dict_ldap.c:611,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:613,1
    - Dst: ber_set_option
      Src: /src/postfix/postfix/src/global/dict_ldap.c:615,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:617,1
    - Dst: ldap_set_option
      Src: /src/postfix/postfix/src/global/dict_ldap.c:619,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:621,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:627,1
    - Dst: ldap_initialize
      Src: /src/postfix/postfix/src/global/dict_ldap.c:632,1
    - Dst: ldap_init
      Src: /src/postfix/postfix/src/global/dict_ldap.c:634,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:638,1
    - Dst: ldap_set_option
      Src: /src/postfix/postfix/src/global/dict_ldap.c:645,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:647,1
    - Dst: DICT_LDAP_UNBIND_RETURN
      Src: /src/postfix/postfix/src/global/dict_ldap.c:648,1
    - Dst: signal
      Src: /src/postfix/postfix/src/global/dict_ldap.c:651,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:652,1
    - Dst: alarm
      Src: /src/postfix/postfix/src/global/dict_ldap.c:657,1
    - Dst: setjmp
      Src: /src/postfix/postfix/src/global/dict_ldap.c:658,1
    - Dst: ldap_open
      Src: /src/postfix/postfix/src/global/dict_ldap.c:659,1
    - Dst: alarm
      Src: /src/postfix/postfix/src/global/dict_ldap.c:663,1
    - Dst: signal
      Src: /src/postfix/postfix/src/global/dict_ldap.c:665,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:666,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:672,1
    - Dst: ldap_set_option
      Src: /src/postfix/postfix/src/global/dict_ldap.c:684,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:686,1
    - Dst: DICT_LDAP_UNBIND_RETURN
      Src: /src/postfix/postfix/src/global/dict_ldap.c:687,1
    - Dst: ldap_get_option
      Src: /src/postfix/postfix/src/global/dict_ldap.c:690,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:693,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:695,1
    - Dst: ldap_set_option
      Src: /src/postfix/postfix/src/global/dict_ldap.c:704,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:706,1
    - Dst: DICT_LDAP_UNBIND_RETURN
      Src: /src/postfix/postfix/src/global/dict_ldap.c:708,1
    - Dst: ldap_set_option
      Src: /src/postfix/postfix/src/global/dict_ldap.c:716,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:718,1
    - Dst: ldap_set_option
      Src: /src/postfix/postfix/src/global/dict_ldap.c:723,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:726,1
    - Dst: DICT_LDAP_UNBIND_RETURN
      Src: /src/postfix/postfix/src/global/dict_ldap.c:727,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:731,1
    - Dst: dict_ldap_set_tls_options
      Src: /src/postfix/postfix/src/global/dict_ldap.c:736,1
    - Dst: DICT_LDAP_UNBIND_RETURN
      Src: /src/postfix/postfix/src/global/dict_ldap.c:737,1
    - Dst: signal
      Src: /src/postfix/postfix/src/global/dict_ldap.c:739,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:740,1
    - Dst: DICT_LDAP_UNBIND_RETURN
      Src: /src/postfix/postfix/src/global/dict_ldap.c:742,1
    - Dst: alarm
      Src: /src/postfix/postfix/src/global/dict_ldap.c:744,1
    - Dst: setjmp
      Src: /src/postfix/postfix/src/global/dict_ldap.c:745,1
    - Dst: ldap_start_tls_s
      Src: /src/postfix/postfix/src/global/dict_ldap.c:746,1
    - Dst: alarm
      Src: /src/postfix/postfix/src/global/dict_ldap.c:752,1
    - Dst: signal
      Src: /src/postfix/postfix/src/global/dict_ldap.c:754,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:755,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/global/dict_ldap.c:761,1
    - Dst: ldap_err2string
      Src: /src/postfix/postfix/src/global/dict_ldap.c:762,1
    - Dst: DICT_LDAP_DO_BIND
      Src: /src/postfix/postfix/src/global/dict_ldap.c:776,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:778,1
    - Dst: DN_LOG_VAL
      Src: /src/postfix/postfix/src/global/dict_ldap.c:779,1
    - Dst: DICT_LDAP_DO_SASL
      Src: /src/postfix/postfix/src/global/dict_ldap.c:782,1
    - Dst: dict_ldap_bind_sasl
      Src: /src/postfix/postfix/src/global/dict_ldap.c:783,1
    - Dst: dict_ldap_bind_st
      Src: /src/postfix/postfix/src/global/dict_ldap.c:785,1
    - Dst: dict_ldap_bind_st
      Src: /src/postfix/postfix/src/global/dict_ldap.c:788,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:792,1
    - Dst: DN_LOG_VAL
      Src: /src/postfix/postfix/src/global/dict_ldap.c:793,1
    - Dst: ldap_err2string
      Src: /src/postfix/postfix/src/global/dict_ldap.c:794,1
    - Dst: DICT_LDAP_UNBIND_RETURN
      Src: /src/postfix/postfix/src/global/dict_ldap.c:795,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:798,1
    - Dst: DN_LOG_VAL
      Src: /src/postfix/postfix/src/global/dict_ldap.c:799,1
    - Dst: DICT_LDAP_CONN
      Src: /src/postfix/postfix/src/global/dict_ldap.c:802,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:805,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 112
    argCount: 1
    argNames:
    - dict_ldap
    argTypes:
    - DICT_LDAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 594
    functionDepth: 3
    functionLinenumber: 594
    functionLinenumberEnd: 809
    functionName: dict_ldap_connect
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached:
    - msg_info
    - ldap_start_tls_s
    - ldap_err2string
    - setjmp
    - DICT_LDAP_DO_SASL
    - msg_error
    - dict_ldap_bind_sasl
    - DICT_LDAP_CONN
    - ldap_open
    - DICT_LDAP_DO_BIND
    - ldap_set_option
    - DICT_LDAP_UNBIND_RETURN
    - dict_ldap_set_tls_options
    - signal
    - msg_warn
    - alarm
    - ldap_init
    - ldap_initialize
    - ldap_get_option
    - DN_LOG_VAL
    - dict_ldap_bind_st
    - ber_set_option
    linkageType: ''
    returnType: int
    signature: int dict_ldap_connect(DICT_LDAP *dict_ldap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dict_ldap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 771
    functionName: DN_LOG_VAL
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DN_LOG_VAL(dict_ldap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dict_ldap.c:816,1
    - Dst: ADDSTR
      Src: /src/postfix/postfix/src/global/dict_ldap.c:832,1
    - Dst: ADDINT
      Src: /src/postfix/postfix/src/global/dict_ldap.c:833,1
    - Dst: ADDINT
      Src: /src/postfix/postfix/src/global/dict_ldap.c:834,1
    - Dst: ADDSTR
      Src: /src/postfix/postfix/src/global/dict_ldap.c:835,1
    - Dst: DICT_LDAP_DO_BIND
      Src: /src/postfix/postfix/src/global/dict_ldap.c:835,1
    - Dst: ADDSTR
      Src: /src/postfix/postfix/src/global/dict_ldap.c:836,1
    - Dst: DICT_LDAP_DO_BIND
      Src: /src/postfix/postfix/src/global/dict_ldap.c:836,1
    - Dst: ADDINT
      Src: /src/postfix/postfix/src/global/dict_ldap.c:837,1
    - Dst: ADDINT
      Src: /src/postfix/postfix/src/global/dict_ldap.c:838,1
    - Dst: ADDINT
      Src: /src/postfix/postfix/src/global/dict_ldap.c:839,1
    - Dst: ADDINT
      Src: /src/postfix/postfix/src/global/dict_ldap.c:840,1
    - Dst: ADDSTR
      Src: /src/postfix/postfix/src/global/dict_ldap.c:843,1
    - Dst: DICT_LDAP_DO_SASL
      Src: /src/postfix/postfix/src/global/dict_ldap.c:843,1
    - Dst: ADDSTR
      Src: /src/postfix/postfix/src/global/dict_ldap.c:844,1
    - Dst: DICT_LDAP_DO_SASL
      Src: /src/postfix/postfix/src/global/dict_ldap.c:844,1
    - Dst: ADDSTR
      Src: /src/postfix/postfix/src/global/dict_ldap.c:845,1
    - Dst: DICT_LDAP_DO_SASL
      Src: /src/postfix/postfix/src/global/dict_ldap.c:845,1
    - Dst: ADDINT
      Src: /src/postfix/postfix/src/global/dict_ldap.c:846,1
    - Dst: DICT_LDAP_DO_SASL
      Src: /src/postfix/postfix/src/global/dict_ldap.c:846,1
    - Dst: ADDINT
      Src: /src/postfix/postfix/src/global/dict_ldap.c:848,1
    - Dst: ADDINT
      Src: /src/postfix/postfix/src/global/dict_ldap.c:849,1
    - Dst: ADDINT
      Src: /src/postfix/postfix/src/global/dict_ldap.c:850,1
    - Dst: ADDSTR
      Src: /src/postfix/postfix/src/global/dict_ldap.c:851,1
    - Dst: ADDSTR
      Src: /src/postfix/postfix/src/global/dict_ldap.c:852,1
    - Dst: ADDSTR
      Src: /src/postfix/postfix/src/global/dict_ldap.c:853,1
    - Dst: ADDSTR
      Src: /src/postfix/postfix/src/global/dict_ldap.c:854,1
    - Dst: ADDSTR
      Src: /src/postfix/postfix/src/global/dict_ldap.c:855,1
    - Dst: ADDSTR
      Src: /src/postfix/postfix/src/global/dict_ldap.c:856,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:859,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/dict_ldap.c:860,1
    - Dst: binhash_create
      Src: /src/postfix/postfix/src/global/dict_ldap.c:863,1
    - Dst: binhash_locate
      Src: /src/postfix/postfix/src/global/dict_ldap.c:865,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/dict_ldap.c:866,1
    - Dst: binhash_enter
      Src: /src/postfix/postfix/src/global/dict_ldap.c:869,1
    - Dst: DICT_LDAP_CONN
      Src: /src/postfix/postfix/src/global/dict_ldap.c:871,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/dict_ldap.c:873,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 1
    argNames:
    - dict_ldap
    argTypes:
    - DICT_LDAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 874
    functionName: dict_ldap_conn_find
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached:
    - binhash_locate
    - VSTRING_LEN
    - DICT_LDAP_DO_BIND
    - DICT_LDAP_DO_SASL
    - vstring_alloc
    - binhash_enter
    - ADDSTR
    - DICT_LDAP_CONN
    - ADDINT
    - mymalloc
    - vstring_str
    - binhash_create
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_ldap_conn_find(DICT_LDAP *dict_ldap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vp
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 830
    functionName: ADDSTR
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADDSTR(vp, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vp
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 831
    functionName: ADDINT
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADDINT(vp, i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TOLOWER
      Src: /src/postfix/postfix/src/global/dict_ldap.c:884,1
    - Dst: TOLOWER
      Src: /src/postfix/postfix/src/global/dict_ldap.c:884,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - a1
    - a2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 903
    functionName: attrdesc_subtype
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached:
    - TOLOWER
    linkageType: ''
    returnType: int
    signature: int attrdesc_subtype(const char *a1, const char *a2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: argv_truncate
      Src: /src/postfix/postfix/src/global/dict_ldap.c:937,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/global/dict_ldap.c:939,1
    - Dst: attrdesc_subtype
      Src: /src/postfix/postfix/src/global/dict_ldap.c:950,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/global/dict_ldap.c:952,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/global/dict_ldap.c:954,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 907
    functionDepth: 2
    functionLinenumber: 907
    functionLinenumberEnd: 959
    functionName: url_attrs
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached:
    - attrdesc_subtype
    - argv_truncate
    - argv_alloc
    - argv_add
    linkageType: ''
    returnType: char
    signature: char **url_attrs(DICT_LDAP *dict_ldap, LDAPURLDesc *url)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:992,1
    - Dst: ldap_count_entries
      Src: /src/postfix/postfix/src/global/dict_ldap.c:993,1
    - Dst: ldap_first_entry
      Src: /src/postfix/postfix/src/global/dict_ldap.c:995,1
    - Dst: ldap_next_entry
      Src: /src/postfix/postfix/src/global/dict_ldap.c:996,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1006,1
    - Dst: ldap_get_values_len
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1020,1
    - Dst: ldap_count_values_len
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1022,1
    - Dst: ldap_value_free_len
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1023,1
    - Dst: ldap_get_values_len
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1038,1
    - Dst: ldap_count_values_len
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1040,1
    - Dst: ldap_value_free_len
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1041,1
    - Dst: ldap_first_attribute
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1046,1
    - Dst: ldap_memfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1047,1
    - Dst: ldap_next_attribute
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1048,1
    - Dst: ldap_get_values_len
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1050,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1053,1
    - Dst: ldap_count_values_len
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1057,1
    - Dst: ldap_value_free_len
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1069,1
    - Dst: attrdesc_subtype
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1084,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1097,1
    - Dst: db_common_expand
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1104,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1110,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1120,1
    - Dst: ldap_is_ldap_url
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1128,1
    - Dst: ldap_url_parse
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1129,1
    - Dst: url_attrs
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1131,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1133,1
    - Dst: search_st
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1136,1
    - Dst: ldap_free_urldesc
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1142,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1145,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1151,1
    - Dst: ldap_err2string
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1153,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1159,1
    - Dst: search_st
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1161,1
    - Dst: dict_ldap_get_values
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1168,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1176,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1180,1
    - Dst: ldap_err2string
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1181,1
    - Dst: ldap_msgfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1187,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1193,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1198,1
    - Dst: ldap_value_free_len
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1203,1
    - Dst: ber_free
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1206,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1210,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 124
    argCount: 4
    argNames:
    - dict_ldap
    - res
    - result
    - name
    argTypes:
    - DICT_LDAP*
    - LDAPMessage*
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 968
    functionDepth: 3
    functionLinenumber: 968
    functionLinenumberEnd: 1212
    functionName: dict_ldap_get_values
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 1
    functionsReached:
    - ber_free
    - ldap_first_attribute
    - ldap_url_parse
    - msg_info
    - ldap_memfree
    - search_st
    - ldap_err2string
    - dict_ldap_get_values
    - url_attrs
    - ldap_value_free_len
    - ldap_get_values_len
    - ldap_first_entry
    - ldap_free_urldesc
    - ldap_count_entries
    - ldap_is_ldap_url
    - ldap_msgfree
    - ldap_count_values_len
    - ldap_next_attribute
    - msg_warn
    - attrdesc_subtype
    - ldap_next_entry
    - db_common_expand
    linkageType: ''
    returnType: void
    signature: "void dict_ldap_get_values(DICT_LDAP *dict_ldap, LDAPMessage *res,\n\t\t\t\t
      \        VSTRING *result, const char *name)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1231,1
    - Dst: valid_utf8_stringz
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1237,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1239,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1249,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1250,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1251,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1251,1
    - Dst: db_common_check_domain
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1259,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1261,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1266,1
    - Dst: INIT_VSTR
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1275,1
    - Dst: INIT_VSTR
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1276,1
    - Dst: INIT_VSTR
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1277,1
    - Dst: DICT_LDAP_CONN
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1284,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1291,1
    - Dst: dict_ldap_connect
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1295,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1303,1
    - Dst: ldap_set_option
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1314,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1316,1
    - Dst: db_common_expand
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1331,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1334,1
    - Dst: db_common_expand
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1338,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1341,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1350,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1351,1
    - Dst: search_st
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1353,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1353,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1354,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1359,1
    - Dst: dict_ldap_unbind
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1362,1
    - Dst: DICT_LDAP_CONN
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1363,1
    - Dst: dict_ldap_connect
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1364,1
    - Dst: search_st
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1372,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1372,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1373,1
    - Dst: dict_ldap_get_values
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1385,1
    - Dst: dict_ldap_get_errno
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1392,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1394,1
    - Dst: ldap_err2string
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1396,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1399,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1400,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1401,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1414,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1416,1
    - Dst: ldap_err2string
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1416,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1425,1
    - Dst: ldap_err2string
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1426,1
    - Dst: dict_ldap_unbind
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1432,1
    - Dst: DICT_LDAP_CONN
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1433,1
    - Dst: ldap_msgfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1446,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1452,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1452,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 89
    argCount: 2
    argNames:
    - dict
    - name
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1216
    functionDepth: 4
    functionLinenumber: 1216
    functionLinenumberEnd: 1453
    functionName: dict_ldap_lookup
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached:
    - VSTRING_LEN
    - INIT_VSTR
    - msg_info
    - dict_ldap_connect
    - db_common_expand
    - search_st
    - dict_ldap_get_errno
    - ldap_err2string
    - dict_ldap_get_values
    - vstring_alloc
    - DICT_LDAP_CONN
    - ldap_msgfree
    - vstring_str
    - ldap_set_option
    - lowercase
    - msg_warn
    - db_common_check_domain
    - dict_ldap_unbind
    - vstring_strcpy
    - valid_utf8_stringz
    - DICT_ERR_VAL_RETURN
    linkageType: ''
    returnType: char
    signature: char *dict_ldap_lookup(DICT *dict, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1268
    functionDepth: 0
    functionLinenumber: 1268
    functionLinenumberEnd: 1274
    functionName: INIT_VSTR
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INIT_VSTR(buf, len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DICT_LDAP_CONN
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1461,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1467,1
    - Dst: dict_ldap_unbind
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1469,1
    - Dst: binhash_delete
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1471,1
    - Dst: cfg_parser_free
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1473,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1474,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1475,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1476,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1478,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1479,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1480,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1481,1
    - Dst: db_common_free_ctx
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1483,1
    - Dst: DICT_LDAP_DO_SASL
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1486,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1487,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1488,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1489,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1492,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1493,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1494,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1495,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1496,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1497,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1500,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1501,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1502
    functionName: dict_ldap_close
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached:
    - db_common_free_ctx
    - DICT_LDAP_DO_SASL
    - binhash_delete
    - dict_free
    - dict_ldap_unbind
    - argv_free
    - msg_info
    - DICT_LDAP_CONN
    - cfg_parser_free
    - myfree
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_ldap_close(DICT *dict)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: dict_ldap_vendor_version
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1518,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1522,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1528,1
    - Dst: cfg_parser_alloc
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1535,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1536,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1539,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1548,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1555,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1560,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1569,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1578,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1580,1
    - Dst: ldap_is_ldap_url
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1586,1
    - Dst: ldap_url_parse
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1590,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1591,1
    - Dst: ldap_err2string
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1592,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1595,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1597,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1601,1
    - Dst: ldap_free_urldesc
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1603,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1604,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1605,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1606,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1608,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1609,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1610,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1611,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1613,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1617,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1618,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1619,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1622,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1623,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1632,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1635,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1640,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1642,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1644,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1646,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1649,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1654,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1656,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1665,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1667,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1670,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1672,1
    - Dst: db_common_parse
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1682,1
    - Dst: db_common_parse
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1684,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1685,1
    - Dst: db_common_parse
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1688,1
    - Dst: db_common_parse_domain
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1689,1
    - Dst: db_common_dict_partial
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1695,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1700,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1703,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1704,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1706,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1709,1
    - Dst: argv_split_append
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1711,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1714,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1717,1
    - Dst: argv_split_append
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1719,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1721,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1724,1
    - Dst: argv_split_append
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1726,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1727,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1732,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1733,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1735,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1737,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1742,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1747,1
    - Dst: cfg_get_bool
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1752,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1754,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1756,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1758,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1760,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1762,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1764,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1771,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1774,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1780,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1783,1
    - Dst: cfg_get_bool
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1788,1
    - Dst: DICT_LDAP_DO_SASL
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1797,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1799,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1801,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1803,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1805,1
    - Dst: cfg_get_bool
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1817,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1820,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1827,1
    - Dst: cfg_get_bool
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1834,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1838,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1842,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1846,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1850,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1854,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1858,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1866,1
    - Dst: dict_ldap_conn_find
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1873,1
    - Dst: cfg_get_owner
      Src: /src/postfix/postfix/src/global/dict_ldap.c:1878,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 167
    argCount: 3
    argNames:
    - ldapsource
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1880
      start: 1506
    functionDepth: 3
    functionLinenumber: 1506
    functionLinenumberEnd: 1880
    functionName: dict_ldap_open
    functionSourceFile: /src/postfix/postfix/src/global/dict_ldap.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - ldap_url_parse
    - VSTRING_LEN
    - argv_split_append
    - msg_info
    - dict_surrogate
    - ldap_err2string
    - dict_alloc
    - cfg_get_int
    - dict_ldap_conn_find
    - DICT_LDAP_DO_SASL
    - msg_error
    - vstring_alloc
    - ldap_free_urldesc
    - strcasecmp
    - vstring_strcat
    - mystrtok
    - ldap_is_ldap_url
    - cfg_get_str
    - db_common_dict_partial
    - cfg_get_owner
    - myfree
    - cfg_parser_alloc
    - VSTRING_TERMINATE
    - db_common_parse_domain
    - argv_split
    - db_common_parse
    - vstring_sprintf_append
    - cfg_get_bool
    - strrchr
    - name_code
    - msg_warn
    - vstring_export
    - dict_ldap_vendor_version
    - msg_fatal
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_ldap_open(const char *ldapsource, int open_flags, int dict_flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/post_mail.c:222,1
    - Dst: int_filt_flags
      Src: /src/postfix/postfix/src/global/post_mail.c:226,1
    - Dst: smtputf8_autodetect
      Src: /src/postfix/postfix/src/global/post_mail.c:227,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/global/post_mail.c:231,1
    - Dst: mail_date
      Src: /src/postfix/postfix/src/global/post_mail.c:232,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/global/post_mail.c:248,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/post_mail.c:254,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/global/post_mail.c:255,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/post_mail.c:256,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/global/post_mail.c:258,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/post_mail.c:259,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/post_mail.c:261,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/global/post_mail.c:267,1
    - Dst: REC_TYPE_TIME_ARG
      Src: /src/postfix/postfix/src/global/post_mail.c:268,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/global/post_mail.c:269,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/global/post_mail.c:271,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/global/post_mail.c:273,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/global/post_mail.c:274,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/global/post_mail.c:275,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/global/post_mail.c:281,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/global/post_mail.c:283,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/post_mail.c:283,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/global/post_mail.c:284,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/post_mail.c:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 7
    argNames:
    - stream
    - sender
    - recipient
    - source_class
    - trace_flags
    - sendopts
    - queue_id
    argTypes:
    - VSTREAM*
    - char*
    - char*
    - int
    - int
    - int
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 287
    functionName: post_mail_init
    functionSourceFile: /src/postfix/postfix/src/global/post_mail.c
    functionUses: 0
    functionsReached:
    - mail_date
    - vstring_str
    - int_filt_flags
    - GETTIMEOFDAY
    - SEND_ATTR_INT
    - attr_print
    - vstring_alloc
    - RECV_ATTR_STR
    - attr_scan
    - vstream_control
    - post_mail_fprintf
    - rec_fprintf
    - RECV_ATTR_STREQ
    - rec_fputs
    - REC_TYPE_TIME_ARG
    - msg_fatal
    - vstring_free
    - smtputf8_autodetect
    linkageType: ''
    returnType: void
    signature: "void post_mail_init(VSTREAM *stream, const char *sender,\n\t\t\t           const
      char *recipient,\n\t\t\t           int source_class, int trace_flags,\n\t\t\t
      \          int sendopts, VSTRING *queue_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mail_connect_wait
      Src: /src/postfix/postfix/src/global/post_mail.c:297,1
    - Dst: post_mail_init
      Src: /src/postfix/postfix/src/global/post_mail.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - sender
    - recipient
    - source_class
    - trace_flags
    - sendopts
    - queue_id
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 301
    functionName: post_mail_fopen
    functionSourceFile: /src/postfix/postfix/src/global/post_mail.c
    functionUses: 0
    functionsReached:
    - mail_connect_wait
    - post_mail_init
    linkageType: ''
    returnType: VSTREAM
    signature: "VSTREAM *post_mail_fopen(const char *sender, const char *recipient,\n\t\t\t
      \        int source_class, int trace_flags,\n\t\t\t         int sendopts, VSTRING
      *queue_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mail_connect
      Src: /src/postfix/postfix/src/global/post_mail.c:311,1
    - Dst: post_mail_init
      Src: /src/postfix/postfix/src/global/post_mail.c:313,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/post_mail.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - sender
    - recipient
    - source_class
    - trace_flags
    - sendopts
    - queue_id
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 319
    functionName: post_mail_fopen_nowait
    functionSourceFile: /src/postfix/postfix/src/global/post_mail.c
    functionUses: 0
    functionsReached:
    - mail_connect
    - post_mail_init
    - msg_warn
    linkageType: ''
    returnType: VSTREAM
    signature: "VSTREAM *post_mail_fopen_nowait(const char *sender, const char *recipient,\n\t\t\t\t
      \       int source_class, int trace_flags,\n\t\t\t\t        int sendopts, VSTRING
      *queue_id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/post_mail.c:337,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/global/post_mail.c:338,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/global/post_mail.c:339,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/post_mail.c:339,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/global/post_mail.c:340,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/post_mail.c:340,1
    - Dst: post_mail_init
      Src: /src/postfix/postfix/src/global/post_mail.c:341,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/post_mail.c:345,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/post_mail.c:346,1
    - Dst: POST_MAIL_STATE*::notify
      Src: /src/postfix/postfix/src/global/post_mail.c:347,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/post_mail.c:348,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/post_mail.c:357,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/global/post_mail.c:358,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/post_mail.c:358,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/post_mail.c:359,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/post_mail.c:361,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/post_mail.c:363,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/post_mail.c:364,1
    - Dst: POST_MAIL_STATE*::notify
      Src: /src/postfix/postfix/src/global/post_mail.c:365,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/post_mail.c:366,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/post_mail.c:373,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/global/post_mail.c:374,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/global/post_mail.c:375,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/post_mail.c:375,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/post_mail.c:376,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/post_mail.c:377,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/post_mail.c:378,1
    - Dst: POST_MAIL_STATE*::notify
      Src: /src/postfix/postfix/src/global/post_mail.c:379,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/post_mail.c:380,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/post_mail.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 389
    functionName: post_mail_open_event
    functionSourceFile: /src/postfix/postfix/src/global/post_mail.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_warn
    - post_mail_init
    - POST_MAIL_STATE*::notify
    - vstream_fclose
    - msg_info
    - myfree
    - non_blocking
    - event_disable_readwrite
    - vstream_fileno
    - event_cancel_timer
    linkageType: ''
    returnType: void
    signature: void post_mail_open_event(int event, void *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mail_connect
      Src: /src/postfix/postfix/src/global/post_mail.c:402,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/post_mail.c:403,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/post_mail.c:404,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/post_mail.c:405,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/global/post_mail.c:419,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/post_mail.c:419,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/global/post_mail.c:421,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/global/post_mail.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 7
    argNames:
    - sender
    - recipient
    - source_class
    - trace_flags
    - sendopts
    - queue_id
    - context
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    - VSTRING*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 426
    functionName: post_mail_fopen_async
    functionSourceFile: /src/postfix/postfix/src/global/post_mail.c
    functionUses: 0
    functionsReached:
    - event_request_timer
    - mail_connect
    - event_enable_read
    - mymalloc
    - mystrdup
    - vstream_fileno
    linkageType: ''
    returnType: void
    signature: "void post_mail_fopen_async(const char *sender, const char *recipient,\n\t\t\t
      \             int source_class, int trace_flags,\n\t\t\t              int sendopts,
      VSTRING *queue_id,\n\t\t\t              void (*notify) (VSTREAM *, void *),\n\t\t\t
      \             void *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/global/post_mail.c:435,1
    - Dst: rec_vfprintf
      Src: /src/postfix/postfix/src/global/post_mail.c:436,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/global/post_mail.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cleanup
    - format
    argTypes:
    - VSTREAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 439
    functionName: post_mail_fprintf
    functionSourceFile: /src/postfix/postfix/src/global/post_mail.c
    functionUses: 1
    functionsReached:
    - va_start
    - rec_vfprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: int post_mail_fprintf(VSTREAM *cleanup, const char *format,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rec_put
      Src: /src/postfix/postfix/src/global/post_mail.c:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cleanup
    - buf
    - len
    argTypes:
    - VSTREAM*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 447
    functionName: post_mail_buffer
    functionSourceFile: /src/postfix/postfix/src/global/post_mail.c
    functionUses: 0
    functionsReached:
    - rec_put
    linkageType: ''
    returnType: int
    signature: int post_mail_buffer(VSTREAM *cleanup, const char *buf, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/post_mail.c:453,1
    - Dst: rec_put
      Src: /src/postfix/postfix/src/global/post_mail.c:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cleanup
    - str
    argTypes:
    - VSTREAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 457
    functionName: post_mail_fputs
    functionSourceFile: /src/postfix/postfix/src/global/post_mail.c
    functionUses: 0
    functionsReached:
    - rec_put
    - strlen
    linkageType: ''
    returnType: int
    signature: int post_mail_fputs(VSTREAM *cleanup, const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/global/post_mail.c:468,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/global/post_mail.c:471,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/global/post_mail.c:472,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/post_mail.c:473,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/post_mail.c:474,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/post_mail.c:475,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/post_mail.c:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - cleanup
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 481
    functionName: post_mail_fclose
    functionSourceFile: /src/postfix/postfix/src/global/post_mail.c
    functionUses: 0
    functionsReached:
    - vstream_fflush
    - vstream_ferror
    - vstream_fclose
    - attr_scan
    - rec_fputs
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: int post_mail_fclose(VSTREAM *cleanup)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/global/post_mail.c:497,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/post_mail.c:498,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/post_mail.c:509,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/global/post_mail.c:518,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/global/post_mail.c:519,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/post_mail.c:519,1
    - Dst: POST_MAIL_FCLOSE_STATE*::notify
      Src: /src/postfix/postfix/src/global/post_mail.c:524,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/post_mail.c:525,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/post_mail.c:526,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 527
    functionName: post_mail_fclose_event
    functionSourceFile: /src/postfix/postfix/src/global/post_mail.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - vstream_ferror
    - vstream_fclose
    - attr_scan
    - POST_MAIL_FCLOSE_STATE*::notify
    - myfree
    - event_disable_readwrite
    - vstream_fileno
    - event_cancel_timer
    linkageType: ''
    returnType: void
    signature: void post_mail_fclose_event(int event, void *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/global/post_mail.c:542,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/global/post_mail.c:545,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/global/post_mail.c:546,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/post_mail.c:547,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/post_mail.c:554,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/global/post_mail.c:565,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/post_mail.c:565,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/global/post_mail.c:567,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/global/post_mail.c:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - stream
    - context
    argTypes:
    - VSTREAM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 572
    functionName: post_mail_fclose_async
    functionSourceFile: /src/postfix/postfix/src/global/post_mail.c
    functionUses: 0
    functionsReached:
    - event_request_timer
    - event_enable_read
    - vstream_fflush
    - vstream_ferror
    - rec_fputs
    - mymalloc
    - vstream_fileno
    linkageType: ''
    returnType: void
    signature: "void post_mail_fclose_async(VSTREAM *stream,\n\t\t\t         void
      (*notify) (int status, void *context),\n\t\t\t               void *context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inet_addr_list_init
      Src: /src/postfix/postfix/src/global/wildcard_inet_addr.c:55,1
    - Dst: inet_addr_host
      Src: /src/postfix/postfix/src/global/wildcard_inet_addr.c:56,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/wildcard_inet_addr.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - addr_list
    argTypes:
    - INET_ADDR_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: wildcard_inet_addr_init
    functionSourceFile: /src/postfix/postfix/src/global/wildcard_inet_addr.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - inet_addr_host
    - inet_addr_list_init
    linkageType: ''
    returnType: void
    signature: void wildcard_inet_addr_init(INET_ADDR_LIST *addr_list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wildcard_inet_addr_init
      Src: /src/postfix/postfix/src/global/wildcard_inet_addr.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: wildcard_inet_addr_list
    functionSourceFile: /src/postfix/postfix/src/global/wildcard_inet_addr.c
    functionUses: 0
    functionsReached:
    - wildcard_inet_addr_init
    linkageType: ''
    returnType: INET_ADDR_LIST
    signature: INET_ADDR_LIST *wildcard_inet_addr_list(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:82,1
    - Dst: valid_mailhost_addr
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:101,1
    - Dst: hostaddr_to_sockaddr
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:102,1
    - Dst: sockaddr_to_hostaddr
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:103,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:108,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:109,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:113,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:120,1
    - Dst: UPDATE_BARE_ADDR
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:128,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:130,1
    - Dst: UPDATE_MAILHOST_ADDR
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:135,1
    - Dst: UPDATE_BARE_ADDR
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:138,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:140,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:145,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 4
    argNames:
    - string
    - mailhost_addr
    - bare_addr
    - addr_family
    argTypes:
    - char*
    - char**
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 151
    functionName: normalize_mailhost_addr
    functionSourceFile: /src/postfix/postfix/src/global/normalize_mailhost_addr.c
    functionUses: 0
    functionsReached:
    - inet_proto_info
    - UPDATE_BARE_ADDR
    - strchr
    - freeaddrinfo
    - msg_info
    - sockaddr_to_hostaddr
    - valid_mailhost_addr
    - UPDATE_MAILHOST_ADDR
    - strncasecmp
    - hostaddr_to_sockaddr
    linkageType: ''
    returnType: int
    signature: "int normalize_mailhost_addr(const char *string, char **mailhost_addr,\n\t\t\t\t
      \       char **bare_addr, int *addr_family)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: UPDATE_BARE_ADDR
    functionSourceFile: /src/postfix/postfix/src/global/normalize_mailhost_addr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_BARE_ADDR(s, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - prefix
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: UPDATE_MAILHOST_ADDR
    functionSourceFile: /src/postfix/postfix/src/global/normalize_mailhost_addr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_MAILHOST_ADDR(s, prefix, addr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:199,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:200,1
    - Dst: inet_proto_init
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:210,1
    - Dst: normalize_mailhost_addr
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:212,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:220,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:229,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:230,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:236,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:237,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:244,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:251,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:253,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:255,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/normalize_mailhost_addr.c:256,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 257
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/normalize_mailhost_addr.c
    functionUses: 9
    functionsReached:
    - msg_warn
    - exit
    - msg_info
    - myfree
    - inet_proto_init
    - strcmp
    - normalize_mailhost_addr
    - mystrdup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/global/attr_override.c:104,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/attr_override.c:105,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/attr_override.c:109,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/attr_override.c:110,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/attr_override.c:114,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/attr_override.c:115,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/attr_override.c:119,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/attr_override.c:120,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/attr_override.c:123,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/global/attr_override.c:126,1
    - Dst: mystrtokq
      Src: /src/postfix/postfix/src/global/attr_override.c:131,1
    - Dst: extpar
      Src: /src/postfix/postfix/src/global/attr_override.c:149,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/attr_override.c:150,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/global/attr_override.c:151,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/attr_override.c:152,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/attr_override.c:158,1
    - Dst: check_mail_conf_str
      Src: /src/postfix/postfix/src/global/attr_override.c:160,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/attr_override.c:165,1
    - Dst: strtol
      Src: /src/postfix/postfix/src/global/attr_override.c:169,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/attr_override.c:172,1
    - Dst: check_mail_conf_int
      Src: /src/postfix/postfix/src/global/attr_override.c:173,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/attr_override.c:178,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/global/attr_override.c:180,1
    - Dst: conv_time
      Src: /src/postfix/postfix/src/global/attr_override.c:181,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/attr_override.c:182,1
    - Dst: check_mail_conf_time
      Src: /src/postfix/postfix/src/global/attr_override.c:183,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/attr_override.c:188,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 60
    argCount: 3
    argNames:
    - cp
    - sep
    - parens
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 190
    functionName: attr_override
    functionSourceFile: /src/postfix/postfix/src/global/attr_override.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - msg_panic
    - check_mail_conf_str
    - extpar
    - split_nameval
    - strspn
    - va_arg
    - conv_time
    - check_mail_conf_time
    - strcmp
    - check_mail_conf_int
    - mystrtokq
    - msg_fatal
    - strtol
    linkageType: ''
    returnType: void
    signature: void attr_override(char *cp, const char *sep, const char *parens,...)
  - 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: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: RFC2047_ALLOWED_TOKEN_CHAR
    functionSourceFile: /src/postfix/postfix/src/global/rfc2047_code.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RFC2047_ALLOWED_TOKEN_CHAR(c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:176,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:181,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:182,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:184,1
    - Dst: base64_encode_opt
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:192,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:195,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:199,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - result
    - charset
    - in
    - len
    - out_separator
    argTypes:
    - VSTRING*
    - char*
    - char*
    - ssize_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 202
    functionName: rfc204_b64_encode
    functionSourceFile: /src/postfix/postfix/src/global/rfc2047_code.c
    functionUses: 0
    functionsReached:
    - vstring_str
    - VSTRING_LEN
    - base64_encode_opt
    - VSTRING_RESET
    - vstring_strcat
    - vstring_sprintf_append
    linkageType: ''
    returnType: char
    signature: "char *rfc204_b64_encode(VSTRING *result,\n\t\t\t               const
      char *charset,\n\t\t\t               const char *in, ssize_t len,\n\t\t\t               const
      char *out_separator)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:215,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:221,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:222,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:224,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:232,1
    - Dst: isascii
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:234,1
    - Dst: iscntrl
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:234,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:234,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:238,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:241,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:247,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:251,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:253,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 6
    argNames:
    - result
    - charset
    - specials
    - in
    - len
    - out_separator
    argTypes:
    - VSTRING*
    - char*
    - char*
    - char*
    - ssize_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 254
    functionName: rfc2047_qp_encode
    functionSourceFile: /src/postfix/postfix/src/global/rfc2047_code.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - strchr
    - vstring_str
    - VSTRING_LEN
    - iscntrl
    - isascii
    - VSTRING_RESET
    - vstring_strcat
    - vstring_sprintf_append
    linkageType: ''
    returnType: char
    signature: "char *rfc2047_qp_encode(VSTRING *result,\n\t\t\t               const
      char *charset,\n\t\t\t               const char *specials,\n\t\t\t               const
      char *in, ssize_t len,\n\t\t\t               const char *out_separator)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:274,1
    - Dst: RFC2047_ALLOWED_TOKEN_CHAR
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:278,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:279,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:290,1
    - Dst: allspace
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:293,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:294,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:310,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:316,1
    - Dst: isascii
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:338,1
    - Dst: isspace
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:338,1
    - Dst: iscntrl
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:338,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:339,1
    - Dst: rfc204_b64_encode
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:341,1
    - Dst: rfc2047_qp_encode
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:345,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 6
    argNames:
    - result
    - header_context
    - charset
    - in
    - len
    - out_separator
    argTypes:
    - VSTRING*
    - int
    - char*
    - char*
    - ssize_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 347
    functionName: rfc2047_encode
    functionSourceFile: /src/postfix/postfix/src/global/rfc2047_code.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - rfc2047_qp_encode
    - msg_warn
    - strchr
    - rfc204_b64_encode
    - isspace
    - iscntrl
    - isascii
    - RFC2047_ALLOWED_TOKEN_CHAR
    - allspace
    linkageType: ''
    returnType: char
    signature: "char *rfc2047_encode(VSTRING *result, int header_context,\n\t\t               const
      char *charset,\n\t\t               const char *in, ssize_t len,\n\t\t               const
      char *out_separator)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - one
    - two
    argTypes:
    - VSTREAM*
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 370
    functionName: vstream_swap
    functionSourceFile: /src/postfix/postfix/src/global/rfc2047_code.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vstream_swap(VSTREAM *one, VSTREAM *two)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - string
    - replacement
    - except
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: printable_except
    functionSourceFile: /src/postfix/postfix/src/global/rfc2047_code.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *printable_except(char *string, int replacement, const char *except)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:407,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:408,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:411,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:412,1
    - Dst: vstream_memopen
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:413,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:414,1
    - Dst: vstream_swap
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:415,1
    - Dst: rfc2047_encode
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:416,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:417,1
    - Dst: vstream_swap
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:419,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:420,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:421,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:424,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:425,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:425,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:429,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:429,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:430,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:431,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:435,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:441,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:446,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:447,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - tp
    argTypes:
    - TEST_CASE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 451
    functionName: test_rfc2047_encode
    functionSourceFile: /src/postfix/postfix/src/global/rfc2047_code.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - vstring_str
    - strlen
    - VSTRING_LEN
    - vstring_alloc
    - vstream_memopen
    - rfc2047_encode
    - vstream_fclose
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - strcmp
    - msg_fatal
    - vstream_swap
    linkageType: ''
    returnType: int
    signature: int test_rfc2047_encode(const TEST_CASE *tp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:487,1
    - Dst: SET_SINGLE
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:488,1
    - Dst: SET_RANGE
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:489,1
    - Dst: SET_RANGE
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:490,1
    - Dst: SET_SINGLE
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:491,1
    - Dst: SET_RANGE
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:492,1
    - Dst: SET_RANGE
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:493,1
    - Dst: SET_RANGE
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:494,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:496,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:497,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:498,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:509,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:510,1
    - Dst: FD_ISSET
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:511,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:512,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:513,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:517,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:518,1
    - Dst: test_rfc2047_encode
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:520,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:523,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:524,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 1
    argNames:
    - tp
    argTypes:
    - TEST_CASE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 464
    functionDepth: 4
    functionLinenumber: 464
    functionLinenumberEnd: 527
    functionName: validates_charset
    functionSourceFile: /src/postfix/postfix/src/global/rfc2047_code.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - FD_ISSET
    - SET_RANGE
    - FD_ZERO
    - SET_SINGLE
    - vstring_alloc
    - test_rfc2047_encode
    - vstring_str
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int validates_charset(const TEST_CASE *tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - map
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: SET_RANGE
    functionSourceFile: /src/postfix/postfix/src/global/rfc2047_code.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_RANGE(map, min, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - map
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: SET_SINGLE
    functionSourceFile: /src/postfix/postfix/src/global/rfc2047_code.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_SINGLE(map, n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:560,1
    - Dst: SET_RANGE
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:561,1
    - Dst: FD_CLR
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:563,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:565,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:566,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:584,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:585,1
    - Dst: FD_ISSET
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:586,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:587,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:589,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:591,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:593,1
    - Dst: test_rfc2047_encode
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:594,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:597,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:598,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - label
    - context
    - specials
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 545
    functionDepth: 4
    functionLinenumber: 545
    functionLinenumberEnd: 600
    functionName: encodes_text
    functionSourceFile: /src/postfix/postfix/src/global/rfc2047_code.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - FD_ISSET
    - SET_RANGE
    - FD_ZERO
    - FD_CLR
    - vstring_alloc
    - test_rfc2047_encode
    - vstring_str
    - vstring_free
    linkageType: ''
    returnType: int
    signature: "int encodes_text(const char *label,\n\t\t\t        int context,\n\t\t\t
      \       const char *specials)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encodes_text
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tp
    argTypes:
    - TEST_CASE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 602
    functionDepth: 5
    functionLinenumber: 602
    functionLinenumberEnd: 615
    functionName: encodes_comment_text
    functionSourceFile: /src/postfix/postfix/src/global/rfc2047_code.c
    functionUses: 0
    functionsReached:
    - encodes_text
    linkageType: ''
    returnType: int
    signature: int encodes_comment_text(const TEST_CASE *tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encodes_text
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tp
    argTypes:
    - TEST_CASE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 617
    functionDepth: 5
    functionLinenumber: 617
    functionLinenumberEnd: 633
    functionName: encodes_phrase_text
    functionSourceFile: /src/postfix/postfix/src/global/rfc2047_code.c
    functionUses: 0
    functionsReached:
    - encodes_text
    linkageType: ''
    returnType: int
    signature: int encodes_phrase_text(const TEST_CASE *tp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:742,1
    - Dst: sane_basename
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:742,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:747,1
    - Dst: TEST_CASE*::action
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:748,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:750,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:753,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:757,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/rfc2047_code.c:758,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 759
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/rfc2047_code.c
    functionUses: 9
    functionsReached:
    - TEST_CASE*::action
    - exit
    - msg_info
    - msg_vstream_init
    - sane_basename
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: clear_known_tcp_ports
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:61,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:67,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:69,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:80,1
    - Dst: argv_split_at
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:82,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:83,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:88,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:98,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:100,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:107,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:109,1
    - Dst: add_known_tcp_port
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:112,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:119,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:122,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:124,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 2
    argNames:
    - source
    - settings
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 125
    functionName: config_known_tcp_ports
    functionSourceFile: /src/postfix/postfix/src/global/config_known_tcp_ports.c
    functionUses: 1
    functionsReached:
    - add_known_tcp_port
    - msg_warn
    - argv_free
    - clear_known_tcp_ports
    - myfree
    - mystrtok
    - argv_split
    - argv_split_at
    - concatenate
    linkageType: ''
    returnType: void
    signature: void config_known_tcp_ports(const char *source, const char *settings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/config_known_tcp_ports.c
    functionUses: 107
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - one
    - two
    argTypes:
    - VSTREAM*
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: vstream_swap
    functionSourceFile: /src/postfix/postfix/src/global/config_known_tcp_ports.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vstream_swap(VSTREAM *one, VSTREAM *two)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:214,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:216,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:217,1
    - Dst: vstream_memopen
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:220,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:221,1
    - Dst: vstream_swap
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:222,1
    - Dst: config_known_tcp_ports
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:223,1
    - Dst: vstream_swap
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:224,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:225,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:226,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:227,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:227,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:228,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:229,1
    - Dst: STRING_OR_NULL
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:230,1
    - Dst: export_known_tcp_ports
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:233,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:234,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:235,1
    - Dst: clear_known_tcp_ports
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:239,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:240,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:241,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:244,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:247,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:251,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:252,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:253,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/config_known_tcp_ports.c:254,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 255
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/config_known_tcp_ports.c
    functionUses: 9
    functionsReached:
    - STRING_OR_NULL
    - config_known_tcp_ports
    - msg_warn
    - exit
    - vstream_memopen
    - vstring_alloc
    - msg_vstream_init
    - vstream_fclose
    - STR
    - clear_known_tcp_ports
    - VSTRING_RESET
    - strcmp
    - VSTRING_TERMINATE
    - export_known_tcp_ports
    - msg_info
    - msg_fatal
    - vstring_free
    - vstream_swap
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 213
    functionName: STRING_OR_NULL
    functionSourceFile: /src/postfix/postfix/src/global/config_known_tcp_ports.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRING_OR_NULL(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - path
    - ','
    - address
    - ','
    - propagate
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: mail_addr_map_internal
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mail_addr_map_internal(path, address, propagate)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cp
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: tok822_scan
    functionSourceFile: /src/postfix/postfix/src/global/tok822.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tok822_scan(cp, ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: tok822_parse
    functionSourceFile: /src/postfix/postfix/src/global/tok822.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tok822_parse(cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: tok822_resolve
    functionSourceFile: /src/postfix/postfix/src/global/tok822.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tok822_resolve(t, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/mail_pathname.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - service_class
    - service_name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: mail_pathname
    functionSourceFile: /src/postfix/postfix/src/global/mail_pathname.c
    functionUses: 0
    functionsReached:
    - concatenate
    linkageType: ''
    returnType: char
    signature: char *mail_pathname(const char *service_class, const char *service_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hbc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: hbc_header_checks_free
    functionSourceFile: /src/postfix/postfix/src/global/header_body_checks.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hbc_header_checks_free(hbc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hbc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: hbc_body_checks_free
    functionSourceFile: /src/postfix/postfix/src/global/header_body_checks.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hbc_body_checks_free(hbc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ISCNTRL
      Src: /src/postfix/postfix/src/global/quote_822_local.c:114,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 18
    argCount: 3
    argNames:
    - local_part
    - end
    - flags
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 127
    functionName: is_822_dot_string
    functionSourceFile: /src/postfix/postfix/src/global/quote_822_local.c
    functionUses: 0
    functionsReached:
    - ISCNTRL
    linkageType: ''
    returnType: int
    signature: int is_822_dot_string(const char *local_part, const char *end, int
      flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/quote_822_local.c:141,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/quote_822_local.c:145,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/quote_822_local.c:146,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/quote_822_local.c:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - dst
    - local_part
    - end
    - flags
    argTypes:
    - VSTRING*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: make_822_quoted_string
    functionSourceFile: /src/postfix/postfix/src/global/quote_822_local.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    linkageType: ''
    returnType: VSTRING
    signature: "VSTRING *make_822_quoted_string(VSTRING *dst, const char *local_part,\n\t\t\t\t
      \              const char *end, int flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/quote_822_local.c:166,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/global/quote_822_local.c:171,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/quote_822_local.c:172,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/quote_822_local.c:174,1
    - Dst: is_822_dot_string
      Src: /src/postfix/postfix/src/global/quote_822_local.c:175,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/quote_822_local.c:176,1
    - Dst: vstring_strncat
      Src: /src/postfix/postfix/src/global/quote_822_local.c:178,1
    - Dst: make_822_quoted_string
      Src: /src/postfix/postfix/src/global/quote_822_local.c:179,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/quote_822_local.c:180,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - dst
    - mbox
    - flags
    argTypes:
    - VSTRING*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 182
    functionName: quote_822_local_flags
    functionSourceFile: /src/postfix/postfix/src/global/quote_822_local.c
    functionUses: 0
    functionsReached:
    - strrchr
    - strchr
    - vstring_strncat
    - make_822_quoted_string
    - is_822_dot_string
    - strlen
    - VSTRING_RESET
    - vstring_strcat
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *quote_822_local_flags(VSTRING *dst, const char *mbox, int
      flags)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/quote_822_local.c:196,1
    - Dst: vstring_strncpy
      Src: /src/postfix/postfix/src/global/quote_822_local.c:198,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/quote_822_local.c:201,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/quote_822_local.c:210,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/quote_822_local.c:218,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/global/quote_822_local.c:222,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/quote_822_local.c:223,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/quote_822_local.c:225,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - dst
    - mbox
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 227
    functionName: unquote_822_local
    functionSourceFile: /src/postfix/postfix/src/global/quote_822_local.c
    functionUses: 1
    functionsReached:
    - VSTRING_ADDCH
    - strchr
    - vstring_truncate
    - VSTRING_LEN
    - vstring_strncpy
    - VSTRING_RESET
    - vstring_strcat
    - VSTRING_TERMINATE
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *unquote_822_local(VSTRING *dst, const char *mbox)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/quote_822_local.c:249,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/quote_822_local.c:250,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/global/quote_822_local.c:255,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/quote_822_local.c:256,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/quote_822_local.c:257,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/global/quote_822_local.c:258,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/quote_822_local.c:261,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/quote_822_local.c:264,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/quote_822_local.c:266,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/global/quote_822_local.c:267,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/quote_822_local.c:268,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/quote_822_local.c:268,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/quote_822_local.c:269,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/quote_822_local.c:270,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/quote_822_local.c:271,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/global/quote_822_local.c:274,1
    - Dst: quote_flags_from_string
      Src: /src/postfix/postfix/src/global/quote_822_local.c:276,1
    - Dst: quote_822_local_flags
      Src: /src/postfix/postfix/src/global/quote_822_local.c:277,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/quote_822_local.c:278,1
    - Dst: quote_flags_to_string
      Src: /src/postfix/postfix/src/global/quote_822_local.c:279,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/quote_822_local.c:279,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/quote_822_local.c:280,1
    - Dst: unquote_822_local
      Src: /src/postfix/postfix/src/global/quote_822_local.c:281,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/quote_822_local.c:282,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/quote_822_local.c:282,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/quote_822_local.c:284,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/quote_822_local.c:286,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/quote_822_local.c:289,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/quote_822_local.c:290,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - unused_argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 292
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/quote_822_local.c
    functionUses: 9
    functionsReached:
    - msg_warn
    - quote_flags_from_string
    - ISSPACE
    - vstring_fgets_nonl
    - unquote_822_local
    - vstring_alloc
    - quote_flags_to_string
    - vstream_fflush
    - strcmp
    - quote_822_local_flags
    - vstream_printf
    - mystrtok
    - quote_822_local
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/namadr_list.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/global/namadr_list.c
    functionUses: 3
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void usage(char *progname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/namadr_list.c:114,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/global/namadr_list.c:116,1
    - Dst: usage
      Src: /src/postfix/postfix/src/global/namadr_list.c:122,1
    - Dst: usage
      Src: /src/postfix/postfix/src/global/namadr_list.c:126,1
    - Dst: namadr_list_init
      Src: /src/postfix/postfix/src/global/namadr_list.c:129,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/namadr_list.c:133,1
    - Dst: namadr_list_match
      Src: /src/postfix/postfix/src/global/namadr_list.c:134,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/namadr_list.c:136,1
    - Dst: namadr_list_free
      Src: /src/postfix/postfix/src/global/namadr_list.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 139
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/namadr_list.c
    functionUses: 9
    functionsReached:
    - vstream_fflush
    - namadr_list_init
    - msg_vstream_init
    - namadr_list_free
    - vstream_printf
    - usage
    - namadr_list_match
    - GETOPT
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dsn_valid
      Src: /src/postfix/postfix/src/global/sent.c:111,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/sent.c:112,1
    - Dst: dsn_filter_lookup
      Src: /src/postfix/postfix/src/global/sent.c:120,1
    - Dst: verify_append
      Src: /src/postfix/postfix/src/global/sent.c:129,1
    - Dst: trace_append
      Src: /src/postfix/postfix/src/global/sent.c:140,1
    - Dst: REC_ALL_SENT
      Src: /src/postfix/postfix/src/global/sent.c:158,1
    - Dst: REC_DLY_SENT
      Src: /src/postfix/postfix/src/global/sent.c:158,1
    - Dst: trace_append
      Src: /src/postfix/postfix/src/global/sent.c:159,1
    - Dst: trace_append
      Src: /src/postfix/postfix/src/global/sent.c:161,1
    - Dst: log_adhoc
      Src: /src/postfix/postfix/src/global/sent.c:162,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/sent.c:165,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/sent.c:167,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/sent.c:169,1
    - Dst: defer_append
      Src: /src/postfix/postfix/src/global/sent.c:171,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/sent.c:172,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 6
    argNames:
    - flags
    - id
    - stats
    - recipient
    - relay
    - dsn
    argTypes:
    - int
    - char*
    - MSG_STATS*
    - RECIPIENT*
    - char*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 176
    functionName: sent
    functionSourceFile: /src/postfix/postfix/src/global/sent.c
    functionUses: 2
    functionsReached:
    - verify_append
    - msg_warn
    - vstring_sprintf
    - trace_append
    - dsn_valid
    - REC_DLY_SENT
    - log_adhoc
    - vstring_alloc
    - REC_ALL_SENT
    - defer_append
    - vstring_str
    - dsn_filter_lookup
    - vstring_free
    linkageType: ''
    returnType: int
    signature: "int sent(int flags, const char *id, MSG_STATS *stats,\n\t             RECIPIENT
      *recipient, const char *relay,\n\t             DSN *dsn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: REC_ALL_SENT
    functionSourceFile: /src/postfix/postfix/src/global/sent.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REC_ALL_SENT(flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flags
    - ','
    - rcpt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: REC_DLY_SENT
    functionSourceFile: /src/postfix/postfix/src/global/sent.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REC_DLY_SENT(flags, rcpt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: STR_OR_NULL
    functionSourceFile: /src/postfix/postfix/src/global/haproxy_srvr.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_OR_NULL(str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:141,1
    - Dst: STR_OR_NULL
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:141,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:144,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:145,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:146,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 154
    functionName: haproxy_srvr_parse_lit
    functionSourceFile: /src/postfix/postfix/src/global/haproxy_srvr.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - va_arg
    - msg_info
    - STR_OR_NULL
    - strcmp
    linkageType: ''
    returnType: int
    signature: int haproxy_srvr_parse_lit(const char *str,...)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:161,1
    - Dst: STR_OR_NULL
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:161,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:166,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:167,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:173,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - str
    - addr_family
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 180
    functionName: haproxy_srvr_parse_proto
    functionSourceFile: /src/postfix/postfix/src/global/haproxy_srvr.c
    functionUses: 0
    functionsReached:
    - STR_OR_NULL
    - strcasecmp
    - strchr
    - msg_info
    linkageType: ''
    returnType: int
    signature: int haproxy_srvr_parse_proto(const char *str, int *addr_family)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:195,1
    - Dst: STR_OR_NULL
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:196,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:198,1
    - Dst: valid_ipv6_hostaddr
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:204,1
    - Dst: valid_ipv4_hostaddr
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:209,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:213,1
    - Dst: hostaddr_to_sockaddr
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:222,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:223,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:224,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:233,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:236,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:239,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:240,1
    - Dst: normalize_v4mapped_sockaddr
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:243,1
    - Dst: sockaddr_to_hostaddr
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:245,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:247,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:248,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 5
    argNames:
    - str
    - addr
    - addr_family
    - sa
    - sa_len
    argTypes:
    - char*
    - MAI_HOSTADDR_STR*
    - int
    - struct sockaddr*
    - SOCKADDR_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 252
    functionName: haproxy_srvr_parse_addr
    functionSourceFile: /src/postfix/postfix/src/global/haproxy_srvr.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_warn
    - valid_ipv4_hostaddr
    - strlen
    - freeaddrinfo
    - msg_info
    - sockaddr_to_hostaddr
    - STR_OR_NULL
    - normalize_v4mapped_sockaddr
    - memcpy
    - valid_ipv6_hostaddr
    - MAI_STRERROR
    - hostaddr_to_sockaddr
    linkageType: ''
    returnType: int
    signature: "int haproxy_srvr_parse_addr(const char *str, MAI_HOSTADDR_STR *addr,\n\t\t\t\t
      \          int addr_family,\n\t\t\t\t           struct sockaddr *sa,\n\t\t\t\t
      \          SOCKADDR_SIZE *sa_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:260,1
    - Dst: STR_OR_NULL
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:260,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:261,1
    - Dst: valid_hostport
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:262,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:265,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:265,1
    - Dst: SOCK_ADDR_IN6_PORT
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:270,1
    - Dst: htons
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:270,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:270,1
    - Dst: SOCK_ADDR_IN_PORT
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:274,1
    - Dst: htons
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:274,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:274,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:277,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - str
    - port
    - sa
    argTypes:
    - char*
    - MAI_SERVPORT_STR*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 283
    functionName: haproxy_srvr_parse_port
    functionSourceFile: /src/postfix/postfix/src/global/haproxy_srvr.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - htons
    - strlen
    - SOCK_ADDR_IN_PORT
    - msg_info
    - STR_OR_NULL
    - atoi
    - valid_hostport
    - memcpy
    - SOCK_ADDR_IN6_PORT
    linkageType: ''
    returnType: int
    signature: "int haproxy_srvr_parse_port(const char *str, MAI_SERVPORT_STR *port,\n\t\t\t\t
      \          struct sockaddr *sa)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:306,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:308,1
    - Dst: memset
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:312,1
    - Dst: SOCK_ADDR_IN_FAMILY
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:313,1
    - Dst: SOCK_ADDR_IN_ADDR
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:314,1
    - Dst: SOCK_ADDR_IN_PORT
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:315,1
    - Dst: sockaddr_to_hostaddr
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 6
    argNames:
    - sin_addr
    - sin_port
    - addr
    - port
    - sa
    - sa_len
    argTypes:
    - uint32_t
    - unsigned
    - MAI_HOSTADDR_STR*
    - MAI_SERVPORT_STR*
    - struct sockaddr*
    - SOCKADDR_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 319
    functionName: haproxy_srvr_parse_v2_addr_v4
    functionSourceFile: /src/postfix/postfix/src/global/haproxy_srvr.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - SOCK_ADDR_IN_PORT
    - SOCK_ADDR_IN_FAMILY
    - sockaddr_to_hostaddr
    - SOCK_ADDR_IN_ADDR
    - memset
    linkageType: ''
    returnType: int
    signature: "int haproxy_srvr_parse_v2_addr_v4(uint32_t sin_addr,\n\t\t\t\t\t         unsigned
      sin_port,\n\t\t\t\t\t         MAI_HOSTADDR_STR *addr,\n\t\t\t\t\t         MAI_SERVPORT_STR
      *port,\n\t\t\t\t\t         struct sockaddr *sa,\n\t\t\t\t\t         SOCKADDR_SIZE
      *sa_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:344,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:346,1
    - Dst: memset
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:350,1
    - Dst: SOCK_ADDR_IN6_FAMILY
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:351,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:352,1
    - Dst: SOCK_ADDR_IN6_ADDR
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:352,1
    - Dst: SOCK_ADDR_IN6_ADDR
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:352,1
    - Dst: SOCK_ADDR_IN6_PORT
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:353,1
    - Dst: normalize_v4mapped_sockaddr
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:354,1
    - Dst: sockaddr_to_hostaddr
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 6
    argNames:
    - sin6_addr
    - sin6_port
    - addr
    - port
    - sa
    - sa_len
    argTypes:
    - uint8_t*
    - unsigned
    - MAI_HOSTADDR_STR*
    - MAI_SERVPORT_STR*
    - struct sockaddr*
    - SOCKADDR_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 358
    functionName: haproxy_srvr_parse_v2_addr_v6
    functionSourceFile: /src/postfix/postfix/src/global/haproxy_srvr.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - sockaddr_to_hostaddr
    - SOCK_ADDR_IN6_FAMILY
    - normalize_v4mapped_sockaddr
    - memset
    - memcpy
    - SOCK_ADDR_IN6_ADDR
    - SOCK_ADDR_IN6_PORT
    linkageType: ''
    returnType: int
    signature: "int haproxy_srvr_parse_v2_addr_v6(uint8_t *sin6_addr,\n\t\t\t\t\t
      \        unsigned sin6_port,\n\t\t\t\t\t         MAI_HOSTADDR_STR *addr,\n\t\t\t\t\t
      \        MAI_SERVPORT_STR *port,\n\t\t\t\t\t         struct sockaddr *sa,\n\t\t\t\t\t
      \        SOCKADDR_SIZE *sa_len)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:381,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:385,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:396,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:398,1
    - Dst: haproxy_srvr_parse_v2_addr_v4
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:400,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:406,1
    - Dst: haproxy_srvr_parse_v2_addr_v4
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:408,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:416,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:422,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:424,1
    - Dst: haproxy_srvr_parse_v2_addr_v6
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:426,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:434,1
    - Dst: haproxy_srvr_parse_v2_addr_v6
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:436,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:444,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:455,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:464,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 11
    argNames:
    - str
    - str_len
    - non_proxy
    - smtp_client_addr
    - smtp_client_port
    - smtp_server_addr
    - smtp_server_port
    - client_sa
    - client_sa_len
    - server_sa
    - server_sa_len
    argTypes:
    - char*
    - ssize_t*
    - int*
    - MAI_HOSTADDR_STR*
    - MAI_SERVPORT_STR*
    - MAI_HOSTADDR_STR*
    - MAI_SERVPORT_STR*
    - struct sockaddr*
    - SOCKADDR_SIZE*
    - struct sockaddr*
    - SOCKADDR_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 469
    functionName: haproxy_srvr_parse_v2_hdr
    functionSourceFile: /src/postfix/postfix/src/global/haproxy_srvr.c
    functionUses: 0
    functionsReached:
    - strchr
    - memcmp
    - msg_info
    - ntohs
    - haproxy_srvr_parse_v2_addr_v6
    - haproxy_srvr_parse_v2_addr_v4
    linkageType: ''
    returnType: char
    signature: "char *haproxy_srvr_parse_v2_hdr(const char *str, ssize_t *str_len,\n\t\t\t\t\t
      \            int *non_proxy,\n\t\t\t\t         MAI_HOSTADDR_STR *smtp_client_addr,\n\t\t\t\t
      \        MAI_SERVPORT_STR *smtp_client_port,\n\t\t\t\t         MAI_HOSTADDR_STR
      *smtp_server_addr,\n\t\t\t\t         MAI_SERVPORT_STR *smtp_server_port,\n\t\t\t\t\t
      \        struct sockaddr *client_sa,\n\t\t\t\t               SOCKADDR_SIZE *client_sa_len,\n\t\t\t\t\t
      \        struct sockaddr *server_sa,\n\t\t\t\t               SOCKADDR_SIZE *server_sa_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:487,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:499,1
    - Dst: mystrndup
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:500,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:502,1
    - Dst: haproxy_srvr_parse_lit
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:508,1
    - Dst: haproxy_srvr_parse_proto
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:510,1
    - Dst: haproxy_srvr_parse_addr
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:512,1
    - Dst: haproxy_srvr_parse_addr
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:516,1
    - Dst: haproxy_srvr_parse_port
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:520,1
    - Dst: haproxy_srvr_parse_port
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:523,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:530,1
    - Dst: haproxy_srvr_parse_v2_hdr
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:539,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 11
    argNames:
    - str
    - str_len
    - non_proxy
    - smtp_client_addr
    - smtp_client_port
    - smtp_server_addr
    - smtp_server_port
    - client_sa
    - client_sa_len
    - server_sa
    - server_sa_len
    argTypes:
    - char*
    - ssize_t*
    - int*
    - MAI_HOSTADDR_STR*
    - MAI_SERVPORT_STR*
    - MAI_HOSTADDR_STR*
    - MAI_SERVPORT_STR*
    - struct sockaddr*
    - SOCKADDR_SIZE*
    - struct sockaddr*
    - SOCKADDR_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 473
    functionDepth: 3
    functionLinenumber: 473
    functionLinenumberEnd: 545
    functionName: haproxy_srvr_parse_sa
    functionSourceFile: /src/postfix/postfix/src/global/haproxy_srvr.c
    functionUses: 0
    functionsReached:
    - inet_proto_info
    - haproxy_srvr_parse_lit
    - haproxy_srvr_parse_addr
    - haproxy_srvr_parse_proto
    - mystrndup
    - myfree
    - strncmp
    - haproxy_srvr_parse_port
    - haproxy_srvr_parse_v2_hdr
    - split_at
    linkageType: ''
    returnType: char
    signature: "char *haproxy_srvr_parse_sa(const char *str, ssize_t *str_len,\n\t\t\t\t
      \         int *non_proxy,\n\t\t\t\t          MAI_HOSTADDR_STR *smtp_client_addr,\n\t\t\t\t
      \         MAI_SERVPORT_STR *smtp_client_port,\n\t\t\t\t          MAI_HOSTADDR_STR
      *smtp_server_addr,\n\t\t\t\t          MAI_SERVPORT_STR *smtp_server_port,\n\t\t\t\t
      \         struct sockaddr *client_sa,\n\t\t\t\t          SOCKADDR_SIZE *client_sa_len,\n\t\t\t\t
      \         struct sockaddr *server_sa,\n\t\t\t\t          SOCKADDR_SIZE *server_sa_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: haproxy_srvr_parse_sa
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - str
    - str_len
    - non_proxy
    - smtp_client_addr
    - smtp_client_port
    - smtp_server_addr
    - smtp_server_port
    argTypes:
    - char*
    - ssize_t*
    - int*
    - MAI_HOSTADDR_STR*
    - MAI_SERVPORT_STR*
    - MAI_HOSTADDR_STR*
    - MAI_SERVPORT_STR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 558
    functionDepth: 4
    functionLinenumber: 558
    functionLinenumberEnd: 570
    functionName: haproxy_srvr_parse
    functionSourceFile: /src/postfix/postfix/src/global/haproxy_srvr.c
    functionUses: 0
    functionsReached:
    - haproxy_srvr_parse_sa
    linkageType: ''
    returnType: char
    signature: "char *haproxy_srvr_parse(const char *str, ssize_t *str_len,\n\t\t\t
      \              int *non_proxy,\n\t\t\t               MAI_HOSTADDR_STR *smtp_client_addr,\n\t\t\t
      \              MAI_SERVPORT_STR *smtp_client_port,\n\t\t\t               MAI_HOSTADDR_STR
      *smtp_server_addr,\n\t\t\t               MAI_SERVPORT_STR *smtp_server_port)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:595,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:596,1
    - Dst: haproxy_srvr_parse_sa
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:605,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:610,1
    - Dst: escape
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:611,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:612,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:612,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:613,1
    - Dst: recv
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:620,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 10
    argNames:
    - fd
    - non_proxy
    - smtp_client_addr
    - smtp_client_port
    - smtp_server_addr
    - smtp_server_port
    - client_sa
    - client_sa_len
    - server_sa
    - server_sa_len
    argTypes:
    - int
    - int*
    - MAI_HOSTADDR_STR*
    - MAI_SERVPORT_STR*
    - MAI_HOSTADDR_STR*
    - MAI_SERVPORT_STR*
    - struct sockaddr*
    - SOCKADDR_SIZE*
    - struct sockaddr*
    - SOCKADDR_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 574
    functionDepth: 4
    functionLinenumber: 574
    functionLinenumberEnd: 625
    functionName: haproxy_srvr_receive_sa
    functionSourceFile: /src/postfix/postfix/src/global/haproxy_srvr.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - recv
    - vstring_alloc
    - escape
    - vstring_str
    - haproxy_srvr_parse_sa
    - vstring_free
    linkageType: ''
    returnType: int
    signature: "int haproxy_srvr_receive_sa(int fd, int *non_proxy,\n\t\t\t\t        MAI_HOSTADDR_STR
      *smtp_client_addr,\n\t\t\t\t        MAI_SERVPORT_STR *smtp_client_port,\n\t\t\t\t
      \       MAI_HOSTADDR_STR *smtp_server_addr,\n\t\t\t\t        MAI_SERVPORT_STR
      *smtp_server_port,\n\t\t\t\t        struct sockaddr *client_sa,\n\t\t\t\t        SOCKADDR_SIZE
      *client_sa_len,\n\t\t\t\t        struct sockaddr *server_sa,\n\t\t\t\t        SOCKADDR_SIZE
      *server_sa_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: haproxy_srvr_receive_sa
      Src: /src/postfix/postfix/src/global/haproxy_srvr.c:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - fd
    - non_proxy
    - smtp_client_addr
    - smtp_client_port
    - smtp_server_addr
    - smtp_server_port
    argTypes:
    - int
    - int*
    - MAI_HOSTADDR_STR*
    - MAI_SERVPORT_STR*
    - MAI_HOSTADDR_STR*
    - MAI_SERVPORT_STR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 637
    functionDepth: 5
    functionLinenumber: 637
    functionLinenumberEnd: 650
    functionName: haproxy_srvr_receive
    functionSourceFile: /src/postfix/postfix/src/global/haproxy_srvr.c
    functionUses: 0
    functionsReached:
    - haproxy_srvr_receive_sa
    linkageType: ''
    returnType: int
    signature: "int haproxy_srvr_receive(int fd, int *non_proxy,\n\t\t\t             MAI_HOSTADDR_STR
      *smtp_client_addr,\n\t\t\t             MAI_SERVPORT_STR *smtp_client_port,\n\t\t\t
      \            MAI_HOSTADDR_STR *smtp_server_addr,\n\t\t\t             MAI_SERVPORT_STR
      *smtp_server_port)"
  - 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: CA_ATTR_OVER_STR_TABLE
    functionSourceFile: /src/postfix/postfix/src/global/attr_override.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_ATTR_OVER_STR_TABLE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: CA_ATTR_OVER_TIME_TABLE
    functionSourceFile: /src/postfix/postfix/src/global/attr_override.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_ATTR_OVER_TIME_TABLE(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: CA_ATTR_OVER_INT_TABLE
    functionSourceFile: /src/postfix/postfix/src/global/attr_override.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_ATTR_OVER_INT_TABLE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dsb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: DSN_FROM_DSN_BUF
    functionSourceFile: /src/postfix/postfix/src/global/dsn_buf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSN_FROM_DSN_BUF(dsb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/debug_peer.c:91,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/debug_peer.c:93,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/debug_peer.c:95,1
    - Dst: namadr_list_init
      Src: /src/postfix/postfix/src/global/debug_peer.c:102,1
    - Dst: match_parent_style
      Src: /src/postfix/postfix/src/global/debug_peer.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 105
    functionName: debug_peer_init
    functionSourceFile: /src/postfix/postfix/src/global/debug_peer.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_fatal
    - match_parent_style
    - namadr_list_init
    linkageType: ''
    returnType: void
    signature: void debug_peer_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: namadr_list_match
      Src: /src/postfix/postfix/src/global/debug_peer.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - name
    - addr
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: debug_peer_check
    functionSourceFile: /src/postfix/postfix/src/global/debug_peer.c
    functionUses: 0
    functionsReached:
    - namadr_list_match
    linkageType: ''
    returnType: int
    signature: int debug_peer_check(const char *name, const char *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: debug_peer_restore
    functionSourceFile: /src/postfix/postfix/src/global/debug_peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void debug_peer_restore(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/sendopts.c:83,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/sendopts.c:85,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/sendopts.c:87,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/sendopts.c:88,1
    - Dst: str_name_mask_opt
      Src: /src/postfix/postfix/src/global/sendopts.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - flags
    - delim
    argTypes:
    - unsigned
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 92
    functionName: sendopts_strflags
    functionSourceFile: /src/postfix/postfix/src/global/sendopts.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - strchr
    - vstring_alloc
    - VSTRING_RESET
    - str_name_mask_opt
    linkageType: ''
    returnType: char
    signature: char *sendopts_strflags(unsigned flags, int delim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - t
    - ','
    - s
    - ','
    - c
    - ','
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 153
    functionName: COLLECT
    functionSourceFile: /src/postfix/postfix/src/global/tok822_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COLLECT(t,s,c,cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - t
    - ','
    - s
    - ','
    - c
    - ','
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: COLLECT_SKIP_LAST
    functionSourceFile: /src/postfix/postfix/src/global/tok822_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COLLECT_SKIP_LAST(t,s,c,cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tp
    - ','
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: SKIP
    functionSourceFile: /src/postfix/postfix/src/global/tok822_parse.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKIP(tp, cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tp
    - ','
    - right
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: MOVE_COMMENT_AND_CONTINUE
    functionSourceFile: /src/postfix/postfix/src/global/tok822_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOVE_COMMENT_AND_CONTINUE(tp, right)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tp
    - ','
    - cond
    - ','
    - right
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: SKIP_MOVE_COMMENT
    functionSourceFile: /src/postfix/postfix/src/global/tok822_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKIP_MOVE_COMMENT(tp, cond, right)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/tok822_parse.c:204,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/tok822_parse.c:209,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/tok822_parse.c:211,1
    - Dst: tok822_internalize
      Src: /src/postfix/postfix/src/global/tok822_parse.c:216,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/tok822_parse.c:221,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/tok822_parse.c:221,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/tok822_parse.c:224,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/tok822_parse.c:225,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/tok822_parse.c:225,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/tok822_parse.c:226,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/tok822_parse.c:229,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/tok822_parse.c:233,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/tok822_parse.c:234,1
    - Dst: tok822_append_space
      Src: /src/postfix/postfix/src/global/tok822_parse.c:236,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/tok822_parse.c:237,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/tok822_parse.c:240,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - vp
    - tree
    - flags
    argTypes:
    - VSTRING*
    - TOK822*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 242
    functionName: tok822_internalize
    functionSourceFile: /src/postfix/postfix/src/global/tok822_parse.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - VSTRING_ADDCH
    - tok822_append_space
    - VSTRING_RESET
    - vstring_strcat
    - VSTRING_TERMINATE
    - vstring_str
    - tok822_internalize
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *tok822_internalize(VSTRING *vp, TOK822 *tree, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/tok822_parse.c:253,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/tok822_parse.c:254,1
    - Dst: printable
      Src: /src/postfix/postfix/src/global/tok822_parse.c:255,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/tok822_parse.c:255,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/global/tok822_parse.c:256,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/tok822_parse.c:257,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/tok822_parse.c:259,1
    - Dst: tok822_internalize
      Src: /src/postfix/postfix/src/global/tok822_parse.c:260,1
    - Dst: quote_822_local_flags
      Src: /src/postfix/postfix/src/global/tok822_parse.c:261,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/tok822_parse.c:261,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/tok822_parse.c:263,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/tok822_parse.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - vp
    - start
    - addr
    argTypes:
    - VSTRING*
    - ssize_t
    - TOK822*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 266
    functionName: strip_address
    functionSourceFile: /src/postfix/postfix/src/global/tok822_parse.c
    functionUses: 0
    functionsReached:
    - printable
    - VSTRING_ADDCH
    - msg_warn
    - vstring_truncate
    - vstring_alloc
    - VSTRING_TERMINATE
    - quote_822_local_flags
    - vstring_str
    - vstring_free
    - tok822_internalize
    linkageType: ''
    returnType: void
    signature: void strip_address(VSTRING *vp, ssize_t start, TOK822 *addr)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/tok822_parse.c:320,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/tok822_parse.c:330,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/tok822_parse.c:331,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/tok822_parse.c:345,1
    - Dst: tok822_internalize
      Src: /src/postfix/postfix/src/global/tok822_parse.c:346,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/tok822_parse.c:347,1
    - Dst: quote_822_local_flags
      Src: /src/postfix/postfix/src/global/tok822_parse.c:348,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/tok822_parse.c:348,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/tok822_parse.c:350,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/tok822_parse.c:351,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/tok822_parse.c:355,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/tok822_parse.c:355,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/tok822_parse.c:358,1
    - Dst: tok822_copy_quoted
      Src: /src/postfix/postfix/src/global/tok822_parse.c:359,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/tok822_parse.c:359,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/tok822_parse.c:360,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/tok822_parse.c:363,1
    - Dst: tok822_copy_quoted
      Src: /src/postfix/postfix/src/global/tok822_parse.c:364,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/tok822_parse.c:364,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/tok822_parse.c:365,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/tok822_parse.c:368,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/tok822_parse.c:375,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/tok822_parse.c:379,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/tok822_parse.c:380,1
    - Dst: tok822_append_space
      Src: /src/postfix/postfix/src/global/tok822_parse.c:382,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/tok822_parse.c:383,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/tok822_parse.c:389,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 3
    argNames:
    - vp
    - tree
    - flags
    argTypes:
    - VSTRING*
    - TOK822*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 391
    functionName: tok822_externalize
    functionSourceFile: /src/postfix/postfix/src/global/tok822_parse.c
    functionUses: 3
    functionsReached:
    - msg_panic
    - VSTRING_ADDCH
    - VSTRING_LEN
    - tok822_append_space
    - tok822_copy_quoted
    - vstring_alloc
    - VSTRING_RESET
    - vstring_strcat
    - quote_822_local_flags
    - VSTRING_TERMINATE
    - vstring_str
    - vstring_free
    - tok822_internalize
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *tok822_externalize(VSTRING *vp, TOK822 *tree, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/tok822_parse.c:400,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/tok822_parse.c:401,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/tok822_parse.c:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - vp
    - str
    - quote_set
    argTypes:
    - VSTRING*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 404
    functionName: tok822_copy_quoted
    functionSourceFile: /src/postfix/postfix/src/global/tok822_parse.c
    functionUses: 1
    functionsReached:
    - VSTRING_ADDCH
    - strchr
    linkageType: ''
    returnType: void
    signature: void tok822_copy_quoted(VSTRING *vp, char *str, char *quote_set)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NON_OPERATOR
      Src: /src/postfix/postfix/src/global/tok822_parse.c:422,1
    - Dst: NON_OPERATOR
      Src: /src/postfix/postfix/src/global/tok822_parse.c:422,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - tp
    argTypes:
    - TOK822*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 423
    functionName: tok822_append_space
    functionSourceFile: /src/postfix/postfix/src/global/tok822_parse.c
    functionUses: 2
    functionsReached:
    - NON_OPERATOR
    linkageType: ''
    returnType: int
    signature: int tok822_append_space(TOK822 *tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: NON_OPERATOR
    functionSourceFile: /src/postfix/postfix/src/global/tok822_parse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NON_OPERATOR(x)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: IS_SPACE_TAB_CR_LF
      Src: /src/postfix/postfix/src/global/tok822_parse.c:443,1
    - Dst: tok822_alloc
      Src: /src/postfix/postfix/src/global/tok822_parse.c:446,1
    - Dst: tok822_comment
      Src: /src/postfix/postfix/src/global/tok822_parse.c:447,1
    - Dst: tok822_alloc
      Src: /src/postfix/postfix/src/global/tok822_parse.c:449,1
    - Dst: COLLECT_SKIP_LAST
      Src: /src/postfix/postfix/src/global/tok822_parse.c:450,1
    - Dst: tok822_alloc
      Src: /src/postfix/postfix/src/global/tok822_parse.c:452,1
    - Dst: COLLECT_SKIP_LAST
      Src: /src/postfix/postfix/src/global/tok822_parse.c:453,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/tok822_parse.c:454,1
    - Dst: tok822_alloc
      Src: /src/postfix/postfix/src/global/tok822_parse.c:455,1
    - Dst: tok822_alloc
      Src: /src/postfix/postfix/src/global/tok822_parse.c:457,1
    - Dst: COLLECT
      Src: /src/postfix/postfix/src/global/tok822_parse.c:459,1
    - Dst: IS_SPACE_TAB_CR_LF
      Src: /src/postfix/postfix/src/global/tok822_parse.c:459,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/tok822_parse.c:459,1
    - Dst: tok822_quote_atom
      Src: /src/postfix/postfix/src/global/tok822_parse.c:460,1
    - Dst: tok822_append
      Src: /src/postfix/postfix/src/global/tok822_parse.c:467,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 3
    argNames:
    - str
    - tailp
    - tok_count_limit
    argTypes:
    - char*
    - TOK822**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 475
    functionName: tok822_scan_limit
    functionSourceFile: /src/postfix/postfix/src/global/tok822_parse.c
    functionUses: 1
    functionsReached:
    - tok822_alloc
    - tok822_comment
    - COLLECT_SKIP_LAST
    - strchr
    - COLLECT
    - tok822_append
    - IS_SPACE_TAB_CR_LF
    - tok822_quote_atom
    linkageType: ''
    returnType: TOK822
    signature: TOK822 *tok822_scan_limit(const char *str, TOK822 **tailp, int tok_count_limit)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tok822_scan_limit
      Src: /src/postfix/postfix/src/global/tok822_parse.c:495,1
    - Dst: tok822_alloc
      Src: /src/postfix/postfix/src/global/tok822_parse.c:503,1
    - Dst: GLUE
      Src: /src/postfix/postfix/src/global/tok822_parse.c:504,1
    - Dst: tok822_alloc
      Src: /src/postfix/postfix/src/global/tok822_parse.c:505,1
    - Dst: GLUE
      Src: /src/postfix/postfix/src/global/tok822_parse.c:506,1
    - Dst: MOVE_COMMENT_AND_CONTINUE
      Src: /src/postfix/postfix/src/global/tok822_parse.c:520,1
    - Dst: tok822_group
      Src: /src/postfix/postfix/src/global/tok822_parse.c:522,1
    - Dst: tok822_group
      Src: /src/postfix/postfix/src/global/tok822_parse.c:526,1
    - Dst: SKIP
      Src: /src/postfix/postfix/src/global/tok822_parse.c:527,1
    - Dst: tok822_group
      Src: /src/postfix/postfix/src/global/tok822_parse.c:531,1
    - Dst: SKIP_MOVE_COMMENT
      Src: /src/postfix/postfix/src/global/tok822_parse.c:532,1
    - Dst: tok822_group
      Src: /src/postfix/postfix/src/global/tok822_parse.c:533,1
    - Dst: SKIP
      Src: /src/postfix/postfix/src/global/tok822_parse.c:534,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/tok822_parse.c:534,1
    - Dst: tok822_group
      Src: /src/postfix/postfix/src/global/tok822_parse.c:541,1
    - Dst: tok822_group
      Src: /src/postfix/postfix/src/global/tok822_parse.c:544,1
    - Dst: tok822_group
      Src: /src/postfix/postfix/src/global/tok822_parse.c:551,1
    - Dst: tok822_cut_before
      Src: /src/postfix/postfix/src/global/tok822_parse.c:558,1
    - Dst: tok822_free
      Src: /src/postfix/postfix/src/global/tok822_parse.c:559,1
    - Dst: tok822_cut_before
      Src: /src/postfix/postfix/src/global/tok822_parse.c:560,1
    - Dst: tok822_free
      Src: /src/postfix/postfix/src/global/tok822_parse.c:561,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 2
    argNames:
    - str
    - tok_count_limit
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 563
    functionName: tok822_parse_limit
    functionSourceFile: /src/postfix/postfix/src/global/tok822_parse.c
    functionUses: 1
    functionsReached:
    - tok822_group
    - tok822_alloc
    - tok822_free
    - strchr
    - tok822_scan_limit
    - SKIP
    - SKIP_MOVE_COMMENT
    - GLUE
    - MOVE_COMMENT_AND_CONTINUE
    - tok822_cut_before
    linkageType: ''
    returnType: TOK822
    signature: TOK822 *tok822_parse_limit(const char *str, int tok_count_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - left
    - ','
    - rite
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 502
    functionName: GLUE
    functionSourceFile: /src/postfix/postfix/src/global/tok822_parse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GLUE(left,rite)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/tok822_parse.c:576,1
    - Dst: ISCNTRL
      Src: /src/postfix/postfix/src/global/tok822_parse.c:578,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/tok822_parse.c:578,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - tp
    argTypes:
    - TOK822*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 583
    functionName: tok822_quote_atom
    functionSourceFile: /src/postfix/postfix/src/global/tok822_parse.c
    functionUses: 1
    functionsReached:
    - vstring_str
    - ISCNTRL
    - strchr
    linkageType: ''
    returnType: void
    signature: void tok822_quote_atom(TOK822 *tp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/tok822_parse.c:598,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/tok822_parse.c:601,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/tok822_parse.c:611,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/tok822_parse.c:615,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - tp
    - str
    argTypes:
    - TOK822*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 617
    functionName: tok822_comment
    functionSourceFile: /src/postfix/postfix/src/global/tok822_parse.c
    functionUses: 1
    functionsReached:
    - VSTRING_ADDCH
    - VSTRING_TERMINATE
    linkageType: ''
    returnType: char
    signature: char *tok822_comment(TOK822 *tp, const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tok822_cut_before
      Src: /src/postfix/postfix/src/global/tok822_parse.c:632,1
    - Dst: tok822_cut_before
      Src: /src/postfix/postfix/src/global/tok822_parse.c:633,1
    - Dst: tok822_alloc
      Src: /src/postfix/postfix/src/global/tok822_parse.c:634,1
    - Dst: tok822_sub_append
      Src: /src/postfix/postfix/src/global/tok822_parse.c:635,1
    - Dst: tok822_append
      Src: /src/postfix/postfix/src/global/tok822_parse.c:636,1
    - Dst: tok822_append
      Src: /src/postfix/postfix/src/global/tok822_parse.c:637,1
    - Dst: tok822_alloc
      Src: /src/postfix/postfix/src/global/tok822_parse.c:639,1
    - Dst: tok822_append
      Src: /src/postfix/postfix/src/global/tok822_parse.c:640,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - group_type
    - left
    - right
    - sync_type
    argTypes:
    - int
    - TOK822*
    - TOK822*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 644
    functionName: tok822_group
    functionSourceFile: /src/postfix/postfix/src/global/tok822_parse.c
    functionUses: 1
    functionsReached:
    - tok822_alloc
    - tok822_append
    - tok822_sub_append
    - tok822_cut_before
    linkageType: ''
    returnType: TOK822
    signature: TOK822 *tok822_group(int group_type, TOK822 *left, TOK822 *right, int
      sync_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tok822_alloc
      Src: /src/postfix/postfix/src/global/tok822_parse.c:650,1
    - Dst: tok822_scan
      Src: /src/postfix/postfix/src/global/tok822_parse.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 654
    functionName: tok822_scan_addr
    functionSourceFile: /src/postfix/postfix/src/global/tok822_parse.c
    functionUses: 0
    functionsReached:
    - tok822_alloc
    - tok822_scan
    linkageType: ''
    returnType: TOK822
    signature: TOK822 *tok822_scan_addr(const char *addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/tok822_parse.c:670,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/tok822_parse.c:672,1
    - Dst: tok822_print
      Src: /src/postfix/postfix/src/global/tok822_parse.c:673,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/tok822_parse.c:675,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/tok822_parse.c:677,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/tok822_parse.c:683,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - list
    - indent
    argTypes:
    - TOK822*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 686
    functionName: tok822_print
    functionSourceFile: /src/postfix/postfix/src/global/tok822_parse.c
    functionUses: 1
    functionsReached:
    - vstring_str
    - tok822_print
    - vstream_printf
    linkageType: ''
    returnType: void
    signature: void tok822_print(TOK822 *list, int indent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/tok822_parse.c:690,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/tok822_parse.c:692,1
    - Dst: readlline
      Src: /src/postfix/postfix/src/global/tok822_parse.c:696,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/tok822_parse.c:697,1
    - Dst: vstring_end
      Src: /src/postfix/postfix/src/global/tok822_parse.c:697,1
    - Dst: vstring_end
      Src: /src/postfix/postfix/src/global/tok822_parse.c:698,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/global/tok822_parse.c:699,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/tok822_parse.c:699,1
    - Dst: isatty
      Src: /src/postfix/postfix/src/global/tok822_parse.c:701,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/tok822_parse.c:701,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/tok822_parse.c:702,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/tok822_parse.c:702,1
    - Dst: tok822_parse_limit
      Src: /src/postfix/postfix/src/global/tok822_parse.c:703,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/tok822_parse.c:703,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/tok822_parse.c:704,1
    - Dst: tok822_print
      Src: /src/postfix/postfix/src/global/tok822_parse.c:705,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/tok822_parse.c:706,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/tok822_parse.c:708,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/tok822_parse.c:709,1
    - Dst: tok822_internalize
      Src: /src/postfix/postfix/src/global/tok822_parse.c:709,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/tok822_parse.c:710,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/tok822_parse.c:711,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/tok822_parse.c:712,1
    - Dst: tok822_externalize
      Src: /src/postfix/postfix/src/global/tok822_parse.c:712,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/tok822_parse.c:714,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/tok822_parse.c:715,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/tok822_parse.c:716,1
    - Dst: tok822_externalize
      Src: /src/postfix/postfix/src/global/tok822_parse.c:716,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/tok822_parse.c:718,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/global/tok822_parse.c:719,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/tok822_parse.c:721,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/tok822_parse.c:722,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 688
    functionDepth: 4
    functionLinenumber: 688
    functionLinenumberEnd: 724
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/tok822_parse.c
    functionUses: 9
    functionsReached:
    - vstring_end
    - vstring_truncate
    - VSTRING_LEN
    - vstream_fflush
    - vstring_alloc
    - readlline
    - vstream_printf
    - tok822_externalize
    - vstream_fileno
    - isatty
    - vstring_str
    - tok822_parse_limit
    - tok822_free_tree
    - vstring_free
    - tok822_internalize
    - tok822_print
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/addr_match_list.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/global/addr_match_list.c
    functionUses: 4
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void usage(char *progname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/addr_match_list.c:107,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/global/addr_match_list.c:109,1
    - Dst: usage
      Src: /src/postfix/postfix/src/global/addr_match_list.c:115,1
    - Dst: usage
      Src: /src/postfix/postfix/src/global/addr_match_list.c:119,1
    - Dst: addr_match_list_init
      Src: /src/postfix/postfix/src/global/addr_match_list.c:122,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/addr_match_list.c:125,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/addr_match_list.c:126,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/global/addr_match_list.c:128,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/addr_match_list.c:129,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/addr_match_list.c:129,1
    - Dst: addr_match_list_match
      Src: /src/postfix/postfix/src/global/addr_match_list.c:130,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/addr_match_list.c:130,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/addr_match_list.c:132,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/addr_match_list.c:134,1
    - Dst: addr_match_list_match
      Src: /src/postfix/postfix/src/global/addr_match_list.c:135,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/addr_match_list.c:138,1
    - Dst: addr_match_list_free
      Src: /src/postfix/postfix/src/global/addr_match_list.c:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 141
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/addr_match_list.c
    functionUses: 9
    functionsReached:
    - vstring_get_nonl
    - vstring_str
    - addr_match_list_init
    - addr_match_list_free
    - vstream_fflush
    - vstring_alloc
    - msg_vstream_init
    - strcmp
    - usage
    - vstream_printf
    - addr_match_list_match
    - GETOPT
    - vstring_free
    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: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/dsn_filter.c
    functionUses: 109
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dsn_filter.c:113,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/dsn_filter.c:115,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dsn_filter.c:116,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/global/dsn_filter.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - title
    - map_names
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: dsn_filter_create
    functionSourceFile: /src/postfix/postfix/src/global/dsn_filter.c
    functionUses: 1
    functionsReached:
    - mymalloc
    - maps_create
    - vstring_alloc
    - msg_info
    linkageType: ''
    returnType: DSN_FILTER
    signature: DSN_FILTER *dsn_filter_create(const char *title, const char *map_names)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dsn_filter.c:130,1
    - Dst: IS_SUCCESS_DSN
      Src: /src/postfix/postfix/src/global/dsn_filter.c:142,1
    - Dst: IS_NDR_DSN
      Src: /src/postfix/postfix/src/global/dsn_filter.c:144,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/dsn_filter.c:147,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/dsn_filter.c:155,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/dsn_filter.c:160,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/global/dsn_filter.c:161,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dsn_filter.c:161,1
    - Dst: IS_SUCCESS_DSN
      Src: /src/postfix/postfix/src/global/dsn_filter.c:163,1
    - Dst: IS_NDR_DSN
      Src: /src/postfix/postfix/src/global/dsn_filter.c:164,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dsn_filter.c:165,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/dsn_filter.c:168,1
    - Dst: dsn_split
      Src: /src/postfix/postfix/src/global/dsn_filter.c:169,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dsn_filter.c:169,1
    - Dst: DSN_ASSIGN
      Src: /src/postfix/postfix/src/global/dsn_filter.c:170,1
    - Dst: DSN_STATUS
      Src: /src/postfix/postfix/src/global/dsn_filter.c:170,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - fp
    - dsn
    argTypes:
    - DSN_FILTER*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 180
    functionName: dsn_filter_lookup
    functionSourceFile: /src/postfix/postfix/src/global/dsn_filter.c
    functionUses: 3
    functionsReached:
    - msg_panic
    - vstring_sprintf
    - msg_warn
    - IS_SUCCESS_DSN
    - maps_find
    - dsn_split
    - msg_info
    - DSN_STATUS
    - vstring_strcpy
    - DSN_ASSIGN
    - IS_NDR_DSN
    - STR
    linkageType: ''
    returnType: DSN
    signature: DSN *dsn_filter_lookup(DSN_FILTER *fp, DSN *dsn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: IS_SUCCESS_DSN
    functionSourceFile: /src/postfix/postfix/src/global/dsn_filter.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_SUCCESS_DSN(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: IS_NDR_DSN
    functionSourceFile: /src/postfix/postfix/src/global/dsn_filter.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NDR_DSN(s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dsn_filter.c:189,1
    - Dst: maps_free
      Src: /src/postfix/postfix/src/global/dsn_filter.c:191,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/dsn_filter.c:192,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dsn_filter.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fp
    argTypes:
    - DSN_FILTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 194
    functionName: dsn_filter_free
    functionSourceFile: /src/postfix/postfix/src/global/dsn_filter.c
    functionUses: 0
    functionsReached:
    - myfree
    - maps_free
    - vstring_free
    - msg_info
    linkageType: ''
    returnType: void
    signature: void dsn_filter_free(DSN_FILTER *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rewrite_clnt
      Src: /src/postfix/postfix/src/global/canon_addr.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - addr
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: canon_addr_external
    functionSourceFile: /src/postfix/postfix/src/global/canon_addr.c
    functionUses: 1
    functionsReached:
    - rewrite_clnt
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *canon_addr_external(VSTRING *result, const char *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rewrite_clnt_internal
      Src: /src/postfix/postfix/src/global/canon_addr.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - addr
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: canon_addr_internal
    functionSourceFile: /src/postfix/postfix/src/global/canon_addr.c
    functionUses: 0
    functionsReached:
    - rewrite_clnt_internal
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *canon_addr_internal(VSTRING *result, const char *addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/mail_run.c:87,1
    - Dst: fork
      Src: /src/postfix/postfix/src/global/mail_run.c:90,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_run.c:92,1
    - Dst: msg_cleanup
      Src: /src/postfix/postfix/src/global/mail_run.c:96,1
    - Dst: execv
      Src: /src/postfix/postfix/src/global/mail_run.c:97,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_run.c:98,1
    - Dst: waitpid
      Src: /src/postfix/postfix/src/global/mail_run.c:101,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/global/mail_run.c:103,1
    - Dst: WIFEXITED
      Src: /src/postfix/postfix/src/global/mail_run.c:104,1
    - Dst: WEXITSTATUS
      Src: /src/postfix/postfix/src/global/mail_run.c:104,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/global/mail_run.c:106,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/global/mail_run.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - dir
    - argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 109
    functionName: mail_run_foreground
    functionSourceFile: /src/postfix/postfix/src/global/mail_run.c
    functionUses: 0
    functionsReached:
    - sleep
    - waitpid
    - msg_warn
    - WIFEXITED
    - fork
    - WEXITSTATUS
    - execv
    - concatenate
    - msg_fatal
    - msg_cleanup
    - RETURN
    linkageType: ''
    returnType: int
    signature: int mail_run_foreground(const char *dir, 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: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: RETURN
    functionSourceFile: /src/postfix/postfix/src/global/mail_run.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETURN(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/mail_run.c:121,1
    - Dst: fork
      Src: /src/postfix/postfix/src/global/mail_run.c:124,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_run.c:126,1
    - Dst: msg_cleanup
      Src: /src/postfix/postfix/src/global/mail_run.c:130,1
    - Dst: execv
      Src: /src/postfix/postfix/src/global/mail_run.c:131,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_run.c:132,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/global/mail_run.c:134,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/global/mail_run.c:136,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/global/mail_run.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - dir
    - argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 139
    functionName: mail_run_background
    functionSourceFile: /src/postfix/postfix/src/global/mail_run.c
    functionUses: 0
    functionsReached:
    - sleep
    - msg_warn
    - fork
    - execv
    - concatenate
    - msg_fatal
    - msg_cleanup
    - RETURN
    linkageType: ''
    returnType: int
    signature: int mail_run_background(const char *dir, 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: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: RETURN
    functionSourceFile: /src/postfix/postfix/src/global/mail_run.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETURN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/mail_run.c:147,1
    - Dst: execv
      Src: /src/postfix/postfix/src/global/mail_run.c:148,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_run.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dir
    - argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: mail_run_replace
    functionSourceFile: /src/postfix/postfix/src/global/mail_run.c
    functionUses: 0
    functionsReached:
    - concatenate
    - msg_fatal
    - execv
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN mail_run_replace(const char *dir, 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: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/fold_addr.c
    functionUses: 110
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/postfix/postfix/src/global/fold_addr.c:76,1
    - Dst: vstring_strncpy
      Src: /src/postfix/postfix/src/global/fold_addr.c:78,1
    - Dst: casefold_append
      Src: /src/postfix/postfix/src/global/fold_addr.c:79,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/fold_addr.c:84,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/global/fold_addr.c:87,1
    - Dst: casefold_len
      Src: /src/postfix/postfix/src/global/fold_addr.c:88,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/fold_addr.c:89,1
    - Dst: casefold
      Src: /src/postfix/postfix/src/global/fold_addr.c:94,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/fold_addr.c:97,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - result
    - addr
    - flags
    argTypes:
    - VSTRING*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 98
    functionName: fold_addr
    functionSourceFile: /src/postfix/postfix/src/global/fold_addr.c
    functionUses: 0
    functionsReached:
    - strrchr
    - casefold_len
    - casefold_append
    - vstring_strncpy
    - vstring_strcat
    - vstring_strcpy
    - casefold
    - STR
    linkageType: ''
    returnType: char
    signature: char *fold_addr(VSTRING *result, const char *addr, int flags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/fold_addr.c:109,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/fold_addr.c:110,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/fold_addr.c:114,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/global/fold_addr.c:116,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/fold_addr.c:117,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/fold_addr.c:117,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/global/fold_addr.c:118,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/fold_addr.c:118,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/global/fold_addr.c:120,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/fold_addr.c:128,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/fold_addr.c:129,1
    - Dst: fold_addr
      Src: /src/postfix/postfix/src/global/fold_addr.c:129,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/fold_addr.c:136,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/fold_addr.c:137,1
    - Dst: fold_addr
      Src: /src/postfix/postfix/src/global/fold_addr.c:137,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/fold_addr.c:144,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/fold_addr.c:145,1
    - Dst: fold_addr
      Src: /src/postfix/postfix/src/global/fold_addr.c:145,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/fold_addr.c:152,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/fold_addr.c:153,1
    - Dst: fold_addr
      Src: /src/postfix/postfix/src/global/fold_addr.c:153,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/fold_addr.c:161,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/fold_addr.c:164,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/global/fold_addr.c:165,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/fold_addr.c:167,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/fold_addr.c:168,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/fold_addr.c:169,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 170
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/fold_addr.c
    functionUses: 9
    functionsReached:
    - fold_addr
    - vstring_fgets_nonl
    - vstream_fflush
    - vstring_alloc
    - argv_free
    - msg_vstream_init
    - exit
    - strcmp
    - vstream_printf
    - argv_split
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/postfix/postfix/src/global/mail_copy.c:159,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/mail_copy.c:159,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_copy.c:160,1
    - Dst: get_file_limit
      Src: /src/postfix/postfix/src/global/mail_copy.c:161,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_copy.c:162,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/global/mail_copy.c:175,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_copy.c:176,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/mail_copy.c:176,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_copy.c:178,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_copy.c:185,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/global/mail_copy.c:186,1
    - Dst: time
      Src: /src/postfix/postfix/src/global/mail_copy.c:188,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/global/mail_copy.c:189,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/mail_copy.c:190,1
    - Dst: asctime
      Src: /src/postfix/postfix/src/global/mail_copy.c:191,1
    - Dst: localtime
      Src: /src/postfix/postfix/src/global/mail_copy.c:191,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/global/mail_copy.c:194,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/mail_copy.c:195,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_copy.c:200,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/global/mail_copy.c:207,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/global/mail_copy.c:208,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/mail_copy.c:208,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_copy.c:213,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/global/mail_copy.c:214,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/global/mail_copy.c:215,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/mail_copy.c:215,1
    - Dst: rec_get
      Src: /src/postfix/postfix/src/global/mail_copy.c:230,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/mail_copy.c:233,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/global/mail_copy.c:235,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/global/mail_copy.c:236,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/global/mail_copy.c:238,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/mail_copy.c:240,1
    - Dst: VSTREAM_FWRITE_BUF
      Src: /src/postfix/postfix/src/global/mail_copy.c:240,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/mail_copy.c:240,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/global/mail_copy.c:242,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/global/mail_copy.c:246,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_copy.c:251,1
    - Dst: mark_corrupt
      Src: /src/postfix/postfix/src/global/mail_copy.c:252,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/global/mail_copy.c:255,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/global/mail_copy.c:257,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/mail_copy.c:259,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/global/mail_copy.c:271,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/mail_copy.c:272,1
    - Dst: fsync
      Src: /src/postfix/postfix/src/global/mail_copy.c:275,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/mail_copy.c:275,1
    - Dst: ftruncate
      Src: /src/postfix/postfix/src/global/mail_copy.c:289,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/mail_copy.c:289,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/mail_copy.c:291,1
    - Dst: dsb_unix
      Src: /src/postfix/postfix/src/global/mail_copy.c:300,1
    - Dst: TRY_AGAIN_ERROR
      Src: /src/postfix/postfix/src/global/mail_copy.c:300,1
    - Dst: sys_exits_detail
      Src: /src/postfix/postfix/src/global/mail_copy.c:301,1
    - Dst: dsb_unix
      Src: /src/postfix/postfix/src/global/mail_copy.c:304,1
    - Dst: mbox_dsn
      Src: /src/postfix/postfix/src/global/mail_copy.c:304,1
    - Dst: sys_exits_detail
      Src: /src/postfix/postfix/src/global/mail_copy.c:305,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 86
    argCount: 8
    argNames:
    - sender
    - orig_rcpt
    - delivered
    - src
    - dst
    - flags
    - eol
    - why
    argTypes:
    - char*
    - char*
    - char*
    - VSTREAM*
    - VSTREAM*
    - int
    - char*
    - DSN_BUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 315
    functionName: mail_copy
    functionSourceFile: /src/postfix/postfix/src/global/mail_copy.c
    functionUses: 2
    functionsReached:
    - VSTREAM_FWRITE_BUF
    - localtime
    - VSTRING_LEN
    - TRY_AGAIN_ERROR
    - vstream_ferror
    - asctime
    - sys_exits_detail
    - msg_panic
    - VSTREAM_PATH
    - vstream_fflush
    - vstring_alloc
    - rec_get
    - quote_822_local
    - vstring_str
    - VSTREAM_PUTC
    - mbox_dsn
    - dsb_unix
    - time
    - strncmp
    - fstat
    - get_file_limit
    - vstring_free
    - ftruncate
    - msg_warn
    - vstream_fprintf
    - vstream_fseek
    - mark_corrupt
    - vstream_fclose
    - vstream_fputs
    - vstream_fileno
    - msg_fatal
    - fsync
    linkageType: ''
    returnType: int
    signature: "int mail_copy(const char *sender,\n\t\t          const char *orig_rcpt,\n\t\t
      \         const char *delivered,\n\t\t          VSTREAM *src, VSTREAM *dst,\n\t\t
      \         int flags, const char *eol, DSN_BUF *why)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: VSTREAM_FWRITE_BUF
    functionSourceFile: /src/postfix/postfix/src/global/mail_copy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_FWRITE_BUF(s,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - errno
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: TRY_AGAIN_ERROR
    functionSourceFile: /src/postfix/postfix/src/global/mail_copy.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRY_AGAIN_ERROR(errno)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - scache
    - ','
    - ttl
    - ','
    - endp_label
    - ','
    - endp_prop
    - ','
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: scache_save_endp
    functionSourceFile: /src/postfix/postfix/src/global/scache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: scache_save_endp(scache, ttl, endp_label, endp_prop, fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - scache
    - ','
    - endp_label
    - ','
    - endp_prop
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: scache_find_endp
    functionSourceFile: /src/postfix/postfix/src/global/scache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: scache_find_endp(scache, endp_label, endp_prop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - scache
    - ','
    - ttl
    - ','
    - dest_label
    - ','
    - dest_prop
    - ','
    - endp_label
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: scache_save_dest
    functionSourceFile: /src/postfix/postfix/src/global/scache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: scache_save_dest(scache, ttl, dest_label, dest_prop, endp_label)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - scache
    - ','
    - dest_label
    - ','
    - dest_prop
    - ','
    - endp_prop
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: scache_find_dest
    functionSourceFile: /src/postfix/postfix/src/global/scache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: scache_find_dest(scache, dest_label, dest_prop, endp_prop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - scache
    - ','
    - stats
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: scache_size
    functionSourceFile: /src/postfix/postfix/src/global/scache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: scache_size(scache, stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - scache
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: scache_free
    functionSourceFile: /src/postfix/postfix/src/global/scache.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: scache_free(scache)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - fd
    - ','
    - callback
    - ','
    - context
    - ','
    - timeout
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: ABOUNCE_EVENT_ENABLE
    functionSourceFile: /src/postfix/postfix/src/global/abounce.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ABOUNCE_EVENT_ENABLE(fd, callback, context, timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 249
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/abounce.c
    functionUses: 112
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/global/abounce.c
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/global/abounce.c:256,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/abounce.c:256,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/abounce.c:257,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/abounce.c:260,1
    - Dst: ABOUNCE_STATE*::callback
      Src: /src/postfix/postfix/src/global/abounce.c:266,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/abounce.c:267,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/abounce.c:268,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/abounce.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ap
    - status
    argTypes:
    - ABOUNCE_STATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 270
    functionName: abounce_done
    functionSourceFile: /src/postfix/postfix/src/global/abounce.c
    functionUses: 0
    functionsReached:
    - ABOUNCE_STATE*::callback
    - vstream_fclose
    - msg_info
    - myfree
    - event_disable_readwrite
    - vstream_fileno
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void abounce_done(ABOUNCE_STATE *ap, int status)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/global/abounce.c:280,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/abounce.c:283,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/abounce.c:284,1
    - Dst: abounce_done
      Src: /src/postfix/postfix/src/global/abounce.c:286,1
    - Dst: abounce_done
      Src: /src/postfix/postfix/src/global/abounce.c:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 290
    functionName: abounce_receive
    functionSourceFile: /src/postfix/postfix/src/global/abounce.c
    functionUses: 0
    functionsReached:
    - abounce_done
    - event_cancel_timer
    - RECV_ATTR_INT
    - attr_scan
    linkageType: ''
    returnType: void
    signature: void abounce_receive(int event, void *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/global/abounce.c:304,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/global/abounce.c:306,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/abounce.c:306,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/abounce.c:308,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/global/abounce.c:309,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/global/abounce.c:311,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/abounce.c:311,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/abounce.c:312,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/abounce.c:312,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/abounce.c:313,1
    - Dst: ABOUNCE_EVENT_ENABLE
      Src: /src/postfix/postfix/src/global/abounce.c:314,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/abounce.c:314,1
    - Dst: abounce_done
      Src: /src/postfix/postfix/src/global/abounce.c:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 319
    functionName: abounce_send
    functionSourceFile: /src/postfix/postfix/src/global/abounce.c
    functionUses: 0
    functionsReached:
    - ABOUNCE_EVENT_ENABLE
    - abounce_done
    - vstream_fflush
    - LEN
    - attr_scan
    - vstream_fwrite
    - non_blocking
    - RECV_ATTR_STREQ
    - vstream_fileno
    - event_cancel_timer
    - STR
    linkageType: ''
    returnType: void
    signature: void abounce_send(int event, void *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/abounce.c:346,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/abounce.c:349,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/abounce.c:350,1
    - Dst: mail_connect
      Src: /src/postfix/postfix/src/global/abounce.c:353,1
    - Dst: vstream_memopen
      Src: /src/postfix/postfix/src/global/abounce.c:361,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/global/abounce.c:363,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/abounce.c:364,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/abounce.c:365,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/abounce.c:366,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/abounce.c:367,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/abounce.c:368,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/abounce.c:369,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/abounce.c:370,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/abounce.c:371,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/abounce.c:372,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/global/abounce.c:375,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/abounce.c:376,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/global/abounce.c:378,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/abounce.c:380,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/abounce.c:381,1
    - Dst: ABOUNCE_EVENT_ENABLE
      Src: /src/postfix/postfix/src/global/abounce.c:386,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/abounce.c:386,1
    - Dst: abounce_done
      Src: /src/postfix/postfix/src/global/abounce.c:389,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 14
    argNames:
    - class
    - service
    - command
    - flags
    - queue
    - id
    - encoding
    - sendopts
    - sender
    - dsn_envid
    - dsn_ret
    - verp
    - callback
    - context
    argTypes:
    - char*
    - char*
    - int
    - int
    - char*
    - char*
    - char*
    - int
    - char*
    - char*
    - int
    - char*
    - ABOUNCE_FN
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 391
    functionName: abounce_connect
    functionSourceFile: /src/postfix/postfix/src/global/abounce.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - mail_connect
    - SEND_ATTR_INT
    - SEND_ATTR_STR
    - attr_print
    - vstring_alloc
    - vstream_memopen
    - vstream_fclose
    - abounce_done
    - mymalloc
    - ABOUNCE_EVENT_ENABLE
    - mystrdup
    - vstream_fileno
    linkageType: ''
    returnType: void
    signature: "void abounce_connect(const char *class, const char *service,\n\t\t\t
      \           int command, int flags,\n\t\t\t            const char *queue, const
      char *id,\n\t\t\t            const char *encoding, int sendopts,\n\t\t\t            const
      char *sender,\n\t\t\t            const char *dsn_envid, int dsn_ret,\n\t\t\t
      \           const char *verp, ABOUNCE_FN callback,\n\t\t\t            void *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abounce_connect
      Src: /src/postfix/postfix/src/global/abounce.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - flags
    - queue
    - id
    - encoding
    - sendopts
    - sender
    - dsn_envid
    - dsn_ret
    - verp
    - callback
    - context
    argTypes:
    - int
    - char*
    - char*
    - char*
    - int
    - char*
    - char*
    - int
    - char*
    - ABOUNCE_FN
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 395
    functionDepth: 3
    functionLinenumber: 395
    functionLinenumberEnd: 405
    functionName: abounce_flush_verp
    functionSourceFile: /src/postfix/postfix/src/global/abounce.c
    functionUses: 0
    functionsReached:
    - abounce_connect
    linkageType: ''
    returnType: void
    signature: "void abounce_flush_verp(int flags, const char *queue, const char *id,\n\t\t\t
      \          const char *encoding, int sendopts,\n\t\t\t           const char
      *sender, const char *dsn_envid,\n\t\t\t           int dsn_ret, const char *verp,\n\t\t\t
      \          ABOUNCE_FN callback,\n\t\t\t           void *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abounce_connect
      Src: /src/postfix/postfix/src/global/abounce.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 11
    argNames:
    - flags
    - queue
    - id
    - encoding
    - sendopts
    - sender
    - dsn_envid
    - dsn_ret
    - verp
    - callback
    - context
    argTypes:
    - int
    - char*
    - char*
    - char*
    - int
    - char*
    - char*
    - int
    - char*
    - ABOUNCE_FN
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 409
    functionDepth: 3
    functionLinenumber: 409
    functionLinenumberEnd: 419
    functionName: adefer_flush_verp
    functionSourceFile: /src/postfix/postfix/src/global/abounce.c
    functionUses: 0
    functionsReached:
    - abounce_connect
    linkageType: ''
    returnType: void
    signature: "void adefer_flush_verp(int flags, const char *queue, const char *id,\n\t\t\t
      \         const char *encoding, int sendopts,\n\t\t\t          const char *sender,
      const char *dsn_envid,\n\t\t\t          int dsn_ret, const char *verp,\n\t\t\t
      \         ABOUNCE_FN callback, void *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abounce_connect
      Src: /src/postfix/postfix/src/global/abounce.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - flags
    - queue
    - id
    - encoding
    - sendopts
    - sender
    - dsn_envid
    - dsn_ret
    - callback
    - context
    argTypes:
    - int
    - char*
    - char*
    - char*
    - int
    - char*
    - char*
    - int
    - ABOUNCE_FN
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 423
    functionDepth: 3
    functionLinenumber: 423
    functionLinenumberEnd: 432
    functionName: abounce_flush
    functionSourceFile: /src/postfix/postfix/src/global/abounce.c
    functionUses: 0
    functionsReached:
    - abounce_connect
    linkageType: ''
    returnType: void
    signature: "void abounce_flush(int flags, const char *queue, const char *id,\n\t\t
      \             const char *encoding, int sendopts,\n\t\t              const char
      *sender, const char *dsn_envid,\n\t\t              int dsn_ret, ABOUNCE_FN callback,\n\t\t
      \             void *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abounce_connect
      Src: /src/postfix/postfix/src/global/abounce.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 10
    argNames:
    - flags
    - queue
    - id
    - encoding
    - sendopts
    - sender
    - dsn_envid
    - dsn_ret
    - callback
    - context
    argTypes:
    - int
    - char*
    - char*
    - char*
    - int
    - char*
    - char*
    - int
    - ABOUNCE_FN
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 436
    functionDepth: 3
    functionLinenumber: 436
    functionLinenumberEnd: 445
    functionName: adefer_flush
    functionSourceFile: /src/postfix/postfix/src/global/abounce.c
    functionUses: 0
    functionsReached:
    - abounce_connect
    linkageType: ''
    returnType: void
    signature: "void adefer_flush(int flags, const char *queue, const char *id,\n\t\t
      \            const char *encoding, int sendopts,\n\t\t             const char
      *sender, const char *dsn_envid,\n\t\t             int dsn_ret, ABOUNCE_FN callback,
      void *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abounce_connect
      Src: /src/postfix/postfix/src/global/abounce.c:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - flags
    - queue
    - id
    - encoding
    - sendopts
    - sender
    - dsn_envid
    - dsn_ret
    - callback
    - context
    argTypes:
    - int
    - char*
    - char*
    - char*
    - int
    - char*
    - char*
    - int
    - ABOUNCE_FN
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 457
    functionName: adefer_warn
    functionSourceFile: /src/postfix/postfix/src/global/abounce.c
    functionUses: 0
    functionsReached:
    - abounce_connect
    linkageType: ''
    returnType: void
    signature: "void adefer_warn(int flags, const char *queue, const char *id,\n\t\t
      \           const char *encoding, int sendopts,\n\t\t            const char
      *sender, const char *dsn_envid,\n\t\t            int dsn_ret, ABOUNCE_FN callback,
      void *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abounce_connect
      Src: /src/postfix/postfix/src/global/abounce.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - flags
    - queue
    - id
    - encoding
    - sendopts
    - sender
    - dsn_envid
    - dsn_ret
    - callback
    - context
    argTypes:
    - int
    - char*
    - char*
    - char*
    - int
    - char*
    - char*
    - int
    - ABOUNCE_FN
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 461
    functionDepth: 3
    functionLinenumber: 461
    functionLinenumberEnd: 469
    functionName: atrace_flush
    functionSourceFile: /src/postfix/postfix/src/global/abounce.c
    functionUses: 0
    functionsReached:
    - abounce_connect
    linkageType: ''
    returnType: void
    signature: "void atrace_flush(int flags, const char *queue, const char *id,\n\t\t
      \            const char *encoding, int sendopts,\n\t\t             const char
      *sender, const char *dsn_envid,\n\t\t             int dsn_ret, ABOUNCE_FN callback,
      void *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/midna_adomain.c
    functionUses: 114
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/postfix/postfix/src/global/midna_adomain.c:78,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/midna_adomain.c:79,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/midna_adomain.c:81,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/global/midna_adomain.c:83,1
    - Dst: strstr
      Src: /src/postfix/postfix/src/global/midna_adomain.c:83,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/midna_adomain.c:84,1
    - Dst: midna_domain_to_utf8
      Src: /src/postfix/postfix/src/global/midna_adomain.c:85,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/midna_adomain.c:88,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/midna_adomain.c:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 93
    functionName: midna_adomain_to_utf8
    functionSourceFile: /src/postfix/postfix/src/global/midna_adomain.c
    functionUses: 0
    functionsReached:
    - strrchr
    - vstring_sprintf
    - midna_domain_to_utf8
    - vstring_strcat
    - vstring_strcpy
    - strstr
    - allascii
    - STR
    linkageType: ''
    returnType: char
    signature: char *midna_adomain_to_utf8(VSTRING *dest, const char *src)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/postfix/postfix/src/global/midna_adomain.c:102,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/midna_adomain.c:103,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/midna_adomain.c:105,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/global/midna_adomain.c:107,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/midna_adomain.c:108,1
    - Dst: midna_domain_to_ascii
      Src: /src/postfix/postfix/src/global/midna_adomain.c:109,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/midna_adomain.c:112,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/midna_adomain.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: midna_adomain_to_ascii
    functionSourceFile: /src/postfix/postfix/src/global/midna_adomain.c
    functionUses: 0
    functionsReached:
    - strrchr
    - vstring_sprintf
    - midna_domain_to_ascii
    - vstring_strcat
    - vstring_strcpy
    - allascii
    - STR
    linkageType: ''
    returnType: char
    signature: char *midna_adomain_to_ascii(VSTRING *dest, const char *src)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/pipe_command.c:220,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/pipe_command.c:223,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/pipe_command.c:226,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/pipe_command.c:229,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/pipe_command.c:232,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/pipe_command.c:235,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/pipe_command.c:239,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/pipe_command.c:240,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/pipe_command.c:244,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/pipe_command.c:245,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/pipe_command.c:248,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/pipe_command.c:251,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/pipe_command.c:254,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/pipe_command.c:257,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/pipe_command.c:260,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/pipe_command.c:263,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/pipe_command.c:266,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/pipe_command.c:269,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/pipe_command.c:272,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/pipe_command.c:276,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/pipe_command.c:278,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/pipe_command.c:280,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/pipe_command.c:282,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 79
    argCount: 2
    argNames:
    - args
    - ap
    argTypes:
    - struct pipe_args*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 283
    functionName: get_pipe_args
    functionSourceFile: /src/postfix/postfix/src/global/pipe_command.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - va_arg
    linkageType: ''
    returnType: void
    signature: void get_pipe_args(struct pipe_args * args, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write_wait
      Src: /src/postfix/postfix/src/global/pipe_command.c:297,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/pipe_command.c:299,1
    - Dst: write
      Src: /src/postfix/postfix/src/global/pipe_command.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - fd
    - buf
    - len
    - unused_timeout
    - unused_context
    argTypes:
    - int
    - void*
    - size_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 306
    functionName: pipe_command_write
    functionSourceFile: /src/postfix/postfix/src/global/pipe_command.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - write
    - write_wait
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t pipe_command_write(int fd, void *buf, size_t len,\n\t\t\t\t
      \         int unused_timeout,\n\t\t\t\t          void *unused_context)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read_wait
      Src: /src/postfix/postfix/src/global/pipe_command.c:320,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/pipe_command.c:322,1
    - Dst: read
      Src: /src/postfix/postfix/src/global/pipe_command.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - fd
    - buf
    - len
    - unused_timeout
    - unused_context
    argTypes:
    - int
    - void*
    - size_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 329
    functionName: pipe_command_read
    functionSourceFile: /src/postfix/postfix/src/global/pipe_command.c
    functionUses: 0
    functionsReached:
    - read
    - msg_warn
    - read_wait
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t pipe_command_read(int fd, void *buf, size_t len,\n\t\t\t\t
      \        int unused_timeout,\n\t\t\t\t         void *unused_context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geteuid
      Src: /src/postfix/postfix/src/global/pipe_command.c:335,1
    - Dst: getegid
      Src: /src/postfix/postfix/src/global/pipe_command.c:336,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/global/pipe_command.c:342,1
    - Dst: kill
      Src: /src/postfix/postfix/src/global/pipe_command.c:343,1
    - Dst: kill
      Src: /src/postfix/postfix/src/global/pipe_command.c:343,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/pipe_command.c:344,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/global/pipe_command.c:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - pid
    - sig
    - kill_uid
    - kill_gid
    argTypes:
    - pid_t
    - int
    - uid_t
    - gid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 347
    functionName: kill_command
    functionSourceFile: /src/postfix/postfix/src/global/pipe_command.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - getegid
    - kill
    - geteuid
    - set_eugid
    linkageType: ''
    returnType: void
    signature: void kill_command(pid_t pid, int sig, uid_t kill_uid, gid_t kill_gid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: timed_waitpid
      Src: /src/postfix/postfix/src/global/pipe_command.c:361,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/pipe_command.c:363,1
    - Dst: kill_command
      Src: /src/postfix/postfix/src/global/pipe_command.c:366,1
    - Dst: waitpid
      Src: /src/postfix/postfix/src/global/pipe_command.c:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - pid
    - statusp
    - sig
    - kill_uid
    - kill_gid
    argTypes:
    - pid_t
    - WAIT_STATUS_T*
    - int
    - uid_t
    - gid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 370
    functionName: pipe_command_wait_or_kill
    functionSourceFile: /src/postfix/postfix/src/global/pipe_command.c
    functionUses: 0
    functionsReached:
    - timed_waitpid
    - waitpid
    - msg_warn
    - kill_command
    linkageType: ''
    returnType: int
    signature: "int pipe_command_wait_or_kill(pid_t pid, WAIT_STATUS_T *statusp, int
      sig,\n\t\t\t\t             uid_t kill_uid, gid_t kill_gid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _exit
      Src: /src/postfix/postfix/src/global/pipe_command.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 385
    functionName: pipe_child_cleanup
    functionSourceFile: /src/postfix/postfix/src/global/pipe_command.c
    functionUses: 0
    functionsReached:
    - _exit
    linkageType: ''
    returnType: void
    signature: void pipe_child_cleanup(void)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/global/pipe_command.c:413,1
    - Dst: get_pipe_args
      Src: /src/postfix/postfix/src/global/pipe_command.c:414,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/global/pipe_command.c:415,1
    - Dst: pipe
      Src: /src/postfix/postfix/src/global/pipe_command.c:440,1
    - Dst: pipe
      Src: /src/postfix/postfix/src/global/pipe_command.c:440,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/pipe_command.c:441,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/global/pipe_command.c:442,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/global/pipe_command.c:444,1
    - Dst: fork
      Src: /src/postfix/postfix/src/global/pipe_command.c:453,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/pipe_command.c:460,1
    - Dst: dsb_unix
      Src: /src/postfix/postfix/src/global/pipe_command.c:461,1
    - Dst: sys_exits_detail
      Src: /src/postfix/postfix/src/global/pipe_command.c:461,1
    - Dst: msg_cleanup
      Src: /src/postfix/postfix/src/global/pipe_command.c:474,1
    - Dst: seteuid
      Src: /src/postfix/postfix/src/global/pipe_command.c:488,1
    - Dst: chroot_uid
      Src: /src/postfix/postfix/src/global/pipe_command.c:489,1
    - Dst: set_ugid
      Src: /src/postfix/postfix/src/global/pipe_command.c:497,1
    - Dst: setsid
      Src: /src/postfix/postfix/src/global/pipe_command.c:498,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/pipe_command.c:499,1
    - Dst: close
      Src: /src/postfix/postfix/src/global/pipe_command.c:504,1
    - Dst: close
      Src: /src/postfix/postfix/src/global/pipe_command.c:505,1
    - Dst: DUP2
      Src: /src/postfix/postfix/src/global/pipe_command.c:506,1
    - Dst: DUP2
      Src: /src/postfix/postfix/src/global/pipe_command.c:507,1
    - Dst: DUP2
      Src: /src/postfix/postfix/src/global/pipe_command.c:508,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/pipe_command.c:509,1
    - Dst: close
      Src: /src/postfix/postfix/src/global/pipe_command.c:510,1
    - Dst: close
      Src: /src/postfix/postfix/src/global/pipe_command.c:511,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/global/pipe_command.c:516,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/pipe_command.c:517,1
    - Dst: clean_env
      Src: /src/postfix/postfix/src/global/pipe_command.c:526,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/global/pipe_command.c:527,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/pipe_command.c:528,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/global/pipe_command.c:531,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/pipe_command.c:532,1
    - Dst: closelog
      Src: /src/postfix/postfix/src/global/pipe_command.c:544,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/pipe_command.c:545,1
    - Dst: execvp
      Src: /src/postfix/postfix/src/global/pipe_command.c:547,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/pipe_command.c:548,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/global/pipe_command.c:550,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/global/pipe_command.c:551,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/global/pipe_command.c:552,1
    - Dst: execvp
      Src: /src/postfix/postfix/src/global/pipe_command.c:553,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/pipe_command.c:554,1
    - Dst: exec_command
      Src: /src/postfix/postfix/src/global/pipe_command.c:556,1
    - Dst: close
      Src: /src/postfix/postfix/src/global/pipe_command.c:564,1
    - Dst: close
      Src: /src/postfix/postfix/src/global/pipe_command.c:565,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/global/pipe_command.c:567,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/global/pipe_command.c:568,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/global/pipe_command.c:574,1
    - Dst: CA_VSTREAM_CTL_WRITE_FN
      Src: /src/postfix/postfix/src/global/pipe_command.c:575,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/global/pipe_command.c:577,1
    - Dst: CA_VSTREAM_CTL_READ_FN
      Src: /src/postfix/postfix/src/global/pipe_command.c:578,1
    - Dst: mail_copy
      Src: /src/postfix/postfix/src/global/pipe_command.c:587,1
    - Dst: vstream_fread
      Src: /src/postfix/postfix/src/global/pipe_command.c:598,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/pipe_command.c:599,1
    - Dst: translit
      Src: /src/postfix/postfix/src/global/pipe_command.c:601,1
    - Dst: printable
      Src: /src/postfix/postfix/src/global/pipe_command.c:602,1
    - Dst: kill_command
      Src: /src/postfix/postfix/src/global/pipe_command.c:615,1
    - Dst: pipe_command_wait_or_kill
      Src: /src/postfix/postfix/src/global/pipe_command.c:616,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/pipe_command.c:618,1
    - Dst: dsb_unix
      Src: /src/postfix/postfix/src/global/pipe_command.c:620,1
    - Dst: sys_exits_detail
      Src: /src/postfix/postfix/src/global/pipe_command.c:621,1
    - Dst: NORMAL_EXIT_STATUS
      Src: /src/postfix/postfix/src/global/pipe_command.c:632,1
    - Dst: WIFSIGNALED
      Src: /src/postfix/postfix/src/global/pipe_command.c:633,1
    - Dst: dsb_unix
      Src: /src/postfix/postfix/src/global/pipe_command.c:634,1
    - Dst: sys_exits_detail
      Src: /src/postfix/postfix/src/global/pipe_command.c:635,1
    - Dst: WTERMSIG
      Src: /src/postfix/postfix/src/global/pipe_command.c:637,1
    - Dst: dsn_valid
      Src: /src/postfix/postfix/src/global/pipe_command.c:642,1
    - Dst: dsn_split
      Src: /src/postfix/postfix/src/global/pipe_command.c:643,1
    - Dst: dsb_unix
      Src: /src/postfix/postfix/src/global/pipe_command.c:644,1
    - Dst: DSN_STATUS
      Src: /src/postfix/postfix/src/global/pipe_command.c:644,1
    - Dst: DSN_CLASS
      Src: /src/postfix/postfix/src/global/pipe_command.c:645,1
    - Dst: SYS_EXITS_CODE
      Src: /src/postfix/postfix/src/global/pipe_command.c:649,1
    - Dst: WEXITSTATUS
      Src: /src/postfix/postfix/src/global/pipe_command.c:649,1
    - Dst: sys_exits_detail
      Src: /src/postfix/postfix/src/global/pipe_command.c:650,1
    - Dst: WEXITSTATUS
      Src: /src/postfix/postfix/src/global/pipe_command.c:650,1
    - Dst: dsb_unix
      Src: /src/postfix/postfix/src/global/pipe_command.c:651,1
    - Dst: sys_exits_detail
      Src: /src/postfix/postfix/src/global/pipe_command.c:662,1
    - Dst: WEXITSTATUS
      Src: /src/postfix/postfix/src/global/pipe_command.c:662,1
    - Dst: dsb_unix
      Src: /src/postfix/postfix/src/global/pipe_command.c:663,1
    - Dst: WEXITSTATUS
      Src: /src/postfix/postfix/src/global/pipe_command.c:666,1
    - Dst: vstring_prepend
      Src: /src/postfix/postfix/src/global/pipe_command.c:674,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/global/pipe_command.c:676,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/pipe_command.c:679,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 110
    argCount: 2
    argNames:
    - src
    - why
    argTypes:
    - VSTREAM*
    - DSN_BUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 389
    functionDepth: 3
    functionLinenumber: 389
    functionLinenumberEnd: 683
    functionName: pipe_command
    functionSourceFile: /src/postfix/postfix/src/global/pipe_command.c
    functionUses: 0
    functionsReached:
    - WTERMSIG
    - WEXITSTATUS
    - fork
    - setsid
    - set_ugid
    - DUP2
    - msg_vstream_init
    - vstream_control
    - dsn_valid
    - dsn_split
    - non_blocking
    - translit
    - sys_exits_detail
    - argv_terminate
    - setenv
    - va_start
    - clean_env
    - chroot_uid
    - exec_command
    - closelog
    - kill_command
    - chdir
    - pipe_command_wait_or_kill
    - NORMAL_EXIT_STATUS
    - seteuid
    - WIFSIGNALED
    - mail_copy
    - dsb_unix
    - close
    - pipe
    - execvp
    - argv_split
    - vstring_sprintf_append
    - msg_cleanup
    - va_end
    - printable
    - vstream_fread
    - msg_warn
    - get_pipe_args
    - vstream_fdopen
    - DSN_CLASS
    - CA_VSTREAM_CTL_WRITE_FN
    - vstream_fclose
    - DSN_STATUS
    - SYS_EXITS_CODE
    - argv_add
    - vstring_strcpy
    - vstring_prepend
    - msg_fatal
    - CA_VSTREAM_CTL_READ_FN
    linkageType: ''
    returnType: int
    signature: int pipe_command(VSTREAM *src, DSN_BUF *why,...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geteuid
      Src: /src/postfix/postfix/src/global/mark_corrupt.c:56,1
    - Dst: getegid
      Src: /src/postfix/postfix/src/global/mark_corrupt.c:57,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/global/mark_corrupt.c:58,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mark_corrupt.c:66,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/mark_corrupt.c:66,1
    - Dst: fchmod
      Src: /src/postfix/postfix/src/global/mark_corrupt.c:67,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/mark_corrupt.c:67,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mark_corrupt.c:68,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/mark_corrupt.c:68,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/global/mark_corrupt.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - src
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 77
    functionName: mark_corrupt
    functionSourceFile: /src/postfix/postfix/src/global/mark_corrupt.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - getegid
    - VSTREAM_PATH
    - geteuid
    - fchmod
    - vstream_fileno
    - msg_fatal
    - set_eugid
    linkageType: ''
    returnType: int
    signature: int mark_corrupt(VSTREAM *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/timed_ipc.c:50,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/global/timed_ipc.c:52,1
    - Dst: CA_VSTREAM_CTL_TIMEOUT
      Src: /src/postfix/postfix/src/global/timed_ipc.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: timed_ipc_setup
    functionSourceFile: /src/postfix/postfix/src/global/timed_ipc.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstream_control
    - CA_VSTREAM_CTL_TIMEOUT
    linkageType: ''
    returnType: void
    signature: void timed_ipc_setup(VSTREAM *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mail_connect
      Src: /src/postfix/postfix/src/global/mail_command_client.c:85,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_command_client.c:86,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/mail_command_client.c:89,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/global/mail_command_client.c:90,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_command_client.c:92,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/mail_command_client.c:92,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/global/mail_command_client.c:94,1
    - Dst: attr_vprint
      Src: /src/postfix/postfix/src/global/mail_command_client.c:95,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/global/mail_command_client.c:96,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_command_client.c:98,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/mail_command_client.c:98,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/mail_command_client.c:100,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/mail_command_client.c:101,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_command_client.c:103,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/mail_command_client.c:103,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/mail_command_client.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - class
    - name
    - proto
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 108
    functionName: mail_command_client
    functionSourceFile: /src/postfix/postfix/src/global/mail_command_client.c
    functionUses: 4
    functionsReached:
    - va_start
    - va_end
    - attr_vprint
    - msg_warn
    - VSTREAM_PATH
    - mail_connect
    - vstream_fclose
    - attr_scan
    - RECV_ATTR_STREQ
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: "int mail_command_client(const char *class, const char *name,\n\t\t\t
      \           const char *proto,...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - maps
    - ','
    - address
    - ','
    - extension
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: mail_addr_find_int_to_ext
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_find.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mail_addr_find_int_to_ext(maps, address, extension)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - maps
    - ','
    - address
    - ','
    - extension
    - ','
    - strategy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: mail_addr_find_strategy
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_find.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mail_addr_find_strategy(maps, address, extension, strategy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - maps
    - ','
    - address
    - ','
    - extension
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: mail_addr_find
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_find.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mail_addr_find(maps, address, extension)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - maps
    - ','
    - address
    - ','
    - extension
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: mail_addr_find_to_internal
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_find.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mail_addr_find_to_internal(maps, address, extension)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/global/login_sender_match.c
    functionUses: 116
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/login_sender_match.c:131,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/global/login_sender_match.c:133,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/login_sender_match.c:135,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/login_sender_match.c:136,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/login_sender_match.c:138,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/login_sender_match.c:139,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/login_sender_match.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - title
    - map_names
    - ext_delimiters
    - null_sender
    - wildcard
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 142
    functionName: login_sender_create
    functionSourceFile: /src/postfix/postfix/src/global/login_sender_match.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstring_alloc
    - maps_create
    - mymalloc
    - mystrdup
    linkageType: ''
    returnType: LOGIN_SENDER_MATCH
    signature: "LOGIN_SENDER_MATCH *login_sender_create(const char *title,\n\t\t\t\t\t
      \       const char *map_names,\n\t\t\t\t\t        const char *ext_delimiters,\n\t\t\t\t\t
      \       const char *null_sender,\n\t\t\t\t\t        const char *wildcard)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: maps_free
      Src: /src/postfix/postfix/src/global/login_sender_match.c:148,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/login_sender_match.c:149,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/login_sender_match.c:150,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/login_sender_match.c:151,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/login_sender_match.c:153,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/login_sender_match.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - lsm
    argTypes:
    - LOGIN_SENDER_MATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: login_sender_free
    functionSourceFile: /src/postfix/postfix/src/global/login_sender_match.c
    functionUses: 0
    functionsReached:
    - myfree
    - maps_free
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void login_sender_free(LOGIN_SENDER_MATCH *lsm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strip_addr_internal
      Src: /src/postfix/postfix/src/global/login_sender_match.c:164,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/global/login_sender_match.c:167,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/login_sender_match.c:168,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/global/login_sender_match.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ext_addr
    - int_addr
    - delims
    argTypes:
    - VSTRING*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: strip_externalize_addr
    functionSourceFile: /src/postfix/postfix/src/global/login_sender_match.c
    functionUses: 0
    functionsReached:
    - myfree
    - quote_822_local
    - strip_addr_internal
    linkageType: ''
    returnType: VSTRING
    signature: "VSTRING *strip_externalize_addr(VSTRING *ext_addr, const char *int_addr,\n\t\t\t\t
      \              const char *delims)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: maps_find
      Src: /src/postfix/postfix/src/global/login_sender_match.c:195,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/login_sender_match.c:202,1
    - Dst: mystrtokdq
      Src: /src/postfix/postfix/src/global/login_sender_match.c:204,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/global/login_sender_match.c:207,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/global/login_sender_match.c:208,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/global/login_sender_match.c:212,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/global/login_sender_match.c:216,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/login_sender_match.c:224,1
    - Dst: strip_externalize_addr
      Src: /src/postfix/postfix/src/global/login_sender_match.c:224,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/global/login_sender_match.c:227,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/login_sender_match.c:231,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - lsm
    - login_name
    - sender_addr
    argTypes:
    - LOGIN_SENDER_MATCH*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 236
    functionName: login_sender_match
    functionSourceFile: /src/postfix/postfix/src/global/login_sender_match.c
    functionUses: 0
    functionsReached:
    - strrchr
    - mystrtokdq
    - strip_externalize_addr
    - maps_find
    - myfree
    - strcasecmp
    - mystrdup
    - strcasecmp_utf8
    - STR
    linkageType: ''
    returnType: int
    signature: "int login_sender_match(LOGIN_SENDER_MATCH *lsm, const char *login_name,\n\t\t\t
      \          const char *sender_addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/login_sender_match.c:337,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/login_sender_match.c:339,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/login_sender_match.c:340,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/login_sender_match.c:341,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/login_sender_match.c:342,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/login_sender_match.c:343,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/login_sender_match.c:344,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/login_sender_match.c:345,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/login_sender_match.c:346,1
    - Dst: login_sender_create
      Src: /src/postfix/postfix/src/global/login_sender_match.c:348,1
    - Dst: login_sender_match
      Src: /src/postfix/postfix/src/global/login_sender_match.c:351,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/login_sender_match.c:353,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/login_sender_match.c:356,1
    - Dst: login_sender_free
      Src: /src/postfix/postfix/src/global/login_sender_match.c:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 240
    functionDepth: 4
    functionLinenumber: 240
    functionLinenumberEnd: 362
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/login_sender_match.c
    functionUses: 9
    functionsReached:
    - login_sender_create
    - login_sender_match
    - login_sender_free
    - msg_info
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: name_code
      Src: /src/postfix/postfix/src/global/hfrom_format.c:79,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/hfrom_format.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: hfrom_format_parse
    functionSourceFile: /src/postfix/postfix/src/global/hfrom_format.c
    functionUses: 0
    functionsReached:
    - name_code
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int hfrom_format_parse(const char *name, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str_name_code
      Src: /src/postfix/postfix/src/global/hfrom_format.c:90,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/hfrom_format.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: str_hfrom_format_code
    functionSourceFile: /src/postfix/postfix/src/global/hfrom_format.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - str_name_code
    linkageType: ''
    returnType: char
    signature: char *str_hfrom_format_code(int code)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/global/hfrom_format.c
    functionUses: 117
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - one
    - two
    argTypes:
    - VSTREAM*
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: vstream_swap
    functionSourceFile: /src/postfix/postfix/src/global/hfrom_format.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vstream_swap(VSTREAM *one, VSTREAM *two)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/global/hfrom_format.c:132,1
    - Dst: vmsg_warn
      Src: /src/postfix/postfix/src/global/hfrom_format.c:133,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/global/hfrom_format.c:134,1
    - Dst: longjmp
      Src: /src/postfix/postfix/src/global/hfrom_format.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: test_msg_fatal
    functionSourceFile: /src/postfix/postfix/src/global/hfrom_format.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vmsg_warn
    - longjmp
    linkageType: ''
    returnType: void
    signature: void test_msg_fatal(const char *fmt,...)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/hfrom_format.c:207,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/hfrom_format.c:208,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/hfrom_format.c:211,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/hfrom_format.c:212,1
    - Dst: vstream_memopen
      Src: /src/postfix/postfix/src/global/hfrom_format.c:214,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/hfrom_format.c:215,1
    - Dst: vstream_swap
      Src: /src/postfix/postfix/src/global/hfrom_format.c:216,1
    - Dst: setjmp
      Src: /src/postfix/postfix/src/global/hfrom_format.c:217,1
    - Dst: hfrom_format_parse
      Src: /src/postfix/postfix/src/global/hfrom_format.c:218,1
    - Dst: vstream_swap
      Src: /src/postfix/postfix/src/global/hfrom_format.c:219,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/hfrom_format.c:220,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/hfrom_format.c:221,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/hfrom_format.c:222,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/hfrom_format.c:222,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/hfrom_format.c:223,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/hfrom_format.c:224,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/hfrom_format.c:229,1
    - Dst: str_hfrom_format_code
      Src: /src/postfix/postfix/src/global/hfrom_format.c:231,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/hfrom_format.c:236,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/hfrom_format.c:239,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/hfrom_format.c:245,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/hfrom_format.c:246,1
    - Dst: vstream_memopen
      Src: /src/postfix/postfix/src/global/hfrom_format.c:248,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/hfrom_format.c:249,1
    - Dst: vstream_swap
      Src: /src/postfix/postfix/src/global/hfrom_format.c:250,1
    - Dst: setjmp
      Src: /src/postfix/postfix/src/global/hfrom_format.c:251,1
    - Dst: str_hfrom_format_code
      Src: /src/postfix/postfix/src/global/hfrom_format.c:252,1
    - Dst: vstream_swap
      Src: /src/postfix/postfix/src/global/hfrom_format.c:253,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/hfrom_format.c:254,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/hfrom_format.c:255,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/hfrom_format.c:256,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/hfrom_format.c:256,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/hfrom_format.c:257,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/hfrom_format.c:258,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/hfrom_format.c:261,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/hfrom_format.c:262,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/hfrom_format.c:268,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/hfrom_format.c:271,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/hfrom_format.c:276,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/hfrom_format.c:277,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/hfrom_format.c:278,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 279
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/hfrom_format.c
    functionUses: 9
    functionsReached:
    - setjmp
    - hfrom_format_parse
    - msg_warn
    - exit
    - vstream_memopen
    - vstring_alloc
    - msg_vstream_init
    - vstream_fclose
    - VSTRING_RESET
    - STR
    - VSTRING_TERMINATE
    - strcmp
    - str_hfrom_format_code
    - msg_info
    - msg_fatal
    - vstring_free
    - vstream_swap
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/smtputf8.c:84,1
    - Dst: name_mask
      Src: /src/postfix/postfix/src/global/smtputf8.c:87,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/smtputf8.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 95
    functionName: smtputf8_autodetect
    functionSourceFile: /src/postfix/postfix/src/global/smtputf8.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - msg_warn
    - name_mask
    linkageType: ''
    returnType: int
    signature: int smtputf8_autodetect(int class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/bounce_log.c
    functionUses: 118
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mail_queue_open
      Src: /src/postfix/postfix/src/global/bounce_log.c:133,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/bounce_log.c:136,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/bounce_log.c:138,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/global/bounce_log.c:139,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/bounce_log.c:140,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/bounce_log.c:141,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/bounce_log.c:143,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/bounce_log.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - queue_name
    - queue_id
    - flags
    - mode
    argTypes:
    - char*
    - char*
    - int
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 148
    functionName: bounce_log_open
    functionSourceFile: /src/postfix/postfix/src/global/bounce_log.c
    functionUses: 0
    functionsReached:
    - vstring_alloc
    - mail_queue_open
    - STREQ
    - mymalloc
    - mystrdup
    linkageType: ''
    returnType: BOUNCE_LOG
    signature: "BOUNCE_LOG *bounce_log_open(const char *queue_name, const char *queue_id,\n\t\t\t
      \           int flags, mode_t mode)"
  - 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: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/global/bounce_log.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x,y)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: rcpb_reset
      Src: /src/postfix/postfix/src/global/bounce_log.c:170,1
    - Dst: dsb_reset
      Src: /src/postfix/postfix/src/global/bounce_log.c:171,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/global/bounce_log.c:180,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/bounce_log.c:189,1
    - Dst: printable
      Src: /src/postfix/postfix/src/global/bounce_log.c:200,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/bounce_log.c:200,1
    - Dst: ISALNUM
      Src: /src/postfix/postfix/src/global/bounce_log.c:208,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/global/bounce_log.c:218,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/bounce_log.c:219,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/bounce_log.c:219,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/global/bounce_log.c:226,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/bounce_log.c:227,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/global/bounce_log.c:229,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/bounce_log.c:230,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/global/bounce_log.c:232,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/bounce_log.c:233,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/global/bounce_log.c:234,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/global/bounce_log.c:235,1
    - Dst: DSN_NOTIFY_OK
      Src: /src/postfix/postfix/src/global/bounce_log.c:235,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/global/bounce_log.c:237,1
    - Dst: atol
      Src: /src/postfix/postfix/src/global/bounce_log.c:238,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/global/bounce_log.c:240,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/bounce_log.c:241,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/global/bounce_log.c:242,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/bounce_log.c:243,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/global/bounce_log.c:244,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/bounce_log.c:245,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/global/bounce_log.c:246,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/bounce_log.c:247,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/global/bounce_log.c:248,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/bounce_log.c:249,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/global/bounce_log.c:250,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/bounce_log.c:251,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/global/bounce_log.c:252,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/bounce_log.c:253,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/bounce_log.c:255,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/bounce_log.c:256,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/bounce_log.c:265,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/bounce_log.c:266,1
    - Dst: strstr
      Src: /src/postfix/postfix/src/global/bounce_log.c:270,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/bounce_log.c:271,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/bounce_log.c:272,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/bounce_log.c:276,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/global/bounce_log.c:283,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/bounce_log.c:285,1
    - Dst: BUF_NODATA
      Src: /src/postfix/postfix/src/global/bounce_log.c:295,1
    - Dst: BUF_ASSIGN
      Src: /src/postfix/postfix/src/global/bounce_log.c:296,1
    - Dst: BUF_NODATA
      Src: /src/postfix/postfix/src/global/bounce_log.c:297,1
    - Dst: BUF_ASSIGN
      Src: /src/postfix/postfix/src/global/bounce_log.c:298,1
    - Dst: BUF_NODATA
      Src: /src/postfix/postfix/src/global/bounce_log.c:299,1
    - Dst: BUF_ASSIGN
      Src: /src/postfix/postfix/src/global/bounce_log.c:300,1
    - Dst: BUF_NODATA
      Src: /src/postfix/postfix/src/global/bounce_log.c:301,1
    - Dst: BUF_ASSIGN
      Src: /src/postfix/postfix/src/global/bounce_log.c:302,1
    - Dst: RECIPIENT_FROM_RCPT_BUF
      Src: /src/postfix/postfix/src/global/bounce_log.c:303,1
    - Dst: DSN_FROM_DSN_BUF
      Src: /src/postfix/postfix/src/global/bounce_log.c:304,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 90
    argCount: 3
    argNames:
    - bp
    - rcpt_buf
    - dsn_buf
    argTypes:
    - BOUNCE_LOG*
    - RCPT_BUF*
    - DSN_BUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 306
    functionName: bounce_log_read
    functionSourceFile: /src/postfix/postfix/src/global/bounce_log.c
    functionUses: 0
    functionsReached:
    - BUF_ASSIGN
    - split_nameval
    - ISSPACE
    - atoi
    - DSN_NOTIFY_OK
    - rcpb_reset
    - vstring_get_nonl
    - VSTREAM_PATH
    - BUF_NODATA
    - RECIPIENT_FROM_RCPT_BUF
    - DSN_FROM_DSN_BUF
    - ISALNUM
    - atol
    - STREQ
    - printable
    - msg_warn
    - STR
    - vstring_strcpy
    - strstr
    - dsb_reset
    linkageType: ''
    returnType: BOUNCE_LOG
    signature: "BOUNCE_LOG *bounce_log_read(BOUNCE_LOG *bp, RCPT_BUF *rcpt_buf,\n\t\t\t
      \           DSN_BUF *dsn_buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: BUF_NODATA
    functionSourceFile: /src/postfix/postfix/src/global/bounce_log.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUF_NODATA(buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - text
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: BUF_ASSIGN
    functionSourceFile: /src/postfix/postfix/src/global/bounce_log.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUF_ASSIGN(buf, text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/bounce_log.c:314,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/bounce_log.c:315,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/bounce_log.c:316,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/bounce_log.c:317,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/bounce_log.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - bp
    argTypes:
    - BOUNCE_LOG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 321
    functionName: bounce_log_close
    functionSourceFile: /src/postfix/postfix/src/global/bounce_log.c
    functionUses: 0
    functionsReached:
    - myfree
    - vstring_free
    - vstream_fclose
    linkageType: ''
    returnType: int
    signature: int bounce_log_close(BOUNCE_LOG *bp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:107,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:110,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - name
    - strval
    - min
    - max
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: check_mail_conf_str
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_str.c
    functionUses: 1
    functionsReached:
    - msg_fatal
    - strlen
    linkageType: ''
    returnType: void
    signature: "void check_mail_conf_str(const char *name, const char *strval,\n\t\t\t
      \           int min, int max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mail_conf_lookup_eval
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:124,1
    - Dst: mail_conf_eval
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:125,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:126,1
    - Dst: check_mail_conf_str
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:128,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - name
    - defval
    - min
    - max
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 130
    functionName: get_mail_conf_str
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_str.c
    functionUses: 0
    functionsReached:
    - check_mail_conf_str
    - mail_conf_eval
    - mail_conf_update
    - mystrdup
    - mail_conf_lookup_eval
    linkageType: ''
    returnType: char
    signature: "char *get_mail_conf_str(const char *name, const char *defval,\n\t\t\t
      \         int min, int max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:141,1
    - Dst: mail_conf_lookup_eval
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:142,1
    - Dst: mail_conf_eval
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:143,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:144,1
    - Dst: check_mail_conf_str
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:146,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:147,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - name1
    - name2
    - defval
    - min
    - max
    argTypes:
    - char*
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 149
    functionName: get_mail_conf_str2
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_str.c
    functionUses: 0
    functionsReached:
    - check_mail_conf_str
    - mail_conf_eval
    - myfree
    - mail_conf_update
    - concatenate
    - mystrdup
    - mail_conf_lookup_eval
    linkageType: ''
    returnType: char
    signature: "char *get_mail_conf_str2(const char *name1, const char *name2,\n\t\t\t
      \          const char *defval,\n\t\t\t           int min, int max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mail_conf_lookup_eval
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:160,1
    - Dst: mail_conf_eval
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:161,1
    - Dst: defval
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:161,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:162,1
    - Dst: check_mail_conf_str
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:164,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - name
    - defval
    - min
    - max
    argTypes:
    - char*
    - stupid_indent_str
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 166
    functionName: get_mail_conf_str_fn
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_str.c
    functionUses: 0
    functionsReached:
    - check_mail_conf_str
    - mail_conf_eval
    - defval
    - mail_conf_update
    - mystrdup
    - mail_conf_lookup_eval
    linkageType: ''
    returnType: char
    signature: "char *get_mail_conf_str_fn(const char *name, stupid_indent_str defval,\n\t\t\t
      \            int min, int max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: set_mail_conf_str
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_str.c
    functionUses: 2
    functionsReached:
    - mail_conf_update
    linkageType: ''
    returnType: void
    signature: void set_mail_conf_str(const char *name, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:181,1
    - Dst: get_mail_conf_str
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - table
    argTypes:
    - CONFIG_STR_TABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 186
    functionName: get_mail_conf_str_table
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_str.c
    functionUses: 5
    functionsReached:
    - myfree
    - get_mail_conf_str
    linkageType: ''
    returnType: void
    signature: void get_mail_conf_str_table(const CONFIG_STR_TABLE *table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:194,1
    - Dst: get_mail_conf_str_fn
      Src: /src/postfix/postfix/src/global/mail_conf_str.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - table
    argTypes:
    - CONFIG_STR_FN_TABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: get_mail_conf_str_fn_table
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_str.c
    functionUses: 1
    functionsReached:
    - myfree
    - get_mail_conf_str_fn
    linkageType: ''
    returnType: void
    signature: void get_mail_conf_str_fn_table(const CONFIG_STR_FN_TABLE *table)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/info_log_addr_form.c
    functionUses: 119
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: name_code
      Src: /src/postfix/postfix/src/global/info_log_addr_form.c:76,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/info_log_addr_form.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 83
    functionName: info_log_addr_form_init
    functionSourceFile: /src/postfix/postfix/src/global/info_log_addr_form.c
    functionUses: 0
    functionsReached:
    - name_code
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void info_log_addr_form_init(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/info_log_addr_form.c:92,1
    - Dst: info_log_addr_form_init
      Src: /src/postfix/postfix/src/global/info_log_addr_form.c:94,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/info_log_addr_form.c:97,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/global/info_log_addr_form.c:99,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/info_log_addr_form.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - addr
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 105
    functionName: info_log_addr_form
    functionSourceFile: /src/postfix/postfix/src/global/info_log_addr_form.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - info_log_addr_form_init
    - vstring_alloc
    - vstring_strcpy
    - quote_822_local
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *info_log_addr_form(VSTRING *buf, const char *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: info_log_addr_form
      Src: /src/postfix/postfix/src/global/info_log_addr_form.c:113,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/info_log_addr_form.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - recipient_addr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: info_log_addr_form_recipient
    functionSourceFile: /src/postfix/postfix/src/global/info_log_addr_form.c
    functionUses: 1
    functionsReached:
    - info_log_addr_form
    - STR
    linkageType: ''
    returnType: char
    signature: char *info_log_addr_form_recipient(const char *recipient_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: info_log_addr_form
      Src: /src/postfix/postfix/src/global/info_log_addr_form.c:123,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/info_log_addr_form.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sender_addr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: info_log_addr_form_sender
    functionSourceFile: /src/postfix/postfix/src/global/info_log_addr_form.c
    functionUses: 0
    functionsReached:
    - info_log_addr_form
    - STR
    linkageType: ''
    returnType: char
    signature: char *info_log_addr_form_sender(const char *sender_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cp
    - ','
    - path
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: MQID_FIND_LG_INUM_SEPARATOR
    functionSourceFile: /src/postfix/postfix/src/global/mail_queue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MQID_FIND_LG_INUM_SEPARATOR(cp, path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - path
    - ','
    - inum
    - ','
    - long_form
    - ','
    - error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: MQID_GET_INUM
    functionSourceFile: /src/postfix/postfix/src/global/mail_queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MQID_GET_INUM(path, inum, long_form, error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: MQID_LG_ENCODE_SEC
    functionSourceFile: /src/postfix/postfix/src/global/mail_queue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MQID_LG_ENCODE_SEC(buf, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: MQID_LG_ENCODE_USEC
    functionSourceFile: /src/postfix/postfix/src/global/mail_queue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MQID_LG_ENCODE_USEC(buf, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: MQID_LG_ENCODE_INUM
    functionSourceFile: /src/postfix/postfix/src/global/mail_queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MQID_LG_ENCODE_INUM(buf, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - str
    - ','
    - ulval
    - ','
    - error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: MQID_LG_DECODE_USEC
    functionSourceFile: /src/postfix/postfix/src/global/mail_queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MQID_LG_DECODE_USEC(str, ulval, error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - str
    - ','
    - ulval
    - ','
    - error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: MQID_LG_DECODE_INUM
    functionSourceFile: /src/postfix/postfix/src/global/mail_queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MQID_LG_DECODE_INUM(str, ulval, error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - buf
    - ','
    - val
    - ','
    - base
    - ','
    - padlen
    - )
    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: MQID_LG_ENCODE
    functionSourceFile: /src/postfix/postfix/src/global/mail_queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MQID_LG_ENCODE(buf, val, base, padlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - str
    - ','
    - ulval
    - ','
    - base
    - ','
    - error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: MQID_LG_DECODE
    functionSourceFile: /src/postfix/postfix/src/global/mail_queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MQID_LG_DECODE(str, ulval, base, error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bp
    - ','
    - zp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 151
    functionName: MQID_LG_GET_HEX_USEC
    functionSourceFile: /src/postfix/postfix/src/global/mail_queue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MQID_LG_GET_HEX_USEC(bp, zp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - usec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: MQID_SH_ENCODE_USEC
    functionSourceFile: /src/postfix/postfix/src/global/mail_queue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MQID_SH_ENCODE_USEC(buf, usec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - inum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: MQID_SH_ENCODE_INUM
    functionSourceFile: /src/postfix/postfix/src/global/mail_queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MQID_SH_ENCODE_INUM(buf, inum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - str
    - ','
    - ulval
    - ','
    - error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: MQID_SH_DECODE_INUM
    functionSourceFile: /src/postfix/postfix/src/global/mail_queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MQID_SH_DECODE_INUM(str, ulval, error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/sys_exits.c:105,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/sys_exits.c:107,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/sys_exits.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: sys_exits_fake
    functionSourceFile: /src/postfix/postfix/src/global/sys_exits.c
    functionUses: 0
    functionsReached:
    - vstring_str
    - vstring_sprintf
    - vstring_alloc
    linkageType: ''
    returnType: SYS_EXITS_DETAIL
    signature: SYS_EXITS_DETAIL *sys_exits_fake(int code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SYS_EXITS_CODE
      Src: /src/postfix/postfix/src/global/sys_exits.c:116,1
    - Dst: sys_exits_fake
      Src: /src/postfix/postfix/src/global/sys_exits.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: sys_exits_strerror
    functionSourceFile: /src/postfix/postfix/src/global/sys_exits.c
    functionUses: 0
    functionsReached:
    - SYS_EXITS_CODE
    - sys_exits_fake
    linkageType: ''
    returnType: char
    signature: char *sys_exits_strerror(int code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SYS_EXITS_CODE
      Src: /src/postfix/postfix/src/global/sys_exits.c:127,1
    - Dst: sys_exits_fake
      Src: /src/postfix/postfix/src/global/sys_exits.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: sys_exits_detail
    functionSourceFile: /src/postfix/postfix/src/global/sys_exits.c
    functionUses: 2
    functionsReached:
    - SYS_EXITS_CODE
    - sys_exits_fake
    linkageType: ''
    returnType: SYS_EXITS_DETAIL
    signature: SYS_EXITS_DETAIL *sys_exits_detail(int code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SYS_EXITS_CODE
      Src: /src/postfix/postfix/src/global/sys_exits.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: sys_exits_softerror
    functionSourceFile: /src/postfix/postfix/src/global/sys_exits.c
    functionUses: 0
    functionsReached:
    - SYS_EXITS_CODE
    linkageType: ''
    returnType: int
    signature: int sys_exits_softerror(int code)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:127,1
    - Dst: unquote_822_local
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:128,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:129,1
    - Dst: mail_addr_find_opt
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:139,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:150,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:151,1
    - Dst: vstring_strncpy
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:152,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:154,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:156,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:156,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:156,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:157,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:158,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:158,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:159,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:159,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:160,1
    - Dst: mail_addr_crunch_opt
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:167,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:170,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:172,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:175,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:177,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:179,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:189,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:197,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:199,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 6
    argNames:
    - path
    - address
    - propagate
    - in_form
    - query_form
    - out_form
    argTypes:
    - MAPS*
    - char*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 202
    functionName: mail_addr_map_opt
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_map.c
    functionUses: 0
    functionsReached:
    - strrchr
    - msg_warn
    - vstring_truncate
    - strlen
    - mail_addr_find_opt
    - unquote_822_local
    - vstring_alloc
    - vstring_strncpy
    - LEN
    - mail_addr_crunch_opt
    - msg_info
    - argv_free
    - vstring_strcat
    - myfree
    - vstring_strcpy
    - quote_822_local
    - vstring_free
    - STR
    linkageType: ''
    returnType: ARGV
    signature: "ARGV *mail_addr_map_opt(MAPS *path, const char *address, int propagate,\n\t\t\t
      \         int in_form, int query_form, int out_form)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - addr
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: canon_addr_external
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_map.c
    functionUses: 1
    functionsReached:
    - vstring_strcpy
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *canon_addr_external(VSTRING *result, const char *addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:419,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:420,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:427,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:430,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:432,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 5
    argNames:
    - testname
    - expect_argv
    - expect_argc
    - result_argv
    - result_argc
    argTypes:
    - char*
    - char**
    - int
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 436
    functionName: compare
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_map.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - strcmp
    - msg_info
    linkageType: ''
    returnType: int
    signature: "int compare(const char *testname,\n\t\t           const char **expect_argv,
      int expect_argc,\n\t\t           char **result_argv, int result_argc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_map.c
    functionUses: 5
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:458,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:459,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:461,1
    - Dst: usage
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:464,1
    - Dst: mail_params_init
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:470,1
    - Dst: mail_addr_form_to_string
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:480,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:481,1
    - Dst: mail_addr_form_to_string
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:486,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:487,1
    - Dst: mail_addr_form_to_string
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:492,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:493,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:498,1
    - Dst: UPDATE
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:501,1
    - Dst: mail_addr_map_opt
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:502,1
    - Dst: compare
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:504,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:506,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:507,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:508,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:509,1
    - Dst: mail_addr_form_to_string
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:509,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:510,1
    - Dst: mail_addr_form_to_string
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:510,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:511,1
    - Dst: mail_addr_form_to_string
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:511,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:512,1
    - Dst: maps_free
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:515,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/global/mail_addr_map.c:517,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 445
    functionDepth: 4
    functionLinenumber: 445
    functionLinenumberEnd: 525
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_map.c
    functionUses: 9
    functionsReached:
    - mail_params_init
    - UPDATE
    - msg_warn
    - mail_addr_map_opt
    - maps_free
    - argv_free
    - maps_create
    - msg_info
    - strcmp
    - usage
    - compare
    - mail_addr_form_to_string
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 452
    functionName: UPDATE
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_map.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE(dst, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: INIT_VSTR
    functionSourceFile: /src/postfix/postfix/src/global/dict_mongodb.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INIT_VSTR(buf, len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:143,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:145,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - val
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 150
    functionName: itoa
    functionSourceFile: /src/postfix/postfix/src/global/dict_mongodb.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - snprintf
    linkageType: ''
    returnType: char
    signature: char *itoa(int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:162,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:163,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:164,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:165,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:171,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:173,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:175,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:177,1
    - Dst: db_common_parse
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:183,1
    - Dst: db_common_parse_domain
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - dict_mongodb
    - mongodbcf
    argTypes:
    - DICT_MONGODB*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 186
    functionName: mongodb_parse_config
    functionSourceFile: /src/postfix/postfix/src/global/dict_mongodb.c
    functionUses: 0
    functionsReached:
    - db_common_parse
    - cfg_get_str
    - cfg_get_int
    - db_common_parse_domain
    linkageType: ''
    returnType: void
    signature: "void mongodb_parse_config(DICT_MONGODB *dict_mongodb,\n\t\t\t\t         const
      char *mongodbcf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:204,1
    - Dst: db_common_expand
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - dict_mongodb
    - p
    - lookup_name
    - resultString
    - expansion
    - key
    argTypes:
    - DICT_MONGODB*
    - char*
    - char*
    - VSTRING*
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 219
    functionName: expand_value
    functionSourceFile: /src/postfix/postfix/src/global/dict_mongodb.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - db_common_expand
    linkageType: ''
    returnType: bool
    signature: "bool expand_value(DICT_MONGODB *dict_mongodb, const char *p,\n\t\t\t
      \        const char *lookup_name,\n\t\t\t         VSTRING *resultString,\n\t\t\t
      \        int *expansion, const char *key)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: INIT_VSTR
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:237,1
    - Dst: bson_iter_next
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:238,1
    - Dst: bson_iter_type
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:239,1
    - Dst: bson_iter_utf8
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:241,1
    - Dst: bson_utf8_validate
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:242,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:242,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:243,1
    - Dst: expand_value
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:248,1
    - Dst: itoa
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:253,1
    - Dst: bson_iter_as_int64
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:253,1
    - Dst: expand_value
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:254,1
    - Dst: bson_iter_array
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:270,1
    - Dst: bson_new_from_data
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:271,1
    - Dst: bson_iter_init
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:272,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:273,1
    - Dst: get_result_string
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:275,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:277,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:281,1
    - Dst: bson_destroy
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:283,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:287,1
    - Dst: bson_iter_key
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:289,1
    - Dst: bson_iter_type
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:290,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:296,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 6
    argNames:
    - dict_mongodb
    - resultString
    - iter
    - lookup_name
    - expansion
    - key
    argTypes:
    - DICT_MONGODB*
    - VSTRING*
    - bson_iter_t*
    - char*
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 297
    functionName: get_result_string
    functionSourceFile: /src/postfix/postfix/src/global/dict_mongodb.c
    functionUses: 1
    functionsReached:
    - INIT_VSTR
    - bson_utf8_validate
    - strlen
    - vstring_alloc
    - bson_iter_next
    - vstring_str
    - bson_new_from_data
    - itoa
    - vstring_sprintf_append
    - bson_destroy
    - vstring_free
    - msg_warn
    - get_result_string
    - bson_iter_type
    - bson_iter_as_int64
    - bson_iter_init
    - expand_value
    - bson_iter_array
    - bson_iter_key
    - bson_iter_utf8
    linkageType: ''
    returnType: char
    signature: "char *get_result_string(DICT_MONGODB *dict_mongodb,\n\t\t\t               VSTRING
      *resultString,\n\t\t\t               bson_iter_t *iter,\n\t\t\t               const
      char *lookup_name,\n\t\t\t               int *expansion,\n\t\t\t               const
      char *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quote_for_json_append
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dict
    - name
    - result
    argTypes:
    - DICT*
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: dict_mongdb_quote
    functionSourceFile: /src/postfix/postfix/src/global/dict_mongodb.c
    functionUses: 0
    functionsReached:
    - quote_for_json_append
    linkageType: ''
    returnType: void
    signature: void dict_mongdb_quote(DICT *dict, const char *name, VSTRING *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:312,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:317,1
    - Dst: BSON_APPEND_INT32
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:318,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - projection
    - result_attribute
    argTypes:
    - bson_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 321
    functionName: dict_mongdb_append_result_attribute
    functionSourceFile: /src/postfix/postfix/src/global/dict_mongodb.c
    functionUses: 0
    functionsReached:
    - myfree
    - mystrdup
    - BSON_APPEND_INT32
    - mystrtok
    linkageType: ''
    returnType: int
    signature: "int dict_mongdb_append_result_attribute(bson_t * projection,\n\t\t\t\t
      \              const char *result_attribute)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: db_common_check_domain
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:349,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:351,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:355,1
    - Dst: mongoc_client_get_collection
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:380,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:384,1
    - Dst: DICT_MONGODB_LOOKUP_ERR_RETURN
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:387,1
    - Dst: bson_new
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:394,1
    - Dst: bson_new_from_json
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:396,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:399,1
    - Dst: DICT_MONGODB_LOOKUP_ERR_RETURN
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:402,1
    - Dst: BSON_APPEND_INT32
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:404,1
    - Dst: BSON_APPEND_DOCUMENT
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:405,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:406,1
    - Dst: DICT_MONGODB_LOOKUP_ERR_RETURN
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:409,1
    - Dst: BSON_APPEND_DOCUMENT_BEGIN
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:414,1
    - Dst: BSON_APPEND_INT32
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:415,1
    - Dst: dict_mongdb_append_result_attribute
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:416,1
    - Dst: bson_append_document_end
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:418,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:419,1
    - Dst: DICT_MONGODB_LOOKUP_ERR_RETURN
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:422,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:426,1
    - Dst: INIT_VSTR
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:434,1
    - Dst: db_common_expand
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:435,1
    - Dst: DICT_MONGODB_LOOKUP_RETURN
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:438,1
    - Dst: bson_new_from_json
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:441,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:441,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:444,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:446,1
    - Dst: DICT_MONGODB_LOOKUP_ERR_RETURN
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:447,1
    - Dst: mongoc_collection_find_with_opts
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:450,1
    - Dst: mongoc_cursor_error
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:451,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:452,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:454,1
    - Dst: DICT_MONGODB_LOOKUP_ERR_RETURN
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:455,1
    - Dst: INIT_VSTR
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:458,1
    - Dst: mongoc_cursor_next
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:459,1
    - Dst: bson_iter_init
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:460,1
    - Dst: get_result_string
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:461,1
    - Dst: DICT_MONGODB_LOOKUP_RETURN
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:465,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 2
    argNames:
    - dict
    - name
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 325
    functionDepth: 4
    functionLinenumber: 325
    functionLinenumberEnd: 466
    functionName: dict_mongodb_lookup
    functionSourceFile: /src/postfix/postfix/src/global/dict_mongodb.c
    functionUses: 0
    functionsReached:
    - bson_new
    - mongoc_collection_find_with_opts
    - BSON_APPEND_DOCUMENT
    - INIT_VSTR
    - msg_info
    - mongoc_cursor_error
    - DICT_ERR_VAL_RETURN
    - msg_panic
    - bson_append_document_end
    - BSON_APPEND_DOCUMENT_BEGIN
    - vstring_str
    - mongoc_cursor_next
    - bson_new_from_json
    - DICT_MONGODB_LOOKUP_RETURN
    - BSON_APPEND_INT32
    - msg_warn
    - DICT_MONGODB_LOOKUP_ERR_RETURN
    - db_common_check_domain
    - get_result_string
    - bson_iter_init
    - mongoc_client_get_collection
    - dict_mongdb_append_result_attribute
    - db_common_expand
    linkageType: ''
    returnType: char
    signature: char *dict_mongodb_lookup(DICT *dict, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: DICT_MONGODB_LOOKUP_ERR_RETURN
    functionSourceFile: /src/postfix/postfix/src/global/dict_mongodb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_MONGODB_LOOKUP_ERR_RETURN(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 379
    functionName: DICT_MONGODB_LOOKUP_RETURN
    functionSourceFile: /src/postfix/postfix/src/global/dict_mongodb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_MONGODB_LOOKUP_RETURN(val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parser_free
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:474,1
    - Dst: db_common_free_ctx
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:476,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:478,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:479,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:480,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:481,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:484,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:487,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:490,1
    - Dst: mongoc_client_destroy
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:493,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:495,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 496
    functionName: dict_mongodb_close
    functionSourceFile: /src/postfix/postfix/src/global/dict_mongodb.c
    functionUses: 0
    functionsReached:
    - db_common_free_ctx
    - dict_free
    - cfg_parser_free
    - myfree
    - mongoc_client_destroy
    linkageType: ''
    returnType: void
    signature: void dict_mongodb_close(DICT *dict)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:509,1
    - Dst: cfg_parser_alloc
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:514,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:515,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:519,1
    - Dst: cfg_get_owner
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:525,1
    - Dst: mongodb_parse_config
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:529,1
    - Dst: dict_mongodb_close
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:531,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:532,1
    - Dst: mongoc_init
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:538,1
    - Dst: mongoc_uri_new_with_error
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:548,1
    - Dst: DICT_MONGODB_OPEN_ERR_RETURN
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:550,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:550,1
    - Dst: mongoc_client_new_from_uri_with_error
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:556,1
    - Dst: DICT_MONGODB_OPEN_ERR_RETURN
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:558,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:558,1
    - Dst: mongoc_uri_destroy
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:565,1
    - Dst: mongoc_client_set_error_api
      Src: /src/postfix/postfix/src/global/dict_mongodb.c:566,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - name
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 500
    functionDepth: 4
    functionLinenumber: 500
    functionLinenumberEnd: 568
    functionName: dict_mongodb_open
    functionSourceFile: /src/postfix/postfix/src/global/dict_mongodb.c
    functionUses: 0
    functionsReached:
    - mongodb_parse_config
    - mongoc_uri_new_with_error
    - mongoc_init
    - mongoc_client_set_error_api
    - dict_mongodb_close
    - cfg_get_owner
    - mongoc_client_new_from_uri_with_error
    - cfg_parser_alloc
    - dict_surrogate
    - mongoc_uri_destroy
    - dict_alloc
    - DICT_MONGODB_OPEN_ERR_RETURN
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_mongodb_open(const char *name, int open_flags, int dict_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 547
    functionName: DICT_MONGODB_OPEN_ERR_RETURN
    functionSourceFile: /src/postfix/postfix/src/global/dict_mongodb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_MONGODB_OPEN_ERR_RETURN(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name_mask
      Src: /src/postfix/postfix/src/global/input_transp.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - param_name
    - pattern
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: input_transp_mask
    functionSourceFile: /src/postfix/postfix/src/global/input_transp.c
    functionUses: 0
    functionsReached:
    - name_mask
    linkageType: ''
    returnType: int
    signature: int input_transp_mask(const char *param_name, const char *pattern)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/input_transp.c:90,1
    - Dst: cleanup_strflags
      Src: /src/postfix/postfix/src/global/input_transp.c:91,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/input_transp.c:99,1
    - Dst: cleanup_strflags
      Src: /src/postfix/postfix/src/global/input_transp.c:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - cleanup_flags
    - transp_mask
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: input_transp_cleanup
    functionSourceFile: /src/postfix/postfix/src/global/input_transp.c
    functionUses: 0
    functionsReached:
    - cleanup_strflags
    - msg_info
    linkageType: ''
    returnType: int
    signature: int input_transp_cleanup(int cleanup_flags, int transp_mask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/maps.c:140,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/maps.c:141,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/global/maps.c:142,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/maps.c:150,1
    - Dst: mystrtokq
      Src: /src/postfix/postfix/src/global/maps.c:154,1
    - Dst: dict_open
      Src: /src/postfix/postfix/src/global/maps.c:155,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/maps.c:157,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/global/maps.c:159,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/maps.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - title
    - map_names
    - dict_flags
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 164
    functionName: maps_create
    functionSourceFile: /src/postfix/postfix/src/global/maps.c
    functionUses: 5
    functionsReached:
    - msg_panic
    - dict_open
    - myfree
    - argv_alloc
    - argv_add
    - mystrtokq
    - mymalloc
    - mystrdup
    linkageType: ''
    returnType: MAPS
    signature: MAPS *maps_create(const char *title, const char *map_names, int dict_flags)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/global/maps.c:188,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/maps.c:189,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/maps.c:192,1
    - Dst: dict_get
      Src: /src/postfix/postfix/src/global/maps.c:196,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/maps.c:198,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/maps.c:200,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/maps.c:206,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/maps.c:208,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/maps.c:211,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/maps.c:217,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - maps
    - name
    - flags
    argTypes:
    - MAPS*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 220
    functionName: maps_find
    functionSourceFile: /src/postfix/postfix/src/global/maps.c
    functionUses: 4
    functionsReached:
    - msg_panic
    - msg_warn
    - strlen
    - msg_info
    - dict_get
    - dict_handle
    linkageType: ''
    returnType: char
    signature: char *maps_find(MAPS *maps, const char *name, int flags)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/global/maps.c:246,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/maps.c:247,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/maps.c:249,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/maps.c:253,1
    - Dst: dict_get
      Src: /src/postfix/postfix/src/global/maps.c:257,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/maps.c:259,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/maps.c:261,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/maps.c:267,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/maps.c:269,1
    - Dst: dict_file_from_b64
      Src: /src/postfix/postfix/src/global/maps.c:270,1
    - Dst: dict_file_get_error
      Src: /src/postfix/postfix/src/global/maps.c:271,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/maps.c:272,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/maps.c:274,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/maps.c:278,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/maps.c:280,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/maps.c:286,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 3
    argNames:
    - maps
    - name
    - flags
    argTypes:
    - MAPS*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 289
    functionName: maps_file_find
    functionSourceFile: /src/postfix/postfix/src/global/maps.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - msg_warn
    - strlen
    - msg_info
    - dict_file_get_error
    - myfree
    - dict_file_from_b64
    - vstring_str
    - dict_get
    - dict_handle
    linkageType: ''
    returnType: char
    signature: char *maps_file_find(MAPS *maps, const char *name, int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/maps.c:301,1
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/global/maps.c:302,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/maps.c:303,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/global/maps.c:304,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/maps.c:306,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/global/maps.c:307,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/maps.c:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - maps
    argTypes:
    - MAPS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 310
    functionName: maps_free
    functionSourceFile: /src/postfix/postfix/src/global/maps.c
    functionUses: 4
    functionsReached:
    - msg_panic
    - argv_free
    - msg_info
    - myfree
    - dict_close
    - dict_handle
    linkageType: ''
    returnType: MAPS
    signature: MAPS *maps_free(MAPS *maps)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/maps.c:320,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/maps.c:325,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/global/maps.c:327,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/global/maps.c:329,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/maps.c:331,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/maps.c:331,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/global/maps.c:332,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/maps.c:332,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/maps.c:333,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/maps.c:335,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/maps.c:337,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/maps.c:339,1
    - Dst: maps_free
      Src: /src/postfix/postfix/src/global/maps.c:341,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/maps.c:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 344
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/maps.c
    functionUses: 11
    functionsReached:
    - vstring_str
    - vstring_fgets_nonl
    - maps_find
    - maps_free
    - vstream_fflush
    - vstring_alloc
    - maps_create
    - vstream_printf
    - msg_fatal
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/global/opened.c:75,1
    - Dst: vopened
      Src: /src/postfix/postfix/src/global/opened.c:76,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/global/opened.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - queue_id
    - sender
    - size
    - nrcpt
    - fmt
    argTypes:
    - char*
    - char*
    - long
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: opened
    functionSourceFile: /src/postfix/postfix/src/global/opened.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    - vopened
    linkageType: ''
    returnType: void
    signature: "void opened(const char *queue_id, const char *sender, long size, int
      nrcpt,\n\t               const char *fmt,...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/opened.c:85,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/global/opened.c:89,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/opened.c:90,1
    - Dst: info_log_addr_form_sender
      Src: /src/postfix/postfix/src/global/opened.c:91,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/opened.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - queue_id
    - sender
    - size
    - nrcpt
    - fmt
    - ap
    argTypes:
    - char*
    - char*
    - long
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 4
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: vopened
    functionSourceFile: /src/postfix/postfix/src/global/opened.c
    functionUses: 1
    functionsReached:
    - info_log_addr_form_sender
    - vstring_vsprintf
    - vstring_alloc
    - msg_info
    - vstring_free
    linkageType: ''
    returnType: void
    signature: "void vopened(const char *queue_id, const char *sender, long size,
      int nrcpt,\n\t\t        const char *fmt, va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: event_time
    functionSourceFile: /src/postfix/postfix/src/global/verify_sender_addr.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: event_time()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: VERIFY_SENDER_ADDR_EPOCH
    functionSourceFile: /src/postfix/postfix/src/global/verify_sender_addr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERIFY_SENDER_ADDR_EPOCH()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/verify_sender_addr.c
    functionUses: 124
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/global/verify_sender_addr.c
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:128,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:135,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:137,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:138,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:145,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:146,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:152,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:163,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:166,1
    - Dst: safe_ultostr
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:167,1
    - Dst: VERIFY_SENDER_ADDR_EPOCH
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:168,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:172,1
    - Dst: rewrite_clnt_internal
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:178,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:178,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:181,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 182
    functionName: make_verify_sender_addr
    functionSourceFile: /src/postfix/postfix/src/global/verify_sender_addr.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf_append
    - strchr
    - vstring_truncate
    - vstring_alloc
    - safe_ultostr
    - strcmp
    - vstring_strcpy
    - rewrite_clnt_internal
    - msg_fatal
    - VERIFY_SENDER_ADDR_EPOCH
    - STR
    linkageType: ''
    returnType: char
    signature: char *make_verify_sender_addr(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:199,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:208,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:209,1
    - Dst: rewrite_clnt_internal
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:210,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:210,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:217,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:217,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:218,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:220,1
    - Dst: strncasecmp_utf8
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:221,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:221,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:227,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:231,1
    - Dst: safe_strtoul
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:238,1
    - Dst: VERIFY_SENDER_ADDR_EPOCH
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:242,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:254,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 1
    argNames:
    - their_addr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 255
    functionName: valid_verify_sender_addr
    functionSourceFile: /src/postfix/postfix/src/global/verify_sender_addr.c
    functionUses: 0
    functionsReached:
    - strchr
    - strncasecmp_utf8
    - vstring_alloc
    - LEN
    - strcmp
    - vstring_strcpy
    - rewrite_clnt_internal
    - safe_strtoul
    - strcasecmp_utf8
    - VERIFY_SENDER_ADDR_EPOCH
    - STR
    linkageType: ''
    returnType: char
    signature: char *valid_verify_sender_addr(const char *their_addr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:276,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:281,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:282,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:283,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:284,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:290,1
    - Dst: conv_time
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:293,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:294,1
    - Dst: time
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:295,1
    - Dst: make_verify_sender_addr
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:300,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:307,1
    - Dst: valid_verify_sender_addr
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:308,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:311,1
    - Dst: valid_verify_sender_addr
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:312,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:320,1
    - Dst: valid_verify_sender_addr
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:321,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:329,1
    - Dst: valid_verify_sender_addr
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:330,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:333,1
    - Dst: valid_verify_sender_addr
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:334,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:337,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/verify_sender_addr.c:338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 271
    functionDepth: 4
    functionLinenumber: 271
    functionLinenumberEnd: 339
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/verify_sender_addr.c
    functionUses: 11
    functionsReached:
    - make_verify_sender_addr
    - valid_verify_sender_addr
    - time
    - conv_time
    - vstream_fflush
    - chdir
    - msg_vstream_init
    - exit
    - vstream_printf
    - msg_fatal
    - mail_conf_read
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: quote_822_local
    functionSourceFile: /src/postfix/postfix/src/global/quote_822_local.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: quote_822_local(dst, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/dict_memcache.c
    functionUses: 126
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/global/dict_memcache.c
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/dict_memcache.c:144,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_memcache.c:151,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_memcache.c:153,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_memcache.c:156,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/global/dict_memcache.c:160,1
    - Dst: auto_clnt_access
      Src: /src/postfix/postfix/src/global/dict_memcache.c:161,1
    - Dst: memcache_printf
      Src: /src/postfix/postfix/src/global/dict_memcache.c:163,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_memcache.c:164,1
    - Dst: memcache_fwrite
      Src: /src/postfix/postfix/src/global/dict_memcache.c:166,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/dict_memcache.c:166,1
    - Dst: memcache_get
      Src: /src/postfix/postfix/src/global/dict_memcache.c:167,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_memcache.c:170,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/dict_memcache.c:173,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_memcache.c:173,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_memcache.c:175,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_memcache.c:177,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_memcache.c:180,1
    - Dst: auto_clnt_recover
      Src: /src/postfix/postfix/src/global/dict_memcache.c:182,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_memcache.c:184,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - dict_mc
    - value
    - ttl
    argTypes:
    - DICT_MC*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 185
    functionName: dict_memcache_set
    functionSourceFile: /src/postfix/postfix/src/global/dict_memcache.c
    functionUses: 0
    functionsReached:
    - sleep
    - msg_warn
    - strlen
    - auto_clnt_access
    - memcache_printf
    - auto_clnt_recover
    - memcache_get
    - strcmp
    - memcache_fwrite
    - DICT_ERR_VAL_RETURN
    - STR
    linkageType: ''
    returnType: int
    signature: int dict_memcache_set(DICT_MC *dict_mc, const char *value, int ttl)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sleep
      Src: /src/postfix/postfix/src/global/dict_memcache.c:197,1
    - Dst: auto_clnt_access
      Src: /src/postfix/postfix/src/global/dict_memcache.c:198,1
    - Dst: memcache_printf
      Src: /src/postfix/postfix/src/global/dict_memcache.c:200,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_memcache.c:200,1
    - Dst: memcache_get
      Src: /src/postfix/postfix/src/global/dict_memcache.c:201,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_memcache.c:203,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/dict_memcache.c:206,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_memcache.c:206,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_memcache.c:208,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/global/dict_memcache.c:209,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_memcache.c:209,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_memcache.c:213,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_memcache.c:214,1
    - Dst: memcache_fread
      Src: /src/postfix/postfix/src/global/dict_memcache.c:215,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_memcache.c:217,1
    - Dst: memcache_get
      Src: /src/postfix/postfix/src/global/dict_memcache.c:221,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/dict_memcache.c:222,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_memcache.c:222,1
    - Dst: auto_clnt_recover
      Src: /src/postfix/postfix/src/global/dict_memcache.c:223,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_memcache.c:224,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_memcache.c:224,1
    - Dst: auto_clnt_recover
      Src: /src/postfix/postfix/src/global/dict_memcache.c:226,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_memcache.c:228,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 1
    argNames:
    - dict_mc
    argTypes:
    - DICT_MC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 229
    functionName: dict_memcache_get
    functionSourceFile: /src/postfix/postfix/src/global/dict_memcache.c
    functionUses: 0
    functionsReached:
    - sleep
    - msg_warn
    - memcache_fread
    - auto_clnt_access
    - memcache_printf
    - sscanf
    - auto_clnt_recover
    - memcache_get
    - strcmp
    - DICT_ERR_VAL_RETURN
    - STR
    linkageType: ''
    returnType: char
    signature: char *dict_memcache_get(DICT_MC *dict_mc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sleep
      Src: /src/postfix/postfix/src/global/dict_memcache.c:240,1
    - Dst: auto_clnt_access
      Src: /src/postfix/postfix/src/global/dict_memcache.c:241,1
    - Dst: memcache_printf
      Src: /src/postfix/postfix/src/global/dict_memcache.c:243,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_memcache.c:243,1
    - Dst: memcache_get
      Src: /src/postfix/postfix/src/global/dict_memcache.c:244,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_memcache.c:246,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/dict_memcache.c:249,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_memcache.c:249,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_memcache.c:251,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/dict_memcache.c:252,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_memcache.c:252,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_memcache.c:254,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_memcache.c:257,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_memcache.c:259,1
    - Dst: auto_clnt_recover
      Src: /src/postfix/postfix/src/global/dict_memcache.c:261,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_memcache.c:263,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - dict_mc
    argTypes:
    - DICT_MC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 264
    functionName: dict_memcache_del
    functionSourceFile: /src/postfix/postfix/src/global/dict_memcache.c
    functionUses: 0
    functionsReached:
    - sleep
    - msg_warn
    - auto_clnt_access
    - memcache_printf
    - auto_clnt_recover
    - memcache_get
    - strcmp
    - DICT_ERR_VAL_RETURN
    - STR
    linkageType: ''
    returnType: int
    signature: int dict_memcache_del(DICT_MC *dict_mc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dict_memcache.c:276,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/dict_memcache.c:277,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/global/dict_memcache.c:278,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_memcache.c:278,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/dict_memcache.c:288,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/dict_memcache.c:289,1
    - Dst: db_common_expand
      Src: /src/postfix/postfix/src/global/dict_memcache.c:290,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/dict_memcache.c:295,1
    - Dst: ossl_digest_data
      Src: /src/postfix/postfix/src/global/dict_memcache.c:299,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_memcache.c:299,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/dict_memcache.c:300,1
    - Dst: ossl_digest_log_errors
      Src: /src/postfix/postfix/src/global/dict_memcache.c:301,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_memcache.c:302,1
    - Dst: hex_encode_opt
      Src: /src/postfix/postfix/src/global/dict_memcache.c:307,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_memcache.c:307,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/dict_memcache.c:308,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/dict_memcache.c:315,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - dict_mc
    - name
    argTypes:
    - DICT_MC*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 316
    functionName: dict_memcache_prepare_key
    functionSourceFile: /src/postfix/postfix/src/global/dict_memcache.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - ossl_digest_log_errors
    - vstring_alloc
    - LEN
    - VSTRING_RESET
    - db_common_expand
    - strcmp
    - vstring_strcpy
    - ossl_digest_data
    - hex_encode_opt
    - lowercase
    - STR
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t dict_memcache_prepare_key(DICT_MC *dict_mc, const char *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DICT_MC_SKIP
      Src: /src/postfix/postfix/src/global/dict_memcache.c:336,1
    - Dst: db_common_check_domain
      Src: /src/postfix/postfix/src/global/dict_memcache.c:337,1
    - Dst: DICT_MC_SKIP
      Src: /src/postfix/postfix/src/global/dict_memcache.c:338,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_memcache.c:340,1
    - Dst: dict_memcache_prepare_key
      Src: /src/postfix/postfix/src/global/dict_memcache.c:341,1
    - Dst: DICT_MC_SKIP
      Src: /src/postfix/postfix/src/global/dict_memcache.c:342,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_memcache.c:344,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_memcache.c:345,1
    - Dst: isascii
      Src: /src/postfix/postfix/src/global/dict_memcache.c:346,1
    - Dst: isspace
      Src: /src/postfix/postfix/src/global/dict_memcache.c:346,1
    - Dst: DICT_MC_SKIP
      Src: /src/postfix/postfix/src/global/dict_memcache.c:347,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_memcache.c:349,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - dict_mc
    - name
    - operation
    argTypes:
    - DICT_MC*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 350
    functionName: dict_memcache_valid_key
    functionSourceFile: /src/postfix/postfix/src/global/dict_memcache.c
    functionUses: 0
    functionsReached:
    - DICT_MC_SKIP
    - db_common_check_domain
    - isspace
    - isascii
    - dict_memcache_prepare_key
    - DICT_ERR_VAL_RETURN
    - STR
    linkageType: ''
    returnType: int
    signature: "int dict_memcache_valid_key(DICT_MC *dict_mc,\n\t\t\t\t           const
      char *name,\n\t\t\t\t           const char *operation,\n\t\t\t\t        void
      (*log_func) (const char *,...))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - why
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: DICT_MC_SKIP
    functionSourceFile: /src/postfix/postfix/src/global/dict_memcache.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_MC_SKIP(why)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dict_memcache_valid_key
      Src: /src/postfix/postfix/src/global/dict_memcache.c:366,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_memcache.c:367,1
    - Dst: dict_memcache_set
      Src: /src/postfix/postfix/src/global/dict_memcache.c:372,1
    - Dst: DICT*::update
      Src: /src/postfix/postfix/src/global/dict_memcache.c:379,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_memcache.c:383,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_memcache.c:384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - dict
    - name
    - value
    argTypes:
    - DICT*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 354
    functionDepth: 4
    functionLinenumber: 354
    functionLinenumberEnd: 389
    functionName: dict_memcache_update
    functionSourceFile: /src/postfix/postfix/src/global/dict_memcache.c
    functionUses: 0
    functionsReached:
    - msg_info
    - dict_memcache_set
    - DICT*::update
    - dict_memcache_valid_key
    - DICT_ERR_VAL_RETURN
    - STR
    linkageType: ''
    returnType: int
    signature: "int dict_memcache_update(DICT *dict, const char *name,\n\t\t\t\t        const
      char *value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dict_memcache_valid_key
      Src: /src/postfix/postfix/src/global/dict_memcache.c:404,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_memcache.c:405,1
    - Dst: dict_memcache_get
      Src: /src/postfix/postfix/src/global/dict_memcache.c:410,1
    - Dst: DICT*::lookup
      Src: /src/postfix/postfix/src/global/dict_memcache.c:420,1
    - Dst: dict_memcache_set
      Src: /src/postfix/postfix/src/global/dict_memcache.c:424,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_memcache.c:428,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_memcache.c:429,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - dict
    - name
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 393
    functionDepth: 4
    functionLinenumber: 393
    functionLinenumberEnd: 434
    functionName: dict_memcache_lookup
    functionSourceFile: /src/postfix/postfix/src/global/dict_memcache.c
    functionUses: 0
    functionsReached:
    - msg_info
    - dict_memcache_set
    - dict_memcache_valid_key
    - dict_memcache_get
    - DICT*::lookup
    - DICT_ERR_VAL_RETURN
    - STR
    linkageType: ''
    returnType: char
    signature: char *dict_memcache_lookup(DICT *dict, const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dict_memcache_valid_key
      Src: /src/postfix/postfix/src/global/dict_memcache.c:449,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_memcache.c:450,1
    - Dst: dict_memcache_del
      Src: /src/postfix/postfix/src/global/dict_memcache.c:456,1
    - Dst: DICT*::delete
      Src: /src/postfix/postfix/src/global/dict_memcache.c:463,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_memcache.c:467,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/dict_memcache.c:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - dict
    - name
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 438
    functionDepth: 4
    functionLinenumber: 438
    functionLinenumberEnd: 473
    functionName: dict_memcache_delete
    functionSourceFile: /src/postfix/postfix/src/global/dict_memcache.c
    functionUses: 0
    functionsReached:
    - msg_info
    - dict_memcache_valid_key
    - DICT*::delete
    - dict_memcache_del
    - DICT_ERR_VAL_RETURN
    - STR
    linkageType: ''
    returnType: int
    signature: int dict_memcache_delete(DICT *dict, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_memcache.c:486,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_memcache.c:488,1
    - Dst: DICT*::sequence
      Src: /src/postfix/postfix/src/global/dict_memcache.c:490,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_memcache.c:492,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_memcache.c:496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - dict
    - function
    - key
    - value
    argTypes:
    - DICT*
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 498
    functionName: dict_memcache_sequence
    functionSourceFile: /src/postfix/postfix/src/global/dict_memcache.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - DICT*::sequence
    - DICT_ERR_VAL_RETURN
    - msg_info
    linkageType: ''
    returnType: int
    signature: "int dict_memcache_sequence(DICT *dict, int function, const char **key,\n\t\t\t\t
      \         const char **value)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parser_free
      Src: /src/postfix/postfix/src/global/dict_memcache.c:506,1
    - Dst: db_common_free_ctx
      Src: /src/postfix/postfix/src/global/dict_memcache.c:507,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_memcache.c:509,1
    - Dst: ossl_digest_free
      Src: /src/postfix/postfix/src/global/dict_memcache.c:512,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/dict_memcache.c:514,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_memcache.c:517,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_memcache.c:518,1
    - Dst: auto_clnt_free
      Src: /src/postfix/postfix/src/global/dict_memcache.c:519,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/dict_memcache.c:520,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/dict_memcache.c:521,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/dict_memcache.c:522,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/dict_memcache.c:524,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/global/dict_memcache.c:526,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/global/dict_memcache.c:527,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 528
    functionName: dict_memcache_close
    functionSourceFile: /src/postfix/postfix/src/global/dict_memcache.c
    functionUses: 0
    functionsReached:
    - ossl_digest_free
    - db_common_free_ctx
    - dict_free
    - cfg_parser_free
    - myfree
    - dict_close
    - auto_clnt_free
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_memcache_close(DICT *dict)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/global/dict_memcache.c:542,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/global/dict_memcache.c:547,1
    - Dst: cfg_parser_alloc
      Src: /src/postfix/postfix/src/global/dict_memcache.c:554,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/global/dict_memcache.c:555,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/global/dict_memcache.c:561,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dict_memcache.c:571,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dict_memcache.c:572,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_memcache.c:578,1
    - Dst: ossl_digest_new
      Src: /src/postfix/postfix/src/global/dict_memcache.c:582,1
    - Dst: ossl_digest_log_errors
      Src: /src/postfix/postfix/src/global/dict_memcache.c:584,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dict_memcache.c:585,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_memcache.c:591,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_memcache.c:593,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_memcache.c:595,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_memcache.c:597,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_memcache.c:599,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_memcache.c:601,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_memcache.c:603,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_memcache.c:605,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_memcache.c:607,1
    - Dst: auto_clnt_create
      Src: /src/postfix/postfix/src/global/dict_memcache.c:613,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dict_memcache.c:614,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_memcache.c:619,1
    - Dst: dict_open
      Src: /src/postfix/postfix/src/global/dict_memcache.c:622,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_memcache.c:623,1
    - Dst: db_common_parse
      Src: /src/postfix/postfix/src/global/dict_memcache.c:632,1
    - Dst: db_common_parse_domain
      Src: /src/postfix/postfix/src/global/dict_memcache.c:634,1
    - Dst: db_common_dict_partial
      Src: /src/postfix/postfix/src/global/dict_memcache.c:635,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/global/dict_memcache.c:646,1
    - Dst: dict_memcache_close
      Src: /src/postfix/postfix/src/global/dict_memcache.c:651,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/global/dict_memcache.c:656,1
    - Dst: dict_memcache_close
      Src: /src/postfix/postfix/src/global/dict_memcache.c:661,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 3
    argNames:
    - name
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 532
    functionDepth: 3
    functionLinenumber: 532
    functionLinenumberEnd: 666
    functionName: dict_memcache_open
    functionSourceFile: /src/postfix/postfix/src/global/dict_memcache.c
    functionUses: 0
    functionsReached:
    - db_common_dict_partial
    - dict_open
    - ossl_digest_log_errors
    - vstring_alloc
    - myfree
    - cfg_parser_alloc
    - dict_surrogate
    - auto_clnt_create
    - db_common_parse_domain
    - dict_memcache_close
    - dict_alloc
    - db_common_parse
    - ossl_digest_new
    - cfg_get_str
    - cfg_get_int
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_memcache_open(const char *name, int open_flags, int dict_flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mail_conf_lookup_eval
      Src: /src/postfix/postfix/src/global/mail_conf_int.c:118,1
    - Dst: strtol
      Src: /src/postfix/postfix/src/global/mail_conf_int.c:120,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_conf_int.c:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - name
    - intval
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 126
    functionName: convert_mail_conf_int
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_int.c
    functionUses: 0
    functionsReached:
    - strtol
    - msg_fatal
    - mail_conf_lookup_eval
    linkageType: ''
    returnType: int
    signature: int convert_mail_conf_int(const char *name, int *intval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_conf_int.c:133,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_conf_int.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - name
    - intval
    - min
    - max
    argTypes:
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: check_mail_conf_int
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_int.c
    functionUses: 1
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void check_mail_conf_int(const char *name, int intval, int min, int
      max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: convert_mail_conf_int
      Src: /src/postfix/postfix/src/global/mail_conf_int.c:144,1
    - Dst: set_mail_conf_int
      Src: /src/postfix/postfix/src/global/mail_conf_int.c:145,1
    - Dst: check_mail_conf_int
      Src: /src/postfix/postfix/src/global/mail_conf_int.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - name
    - defval
    - min
    - max
    argTypes:
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: get_mail_conf_int
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_int.c
    functionUses: 0
    functionsReached:
    - set_mail_conf_int
    - convert_mail_conf_int
    - check_mail_conf_int
    linkageType: ''
    returnType: int
    signature: int get_mail_conf_int(const char *name, int defval, int min, int max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/mail_conf_int.c:158,1
    - Dst: convert_mail_conf_int
      Src: /src/postfix/postfix/src/global/mail_conf_int.c:159,1
    - Dst: set_mail_conf_int
      Src: /src/postfix/postfix/src/global/mail_conf_int.c:160,1
    - Dst: check_mail_conf_int
      Src: /src/postfix/postfix/src/global/mail_conf_int.c:161,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_conf_int.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - name1
    - name2
    - defval
    - min
    - max
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: get_mail_conf_int2
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_int.c
    functionUses: 0
    functionsReached:
    - convert_mail_conf_int
    - myfree
    - set_mail_conf_int
    - check_mail_conf_int
    - concatenate
    linkageType: ''
    returnType: int
    signature: "int get_mail_conf_int2(const char *name1, const char *name2, int defval,\n\t\t\t
      \          int min, int max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: convert_mail_conf_int
      Src: /src/postfix/postfix/src/global/mail_conf_int.c:175,1
    - Dst: set_mail_conf_int
      Src: /src/postfix/postfix/src/global/mail_conf_int.c:176,1
    - Dst: defval
      Src: /src/postfix/postfix/src/global/mail_conf_int.c:176,1
    - Dst: check_mail_conf_int
      Src: /src/postfix/postfix/src/global/mail_conf_int.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - name
    - defval
    - min
    - max
    argTypes:
    - char*
    - stupid_indent_int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: get_mail_conf_int_fn
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_int.c
    functionUses: 0
    functionsReached:
    - set_mail_conf_int
    - convert_mail_conf_int
    - defval
    - check_mail_conf_int
    linkageType: ''
    returnType: int
    signature: "int get_mail_conf_int_fn(const char *name, stupid_indent_int defval,\n\t\t\t
      \            int min, int max)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/postfix/postfix/src/global/mail_conf_int.c:191,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_conf_int.c:193,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_conf_int.c:195,1
    - Dst: sprintf
      Src: /src/postfix/postfix/src/global/mail_conf_int.c:198,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/global/mail_conf_int.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 201
    functionName: set_mail_conf_int
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_int.c
    functionUses: 4
    functionsReached:
    - msg_panic
    - snprintf
    - sprintf
    - mail_conf_update
    linkageType: ''
    returnType: void
    signature: void set_mail_conf_int(const char *name, int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_mail_conf_int
      Src: /src/postfix/postfix/src/global/mail_conf_int.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - table
    argTypes:
    - CONFIG_INT_TABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 4
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: get_mail_conf_int_table
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_int.c
    functionUses: 2
    functionsReached:
    - get_mail_conf_int
    linkageType: ''
    returnType: void
    signature: void get_mail_conf_int_table(const CONFIG_INT_TABLE *table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_mail_conf_int_fn
      Src: /src/postfix/postfix/src/global/mail_conf_int.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - table
    argTypes:
    - CONFIG_INT_FN_TABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 216
    functionDepth: 4
    functionLinenumber: 216
    functionLinenumberEnd: 223
    functionName: get_mail_conf_int_fn_table
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_int.c
    functionUses: 0
    functionsReached:
    - get_mail_conf_int_fn
    linkageType: ''
    returnType: void
    signature: void get_mail_conf_int_fn_table(const CONFIG_INT_FN_TABLE *table)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/tok822_rewrite.c:45,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/tok822_rewrite.c:46,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/tok822_rewrite.c:49,1
    - Dst: tok822_externalize
      Src: /src/postfix/postfix/src/global/tok822_rewrite.c:56,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/tok822_rewrite.c:58,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/tok822_rewrite.c:58,1
    - Dst: rewrite_clnt
      Src: /src/postfix/postfix/src/global/tok822_rewrite.c:59,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/tok822_rewrite.c:59,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/tok822_rewrite.c:61,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/tok822_rewrite.c:61,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/global/tok822_rewrite.c:62,1
    - Dst: tok822_scan
      Src: /src/postfix/postfix/src/global/tok822_rewrite.c:63,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/tok822_rewrite.c:63,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/tok822_rewrite.c:65,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/tok822_rewrite.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - addr
    - how
    argTypes:
    - TOK822*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 68
    functionName: tok822_rewrite
    functionSourceFile: /src/postfix/postfix/src/global/tok822_rewrite.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - rewrite_clnt
    - vstring_alloc
    - tok822_scan
    - msg_info
    - tok822_externalize
    - vstring_str
    - tok822_free_tree
    - vstring_free
    linkageType: ''
    returnType: TOK822
    signature: TOK822 *tok822_rewrite(TOK822 *addr, const char *how)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_fn
      Src: /src/postfix/postfix/src/global/msg_stats_print.c:65,1
    - Dst: SEND_ATTR_DATA
      Src: /src/postfix/postfix/src/global/msg_stats_print.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - print_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_PRINT_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 69
    functionName: msg_stats_print
    functionSourceFile: /src/postfix/postfix/src/global/msg_stats_print.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_DATA
    - print_fn
    linkageType: ''
    returnType: int
    signature: "int msg_stats_print(ATTR_PRINT_COMMON_FN print_fn, VSTREAM *fp,\n\t\t\t
      \       int flags, const void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: CA_MAIL_STREAM_CTL_QUEUE
    functionSourceFile: /src/postfix/postfix/src/global/mail_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_MAIL_STREAM_CTL_QUEUE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: CA_MAIL_STREAM_CTL_CLASS
    functionSourceFile: /src/postfix/postfix/src/global/mail_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_MAIL_STREAM_CTL_CLASS(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: CA_MAIL_STREAM_CTL_SERVICE
    functionSourceFile: /src/postfix/postfix/src/global/mail_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_MAIL_STREAM_CTL_SERVICE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: CA_MAIL_STREAM_CTL_MODE
    functionSourceFile: /src/postfix/postfix/src/global/mail_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_MAIL_STREAM_CTL_MODE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: CA_MAIL_STREAM_CTL_DELAY
    functionSourceFile: /src/postfix/postfix/src/global/mail_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_MAIL_STREAM_CTL_DELAY(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scan_fn
      Src: /src/postfix/postfix/src/global/dsb_scan.c:63,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/dsb_scan.c:64,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/dsb_scan.c:65,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/dsb_scan.c:66,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/dsb_scan.c:67,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/dsb_scan.c:68,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/dsb_scan.c:69,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/dsb_scan.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - scan_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_SCAN_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 73
    functionName: dsb_scan
    functionSourceFile: /src/postfix/postfix/src/global/dsb_scan.c
    functionUses: 0
    functionsReached:
    - scan_fn
    - RECV_ATTR_STR
    linkageType: ''
    returnType: int
    signature: "int dsb_scan(ATTR_SCAN_COMMON_FN scan_fn, VSTREAM *fp,\n\t\t         int
      flags, void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mail_trigger
      Src: /src/postfix/postfix/src/global/mail_flush.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: mail_flush_deferred
    functionSourceFile: /src/postfix/postfix/src/global/mail_flush.c
    functionUses: 0
    functionsReached:
    - mail_trigger
    linkageType: ''
    returnType: int
    signature: int mail_flush_deferred(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mail_trigger
      Src: /src/postfix/postfix/src/global/mail_flush.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: mail_flush_maildrop
    functionSourceFile: /src/postfix/postfix/src/global/mail_flush.c
    functionUses: 0
    functionsReached:
    - mail_trigger
    linkageType: ''
    returnType: int
    signature: int mail_flush_maildrop(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mail_conf_lookup_eval
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:114,1
    - Dst: strtol
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:116,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - name
    - intval
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionName: convert_mail_conf_nint
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_nint.c
    functionUses: 0
    functionsReached:
    - strtol
    - msg_fatal
    - mail_conf_lookup_eval
    linkageType: ''
    returnType: int
    signature: int convert_mail_conf_nint(const char *name, int *intval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:129,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - name
    - intval
    - min
    - max
    argTypes:
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: check_mail_conf_nint
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_nint.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void check_mail_conf_nint(const char *name, int intval, int min, int
      max)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: convert_mail_conf_nint
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:140,1
    - Dst: set_mail_conf_nint
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:141,1
    - Dst: convert_mail_conf_nint
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:142,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:143,1
    - Dst: check_mail_conf_nint
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - name
    - defval
    - min
    - max
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: get_mail_conf_nint
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_nint.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - convert_mail_conf_nint
    - check_mail_conf_nint
    - set_mail_conf_nint
    linkageType: ''
    returnType: int
    signature: int get_mail_conf_nint(const char *name, const char *defval, int min,
      int max)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:156,1
    - Dst: convert_mail_conf_nint
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:157,1
    - Dst: set_mail_conf_nint_int
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:158,1
    - Dst: convert_mail_conf_nint
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:159,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:160,1
    - Dst: check_mail_conf_nint
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:161,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - name1
    - name2
    - defval
    - min
    - max
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: get_mail_conf_nint2
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_nint.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - convert_mail_conf_nint
    - check_mail_conf_nint
    - myfree
    - set_mail_conf_nint_int
    - concatenate
    linkageType: ''
    returnType: int
    signature: "int get_mail_conf_nint2(const char *name1, const char *name2, int
      defval,\n\t\t\t            int min, int max)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: convert_mail_conf_nint
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:175,1
    - Dst: set_mail_conf_nint
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:176,1
    - Dst: defval
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:176,1
    - Dst: convert_mail_conf_nint
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:177,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:178,1
    - Dst: check_mail_conf_nint
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - name
    - defval
    - min
    - max
    argTypes:
    - char*
    - stupid_indent_int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 181
    functionName: get_mail_conf_nint_fn
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_nint.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - convert_mail_conf_nint
    - check_mail_conf_nint
    - defval
    - set_mail_conf_nint
    linkageType: ''
    returnType: int
    signature: "int get_mail_conf_nint_fn(const char *name, stupid_indent_int defval,\n\t\t\t
      \             int min, int max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: set_mail_conf_nint
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_nint.c
    functionUses: 2
    functionsReached:
    - mail_conf_update
    linkageType: ''
    returnType: void
    signature: void set_mail_conf_nint(const char *name, const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:200,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:202,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:204,1
    - Dst: sprintf
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:207,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 210
    functionName: set_mail_conf_nint_int
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_nint.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - snprintf
    - sprintf
    - mail_conf_update
    linkageType: ''
    returnType: void
    signature: void set_mail_conf_nint_int(const char *name, int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_mail_conf_nint
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - table
    argTypes:
    - CONFIG_NINT_TABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 4
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: get_mail_conf_nint_table
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_nint.c
    functionUses: 0
    functionsReached:
    - get_mail_conf_nint
    linkageType: ''
    returnType: void
    signature: void get_mail_conf_nint_table(const CONFIG_NINT_TABLE *table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_mail_conf_nint_fn
      Src: /src/postfix/postfix/src/global/mail_conf_nint.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - table
    argTypes:
    - CONFIG_NINT_FN_TABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 4
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: get_mail_conf_nint_fn_table
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_nint.c
    functionUses: 0
    functionsReached:
    - get_mail_conf_nint_fn
    linkageType: ''
    returnType: void
    signature: void get_mail_conf_nint_fn_table(const CONFIG_NINT_FN_TABLE *table)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - ptr
    - ','
    - state
    - ','
    - ctype
    - ','
    - stype
    - ','
    - encoding
    - ','
    - domain
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 359
    functionName: SET_MIME_STATE
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_MIME_STATE(ptr, state, ctype, stype, encoding, domain)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 367
    functionName: SET_CURR_STATE
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_CURR_STATE(ptr, state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 402
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 135
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 403
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 403
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 404
    functionName: END
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: END(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 405
    functionName: CU_CHAR_PTR
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_CHAR_PTR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - state
    - ','
    - err_type
    - ','
    - text
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 413
    functionName: REPORT_ERROR_LEN
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPORT_ERROR_LEN(state, err_type, text, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - state
    - ','
    - err_type
    - ','
    - text
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 419
    functionName: REPORT_ERROR
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPORT_ERROR(state, err_type, text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - state
    - ','
    - err_type
    - ','
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: REPORT_ERROR_BUF
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPORT_ERROR_BUF(state, err_type, buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - info
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 435
    functionName: HEAD_OUT
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HEAD_OUT(ptr, info, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ptr
    - ','
    - rec_type
    - ','
    - text
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 443
    functionName: BODY_OUT
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BODY_OUT(ptr, rec_type, text, len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/mime_state.c:463,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/mime_state.c:466,1
    - Dst: mystrndup
      Src: /src/postfix/postfix/src/global/mime_state.c:468,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/mime_state.c:472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - state
    - def_ctype
    - def_stype
    - boundary
    argTypes:
    - MIME_STATE*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 473
    functionName: mime_state_push
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - mystrndup
    - strlen
    - msg_info
    linkageType: ''
    returnType: void
    signature: "void mime_state_push(MIME_STATE *state, int def_ctype, int def_stype,\n\t\t\t
      \           const char *boundary)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mime_state.c:482,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/mime_state.c:484,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mime_state.c:487,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mime_state.c:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - MIME_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 489
    functionName: mime_state_pop
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - myfree
    - msg_info
    linkageType: ''
    returnType: void
    signature: void mime_state_pop(MIME_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/mime_state.c:503,1
    - Dst: SET_MIME_STATE
      Src: /src/postfix/postfix/src/global/mime_state.c:508,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mime_state.c:511,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mime_state.c:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 7
    argNames:
    - flags
    - head_out
    - head_end
    - body_out
    - body_end
    - err_print
    - context
    argTypes:
    - int
    - MIME_STATE_HEAD_OUT
    - MIME_STATE_ANY_END
    - MIME_STATE_BODY_OUT
    - MIME_STATE_ANY_END
    - MIME_STATE_ERR_PRINT
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 526
    functionName: mime_state_alloc
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 2
    functionsReached:
    - mymalloc
    - SET_MIME_STATE
    - vstring_alloc
    linkageType: ''
    returnType: MIME_STATE
    signature: "MIME_STATE *mime_state_alloc(int flags,\n\t\t\t             MIME_STATE_HEAD_OUT
      head_out,\n\t\t\t             MIME_STATE_ANY_END head_end,\n\t\t\t             MIME_STATE_BODY_OUT
      body_out,\n\t\t\t             MIME_STATE_ANY_END body_end,\n\t\t\t             MIME_STATE_ERR_PRINT
      err_print,\n\t\t\t             void *context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/mime_state.c:532,1
    - Dst: mime_state_pop
      Src: /src/postfix/postfix/src/global/mime_state.c:534,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/mime_state.c:536,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mime_state.c:537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - MIME_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 539
    functionName: mime_state_free
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 2
    functionsReached:
    - myfree
    - vstring_free
    - mime_state_pop
    linkageType: ''
    returnType: MIME_STATE
    signature: MIME_STATE *mime_state_free(MIME_STATE *state)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mime_state.c:560,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/mime_state.c:560,1
    - Dst: PARSE_CONTENT_TYPE_HEADER
      Src: /src/postfix/postfix/src/global/mime_state.c:561,1
    - Dst: TOKEN_MATCH
      Src: /src/postfix/postfix/src/global/mime_state.c:568,1
    - Dst: TOKEN_MATCH
      Src: /src/postfix/postfix/src/global/mime_state.c:572,1
    - Dst: TOKEN_MATCH
      Src: /src/postfix/postfix/src/global/mime_state.c:585,1
    - Dst: TOKEN_MATCH
      Src: /src/postfix/postfix/src/global/mime_state.c:590,1
    - Dst: TOKEN_MATCH
      Src: /src/postfix/postfix/src/global/mime_state.c:592,1
    - Dst: TOKEN_MATCH
      Src: /src/postfix/postfix/src/global/mime_state.c:594,1
    - Dst: TOKEN_MATCH
      Src: /src/postfix/postfix/src/global/mime_state.c:596,1
    - Dst: TOKEN_MATCH
      Src: /src/postfix/postfix/src/global/mime_state.c:606,1
    - Dst: TOKEN_MATCH
      Src: /src/postfix/postfix/src/global/mime_state.c:610,1
    - Dst: PARSE_CONTENT_TYPE_HEADER
      Src: /src/postfix/postfix/src/global/mime_state.c:627,1
    - Dst: TOKEN_MATCH
      Src: /src/postfix/postfix/src/global/mime_state.c:629,1
    - Dst: REPORT_ERROR_BUF
      Src: /src/postfix/postfix/src/global/mime_state.c:633,1
    - Dst: mime_state_push
      Src: /src/postfix/postfix/src/global/mime_state.c:636,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 50
    argCount: 2
    argNames:
    - state
    - header_info
    argTypes:
    - MIME_STATE*
    - HEADER_OPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 543
    functionDepth: 2
    functionLinenumber: 543
    functionLinenumberEnd: 652
    functionName: mime_state_content_type
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 0
    functionsReached:
    - REPORT_ERROR_BUF
    - strlen
    - TOKEN_MATCH
    - mime_state_push
    - PARSE_CONTENT_TYPE_HEADER
    - STR
    linkageType: ''
    returnType: void
    signature: "void mime_state_content_type(MIME_STATE *state,\n\t\t\t\t            const
      HEADER_OPTS *header_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tok
    - ','
    - text
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 553
    functionName: TOKEN_MATCH
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOKEN_MATCH(tok, text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 559
    functionName: PARSE_CONTENT_TYPE_HEADER
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_CONTENT_TYPE_HEADER(state, ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mime_state.c:670,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/mime_state.c:670,1
    - Dst: PARSE_CONTENT_ENCODING_HEADER
      Src: /src/postfix/postfix/src/global/mime_state.c:671,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/global/mime_state.c:674,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - state
    - header_info
    argTypes:
    - MIME_STATE*
    - HEADER_OPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 681
    functionName: mime_state_content_encoding
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - PARSE_CONTENT_ENCODING_HEADER
    - strlen
    - STR
    linkageType: ''
    returnType: void
    signature: "void mime_state_content_encoding(MIME_STATE *state,\n\t\t\t\t             const
      HEADER_OPTS *header_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 664
    functionName: PARSE_CONTENT_ENCODING_HEADER
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_CONTENT_ENCODING_HEADER(state, ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - encoding
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 693
    functionName: mime_state_enc_name
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *mime_state_enc_name(int encoding)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CU_CHAR_PTR
      Src: /src/postfix/postfix/src/global/mime_state.c:714,1
    - Dst: CU_CHAR_PTR
      Src: /src/postfix/postfix/src/global/mime_state.c:714,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/mime_state.c:716,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/mime_state.c:717,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/mime_state.c:718,1
    - Dst: BODY_OUT
      Src: /src/postfix/postfix/src/global/mime_state.c:719,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mime_state.c:720,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/mime_state.c:721,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/mime_state.c:722,1
    - Dst: QP_ENCODE
      Src: /src/postfix/postfix/src/global/mime_state.c:727,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/mime_state.c:729,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/mime_state.c:739,1
    - Dst: END
      Src: /src/postfix/postfix/src/global/mime_state.c:740,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/global/mime_state.c:741,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/mime_state.c:742,1
    - Dst: QP_ENCODE
      Src: /src/postfix/postfix/src/global/mime_state.c:743,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/mime_state.c:745,1
    - Dst: BODY_OUT
      Src: /src/postfix/postfix/src/global/mime_state.c:746,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mime_state.c:747,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/mime_state.c:748,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/mime_state.c:749,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - state
    - rec_type
    - text
    - len
    argTypes:
    - MIME_STATE*
    - int
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 751
    functionName: mime_state_downgrade
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 0
    functionsReached:
    - BODY_OUT
    - VSTRING_ADDCH
    - vstring_truncate
    - CU_CHAR_PTR
    - END
    - LEN
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - QP_ENCODE
    - STR
    linkageType: ''
    returnType: void
    signature: "void mime_state_downgrade(MIME_STATE *state, int rec_type,\n\t\t\t\t
      \        const char *text, ssize_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buffer
    - ','
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 709
    functionName: QP_ENCODE
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QP_ENCODE(buffer, ch)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: mime_state_update
      Src: /src/postfix/postfix/src/global/mime_state.c:774,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/mime_state.c:795,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/mime_state.c:798,1
    - Dst: vstring_strncat
      Src: /src/postfix/postfix/src/global/mime_state.c:799,1
    - Dst: REPORT_ERROR_BUF
      Src: /src/postfix/postfix/src/global/mime_state.c:802,1
    - Dst: SAVE_PREV_REC_TYPE_AND_RETURN_ERR_FLAGS
      Src: /src/postfix/postfix/src/global/mime_state.c:805,1
    - Dst: IS_SPACE_TAB
      Src: /src/postfix/postfix/src/global/mime_state.c:807,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/mime_state.c:808,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/mime_state.c:809,1
    - Dst: vstring_strncat
      Src: /src/postfix/postfix/src/global/mime_state.c:810,1
    - Dst: REPORT_ERROR_BUF
      Src: /src/postfix/postfix/src/global/mime_state.c:813,1
    - Dst: SAVE_PREV_REC_TYPE_AND_RETURN_ERR_FLAGS
      Src: /src/postfix/postfix/src/global/mime_state.c:816,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/mime_state.c:830,1
    - Dst: header_opts_find
      Src: /src/postfix/postfix/src/global/mime_state.c:831,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mime_state.c:831,1
    - Dst: mime_state_content_type
      Src: /src/postfix/postfix/src/global/mime_state.c:835,1
    - Dst: mime_state_content_encoding
      Src: /src/postfix/postfix/src/global/mime_state.c:837,1
    - Dst: CU_CHAR_PTR
      Src: /src/postfix/postfix/src/global/mime_state.c:841,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mime_state.c:841,1
    - Dst: CU_CHAR_PTR
      Src: /src/postfix/postfix/src/global/mime_state.c:842,1
    - Dst: END
      Src: /src/postfix/postfix/src/global/mime_state.c:842,1
    - Dst: REPORT_ERROR_BUF
      Src: /src/postfix/postfix/src/global/mime_state.c:844,1
    - Dst: HEAD_OUT
      Src: /src/postfix/postfix/src/global/mime_state.c:854,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/mime_state.c:856,1
    - Dst: is_header_buf
      Src: /src/postfix/postfix/src/global/mime_state.c:875,1
    - Dst: vstring_strncpy
      Src: /src/postfix/postfix/src/global/mime_state.c:876,1
    - Dst: IS_SPACE_TAB
      Src: /src/postfix/postfix/src/global/mime_state.c:878,1
    - Dst: vstring_strncat
      Src: /src/postfix/postfix/src/global/mime_state.c:881,1
    - Dst: SAVE_PREV_REC_TYPE_AND_RETURN_ERR_FLAGS
      Src: /src/postfix/postfix/src/global/mime_state.c:882,1
    - Dst: CU_CHAR_PTR
      Src: /src/postfix/postfix/src/global/mime_state.c:905,1
    - Dst: CU_CHAR_PTR
      Src: /src/postfix/postfix/src/global/mime_state.c:907,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/mime_state.c:908,1
    - Dst: HEAD_OUT
      Src: /src/postfix/postfix/src/global/mime_state.c:910,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/mime_state.c:911,1
    - Dst: MIME_STATE*::head_end
      Src: /src/postfix/postfix/src/global/mime_state.c:919,1
    - Dst: REPORT_ERROR
      Src: /src/postfix/postfix/src/global/mime_state.c:931,1
    - Dst: mime_state_enc_name
      Src: /src/postfix/postfix/src/global/mime_state.c:932,1
    - Dst: REPORT_ERROR
      Src: /src/postfix/postfix/src/global/mime_state.c:937,1
    - Dst: mime_state_enc_name
      Src: /src/postfix/postfix/src/global/mime_state.c:938,1
    - Dst: REPORT_ERROR
      Src: /src/postfix/postfix/src/global/mime_state.c:942,1
    - Dst: mime_state_enc_name
      Src: /src/postfix/postfix/src/global/mime_state.c:943,1
    - Dst: SET_MIME_STATE
      Src: /src/postfix/postfix/src/global/mime_state.c:972,1
    - Dst: SET_MIME_STATE
      Src: /src/postfix/postfix/src/global/mime_state.c:979,1
    - Dst: SET_CURR_STATE
      Src: /src/postfix/postfix/src/global/mime_state.c:983,1
    - Dst: SET_MIME_STATE
      Src: /src/postfix/postfix/src/global/mime_state.c:985,1
    - Dst: SET_CURR_STATE
      Src: /src/postfix/postfix/src/global/mime_state.c:989,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/mime_state.c:1015,1
    - Dst: BODY_OUT
      Src: /src/postfix/postfix/src/global/mime_state.c:1022,1
    - Dst: SET_CURR_STATE
      Src: /src/postfix/postfix/src/global/mime_state.c:1023,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/global/mime_state.c:1030,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/global/mime_state.c:1031,1
    - Dst: SET_CURR_STATE
      Src: /src/postfix/postfix/src/global/mime_state.c:1036,1
    - Dst: SET_CURR_STATE
      Src: /src/postfix/postfix/src/global/mime_state.c:1046,1
    - Dst: CU_CHAR_PTR
      Src: /src/postfix/postfix/src/global/mime_state.c:1078,1
    - Dst: CU_CHAR_PTR
      Src: /src/postfix/postfix/src/global/mime_state.c:1078,1
    - Dst: REPORT_ERROR_LEN
      Src: /src/postfix/postfix/src/global/mime_state.c:1080,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/global/mime_state.c:1089,1
    - Dst: mime_state_pop
      Src: /src/postfix/postfix/src/global/mime_state.c:1091,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/global/mime_state.c:1093,1
    - Dst: mime_state_pop
      Src: /src/postfix/postfix/src/global/mime_state.c:1094,1
    - Dst: SET_MIME_STATE
      Src: /src/postfix/postfix/src/global/mime_state.c:1095,1
    - Dst: SET_MIME_STATE
      Src: /src/postfix/postfix/src/global/mime_state.c:1099,1
    - Dst: mime_state_downgrade
      Src: /src/postfix/postfix/src/global/mime_state.c:1110,1
    - Dst: BODY_OUT
      Src: /src/postfix/postfix/src/global/mime_state.c:1112,1
    - Dst: MIME_STATE*::body_end
      Src: /src/postfix/postfix/src/global/mime_state.c:1121,1
    - Dst: SAVE_PREV_REC_TYPE_AND_RETURN_ERR_FLAGS
      Src: /src/postfix/postfix/src/global/mime_state.c:1123,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mime_state.c:1129,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 154
    argCount: 4
    argNames:
    - state
    - rec_type
    - text
    - len
    argTypes:
    - MIME_STATE*
    - int
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 755
    functionDepth: 3
    functionLinenumber: 755
    functionLinenumberEnd: 1131
    functionName: mime_state_update
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 3
    functionsReached:
    - BODY_OUT
    - vstring_sprintf
    - SET_MIME_STATE
    - header_opts_find
    - vstring_strncpy
    - LEN
    - msg_info
    - VSTRING_RESET
    - mime_state_downgrade
    - mime_state_content_encoding
    - mime_state_pop
    - msg_panic
    - SAVE_PREV_REC_TYPE_AND_RETURN_ERR_FLAGS
    - mime_state_content_type
    - CU_CHAR_PTR
    - vstring_strcat
    - is_header_buf
    - SET_CURR_STATE
    - REPORT_ERROR_LEN
    - REPORT_ERROR_BUF
    - MIME_STATE*::head_end
    - IS_SPACE_TAB
    - HEAD_OUT
    - strncmp
    - REPORT_ERROR
    - vstring_strncat
    - mime_state_update
    - END
    - mime_state_enc_name
    - MIME_STATE*::body_end
    - STR
    linkageType: ''
    returnType: int
    signature: "int mime_state_update(MIME_STATE *state, int rec_type,\n\t\t\t          const
      char *text, ssize_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state
    - ','
    - rec_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 768
    functionName: SAVE_PREV_REC_TYPE_AND_RETURN_ERR_FLAGS
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAVE_PREV_REC_TYPE_AND_RETURN_ERR_FLAGS(state, rec_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mime_state.c:1154,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mime_state.c:1158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - error_code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1149
    functionDepth: 1
    functionLinenumber: 1149
    functionLinenumberEnd: 1159
    functionName: mime_state_error
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 1
    functionsReached:
    - msg_panic
    linkageType: ''
    returnType: char
    signature: char *mime_state_error(int error_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mime_state.c:1168,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mime_state.c:1172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - error_code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1173
    functionName: mime_state_detail
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 0
    functionsReached:
    - msg_panic
    linkageType: ''
    returnType: MIME_STATE_DETAIL
    signature: MIME_STATE_DETAIL *mime_state_detail(int error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/global/mime_state.c:1196,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mime_state.c:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - context
    - class
    - unused_info
    - buf
    - offset
    argTypes:
    - void*
    - int
    - HEADER_OPTS*
    - VSTRING*
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1191
    functionDepth: 1
    functionLinenumber: 1191
    functionLinenumberEnd: 1201
    functionName: head_out
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 0
    functionsReached:
    - vstream_fprintf
    - STR
    linkageType: ''
    returnType: void
    signature: "void head_out(void *context, int class, const HEADER_OPTS *unused_info,\n\t\t
      \            VSTRING *buf, off_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/global/mime_state.c:1207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1203
    functionDepth: 1
    functionLinenumber: 1203
    functionLinenumberEnd: 1208
    functionName: head_end
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 1
    functionsReached:
    - vstream_fprintf
    linkageType: ''
    returnType: void
    signature: void head_end(void *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/global/mime_state.c:1215,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/global/mime_state.c:1216,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/global/mime_state.c:1218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - context
    - rec_type
    - buf
    - len
    - offset
    argTypes:
    - void*
    - int
    - char*
    - ssize_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1210
    functionDepth: 1
    functionLinenumber: 1210
    functionLinenumberEnd: 1219
    functionName: body_out
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 0
    functionsReached:
    - vstream_fwrite
    - vstream_fprintf
    - VSTREAM_PUTC
    linkageType: ''
    returnType: void
    signature: "void body_out(void *context, int rec_type, const char *buf, ssize_t
      len,\n\t\t             off_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/global/mime_state.c:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1221
    functionDepth: 1
    functionLinenumber: 1221
    functionLinenumberEnd: 1226
    functionName: body_end
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 1
    functionsReached:
    - vstream_fprintf
    linkageType: ''
    returnType: void
    signature: void body_end(void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mime_state.c:1231,1
    - Dst: mime_state_error
      Src: /src/postfix/postfix/src/global/mime_state.c:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - unused_context
    - err_flag
    - text
    - len
    argTypes:
    - void*
    - int
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1233
    functionName: err_print
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - mime_state_error
    linkageType: ''
    returnType: void
    signature: "void err_print(void *unused_context, int err_flag,\n\t\t              const
      char *text, ssize_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/mime_state.c:1259,1
    - Dst: basename
      Src: /src/postfix/postfix/src/global/mime_state.c:1259,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mime_state.c:1261,1
    - Dst: mime_state_alloc
      Src: /src/postfix/postfix/src/global/mime_state.c:1262,1
    - Dst: rec_streamlf_get
      Src: /src/postfix/postfix/src/global/mime_state.c:1272,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/mime_state.c:1273,1
    - Dst: mime_state_update
      Src: /src/postfix/postfix/src/global/mime_state.c:1274,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mime_state.c:1274,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/mime_state.c:1274,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/mime_state.c:1275,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mime_state.c:1282,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mime_state.c:1284,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mime_state.c:1286,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mime_state.c:1288,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mime_state.c:1290,1
    - Dst: mime_state_free
      Src: /src/postfix/postfix/src/global/mime_state.c:1295,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/mime_state.c:1296,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/mime_state.c:1297,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - unused_argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1240
    functionDepth: 4
    functionLinenumber: 1240
    functionLinenumberEnd: 1298
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/mime_state.c
    functionUses: 13
    functionsReached:
    - mime_state_alloc
    - msg_warn
    - mime_state_update
    - rec_streamlf_get
    - vstream_fflush
    - vstring_alloc
    - basename
    - msg_vstream_init
    - LEN
    - mime_state_free
    - exit
    - VSTRING_TERMINATE
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/postfix/postfix/src/global/match_service.c:92,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/global/match_service.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - argv
    argTypes:
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: match_service_compat
    functionSourceFile: /src/postfix/postfix/src/global/match_service.c
    functionUses: 0
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: void
    signature: void match_service_compat(ARGV *argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/global/match_service.c:102,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/match_service.c:103,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/match_service.c:107,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/global/match_service.c:108,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/global/match_service.c:109,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/match_service.c:110,1
    - Dst: match_service_compat
      Src: /src/postfix/postfix/src/global/match_service.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - patterns
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: match_service_init
    functionSourceFile: /src/postfix/postfix/src/global/match_service.c
    functionUses: 0
    functionsReached:
    - myfree
    - argv_alloc
    - match_service_compat
    - argv_add
    - mystrtok
    - mystrdup
    - argv_terminate
    linkageType: ''
    returnType: ARGV
    signature: ARGV *match_service_init(const char *patterns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/global/match_service.c:119,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/global/match_service.c:123,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/global/match_service.c:124,1
    - Dst: match_service_compat
      Src: /src/postfix/postfix/src/global/match_service.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - patterns
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: match_service_init_argv
    functionSourceFile: /src/postfix/postfix/src/global/match_service.c
    functionUses: 0
    functionsReached:
    - argv_alloc
    - match_service_compat
    - argv_add
    - argv_terminate
    linkageType: ''
    returnType: ARGV
    signature: ARGV *match_service_init_argv(char **patterns)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/postfix/postfix/src/global/match_service.c:148,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/match_service.c:149,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/match_service.c:157,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/global/match_service.c:160,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/match_service.c:160,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/match_service.c:162,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/match_service.c:167,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - list
    - name_type
    argTypes:
    - ARGV*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 169
    functionName: match_service_match
    functionSourceFile: /src/postfix/postfix/src/global/match_service.c
    functionUses: 0
    functionsReached:
    - strrchr
    - msg_panic
    - strchr
    - msg_info
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int match_service_match(ARGV *list, const char *name_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argv_free
      Src: /src/postfix/postfix/src/global/match_service.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: match_service_free
    functionSourceFile: /src/postfix/postfix/src/global/match_service.c
    functionUses: 0
    functionsReached:
    - argv_free
    linkageType: ''
    returnType: void
    signature: void match_service_free(ARGV *list)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/global/defer.c
    functionUses: 141
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dsn_valid
      Src: /src/postfix/postfix/src/global/defer.c:205,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/defer.c:206,1
    - Dst: dsn_filter_lookup
      Src: /src/postfix/postfix/src/global/defer.c:214,1
    - Dst: bounce_append_intern
      Src: /src/postfix/postfix/src/global/defer.c:216,1
    - Dst: defer_append_intern
      Src: /src/postfix/postfix/src/global/defer.c:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 6
    argNames:
    - flags
    - id
    - stats
    - rcpt
    - relay
    - dsn
    argTypes:
    - int
    - char*
    - MSG_STATS*
    - RECIPIENT*
    - char*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 195
    functionDepth: 4
    functionLinenumber: 195
    functionLinenumberEnd: 220
    functionName: defer_append
    functionSourceFile: /src/postfix/postfix/src/global/defer.c
    functionUses: 3
    functionsReached:
    - bounce_append_intern
    - msg_warn
    - dsn_valid
    - defer_append_intern
    - dsn_filter_lookup
    linkageType: ''
    returnType: int
    signature: "int defer_append(int flags, const char *id, MSG_STATS *stats,\n\t\t
      \            RECIPIENT *rcpt, const char *relay,\n\t\t             DSN *dsn)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: verify_append
      Src: /src/postfix/postfix/src/global/defer.c:238,1
    - Dst: trace_append
      Src: /src/postfix/postfix/src/global/defer.c:249,1
    - Dst: mail_command_client
      Src: /src/postfix/postfix/src/global/defer.c:267,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/defer.c:269,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/defer.c:270,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/defer.c:271,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/global/defer.c:272,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/global/defer.c:273,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/defer.c:275,1
    - Dst: log_adhoc
      Src: /src/postfix/postfix/src/global/defer.c:276,1
    - Dst: trace_append
      Src: /src/postfix/postfix/src/global/defer.c:282,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/defer.c:283,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/global/defer.c:289,1
    - Dst: flush_add
      Src: /src/postfix/postfix/src/global/defer.c:291,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/defer.c:296,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 6
    argNames:
    - flags
    - id
    - stats
    - rcpt
    - relay
    - dsn
    argTypes:
    - int
    - char*
    - MSG_STATS*
    - RECIPIENT*
    - char*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 301
    functionName: defer_append_intern
    functionSourceFile: /src/postfix/postfix/src/global/defer.c
    functionUses: 5
    functionsReached:
    - verify_append
    - mail_command_client
    - strrchr
    - msg_warn
    - SEND_ATTR_INT
    - trace_append
    - SEND_ATTR_STR
    - flush_add
    - log_adhoc
    - SEND_ATTR_FUNC
    linkageType: ''
    returnType: int
    signature: "int defer_append_intern(int flags, const char *id, MSG_STATS *stats,\n\t\t\t
      \           RECIPIENT *rcpt, const char *relay,\n\t\t\t            DSN *dsn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mail_command_client
      Src: /src/postfix/postfix/src/global/defer.c:312,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/defer.c:314,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/defer.c:315,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/defer.c:316,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/defer.c:317,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/defer.c:318,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/defer.c:319,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/defer.c:320,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/defer.c:321,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/defer.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 8
    argNames:
    - flags
    - queue
    - id
    - encoding
    - sendopts
    - sender
    - dsn_envid
    - dsn_ret
    argTypes:
    - int
    - char*
    - char*
    - char*
    - int
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 328
    functionName: defer_flush
    functionSourceFile: /src/postfix/postfix/src/global/defer.c
    functionUses: 0
    functionsReached:
    - mail_command_client
    - SEND_ATTR_INT
    - SEND_ATTR_STR
    linkageType: ''
    returnType: int
    signature: "int defer_flush(int flags, const char *queue, const char *id,\n\t\t
      \           const char *encoding, int sendopts,\n\t\t            const char
      *sender, const char *dsn_envid,\n\t\t            int dsn_ret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mail_command_client
      Src: /src/postfix/postfix/src/global/defer.c:337,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/defer.c:339,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/defer.c:340,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/defer.c:341,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/defer.c:342,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/defer.c:343,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/defer.c:344,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/defer.c:345,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/defer.c:346,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/defer.c:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - flags
    - queue
    - id
    - encoding
    - sendopts
    - sender
    - envid
    - dsn_ret
    argTypes:
    - int
    - char*
    - char*
    - char*
    - int
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 353
    functionName: defer_warn
    functionSourceFile: /src/postfix/postfix/src/global/defer.c
    functionUses: 0
    functionsReached:
    - mail_command_client
    - SEND_ATTR_INT
    - SEND_ATTR_STR
    linkageType: ''
    returnType: int
    signature: "int defer_warn(int flags, const char *queue, const char *id,\n\t\t
      \          const char *encoding, int sendopts,\n\t\t         const char *sender,
      const char *envid, int dsn_ret)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dsn_valid
      Src: /src/postfix/postfix/src/global/defer.c:369,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/defer.c:370,1
    - Dst: dsn_filter_lookup
      Src: /src/postfix/postfix/src/global/defer.c:378,1
    - Dst: bounce_one_intern
      Src: /src/postfix/postfix/src/global/defer.c:380,1
    - Dst: defer_append_intern
      Src: /src/postfix/postfix/src/global/defer.c:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 12
    argNames:
    - flags
    - queue
    - id
    - encoding
    - sendopts
    - sender
    - dsn_envid
    - dsn_ret
    - stats
    - rcpt
    - relay
    - dsn
    argTypes:
    - int
    - char*
    - char*
    - char*
    - int
    - char*
    - char*
    - int
    - MSG_STATS*
    - RECIPIENT*
    - char*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 357
    functionDepth: 4
    functionLinenumber: 357
    functionLinenumberEnd: 386
    functionName: defer_one
    functionSourceFile: /src/postfix/postfix/src/global/defer.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - dsn_valid
    - defer_append_intern
    - bounce_one_intern
    - dsn_filter_lookup
    linkageType: ''
    returnType: int
    signature: "int defer_one(int flags, const char *queue, const char *id,\n\t\t
      \         const char *encoding, int sendopts,\n\t\t          const char *sender,
      const char *dsn_envid,\n\t\t          int dsn_ret, MSG_STATS *stats, RECIPIENT
      *rcpt,\n\t\t          const char *relay, DSN *dsn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: SCACHE_SINGLE_ENDP_BUSY
    functionSourceFile: /src/postfix/postfix/src/global/scache_single.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCACHE_SINGLE_ENDP_BUSY(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: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: SCACHE_SINGLE_DEST_BUSY
    functionSourceFile: /src/postfix/postfix/src/global/scache_single.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCACHE_SINGLE_DEST_BUSY(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/scache_single.c
    functionUses: 144
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/scache_single.c:98,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/scache_single.c:98,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/global/scache_single.c:100,1
    - Dst: close
      Src: /src/postfix/postfix/src/global/scache_single.c:101,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/scache_single.c:102,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/scache_single.c:102,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/scache_single.c:103,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/scache_single.c:104,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/scache_single.c:105,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/scache_single.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - sp
    argTypes:
    - SCACHE_SINGLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 108
    functionName: scache_single_free_endp
    functionSourceFile: /src/postfix/postfix/src/global/scache_single.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - close
    - msg_info
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - event_cancel_timer
    - STR
    linkageType: ''
    returnType: void
    signature: void scache_single_free_endp(SCACHE_SINGLE *sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scache_single_free_endp
      Src: /src/postfix/postfix/src/global/scache_single.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: scache_single_expire_endp
    functionSourceFile: /src/postfix/postfix/src/global/scache_single.c
    functionUses: 0
    functionsReached:
    - scache_single_free_endp
    linkageType: ''
    returnType: void
    signature: void scache_single_expire_endp(int unused_event, void *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/scache_single.c:129,1
    - Dst: SCACHE_SINGLE_ENDP_BUSY
      Src: /src/postfix/postfix/src/global/scache_single.c:131,1
    - Dst: scache_single_free_endp
      Src: /src/postfix/postfix/src/global/scache_single.c:132,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/scache_single.c:134,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/scache_single.c:135,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/global/scache_single.c:137,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/scache_single.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - scache
    - endp_ttl
    - endp_label
    - endp_prop
    - fd
    argTypes:
    - SCACHE*
    - int
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 141
    functionName: scache_single_save_endp
    functionSourceFile: /src/postfix/postfix/src/global/scache_single.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - event_request_timer
    - scache_single_free_endp
    - msg_info
    - vstring_strcpy
    - SCACHE_SINGLE_ENDP_BUSY
    linkageType: ''
    returnType: void
    signature: "void scache_single_save_endp(SCACHE *scache, int endp_ttl,\n\t\t\t\t
      \           const char *endp_label,\n\t\t\t\t            const char *endp_prop,
      int fd)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SCACHE_SINGLE_ENDP_BUSY
      Src: /src/postfix/postfix/src/global/scache_single.c:152,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/scache_single.c:154,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/scache_single.c:157,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/scache_single.c:157,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/scache_single.c:158,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/scache_single.c:158,1
    - Dst: scache_single_free_endp
      Src: /src/postfix/postfix/src/global/scache_single.c:161,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/scache_single.c:163,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/scache_single.c:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - scache
    - endp_label
    - endp_prop
    argTypes:
    - SCACHE*
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: scache_single_find_endp
    functionSourceFile: /src/postfix/postfix/src/global/scache_single.c
    functionUses: 0
    functionsReached:
    - scache_single_free_endp
    - msg_info
    - strcmp
    - vstring_strcpy
    - SCACHE_SINGLE_ENDP_BUSY
    - STR
    linkageType: ''
    returnType: int
    signature: "int scache_single_find_endp(SCACHE *scache, const char *endp_label,\n\t\t\t\t
      \          VSTRING *endp_prop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/scache_single.c:178,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/scache_single.c:178,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/scache_single.c:179,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/global/scache_single.c:181,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/scache_single.c:182,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/scache_single.c:183,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/scache_single.c:184,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/scache_single.c:185,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/scache_single.c:186,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/scache_single.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - sp
    argTypes:
    - SCACHE_SINGLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 188
    functionName: scache_single_free_dest
    functionSourceFile: /src/postfix/postfix/src/global/scache_single.c
    functionUses: 0
    functionsReached:
    - msg_info
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - event_cancel_timer
    - STR
    linkageType: ''
    returnType: void
    signature: void scache_single_free_dest(SCACHE_SINGLE *sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scache_single_free_dest
      Src: /src/postfix/postfix/src/global/scache_single.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: scache_single_expire_dest
    functionSourceFile: /src/postfix/postfix/src/global/scache_single.c
    functionUses: 0
    functionsReached:
    - scache_single_free_dest
    linkageType: ''
    returnType: void
    signature: void scache_single_expire_dest(int unused_event, void *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/scache_single.c:211,1
    - Dst: SCACHE_SINGLE_DEST_BUSY
      Src: /src/postfix/postfix/src/global/scache_single.c:217,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/scache_single.c:218,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/scache_single.c:218,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/scache_single.c:219,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/scache_single.c:219,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/scache_single.c:220,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/scache_single.c:220,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/scache_single.c:223,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/scache_single.c:224,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/scache_single.c:225,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/global/scache_single.c:227,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/scache_single.c:230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 5
    argNames:
    - scache
    - dest_ttl
    - dest_label
    - dest_prop
    - endp_label
    argTypes:
    - SCACHE*
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 232
    functionName: scache_single_save_dest
    functionSourceFile: /src/postfix/postfix/src/global/scache_single.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - event_request_timer
    - msg_info
    - strcmp
    - vstring_strcpy
    - SCACHE_SINGLE_DEST_BUSY
    - STR
    linkageType: ''
    returnType: void
    signature: "void scache_single_save_dest(SCACHE *scache, int dest_ttl,\n\t\t\t\t
      \           const char *dest_label,\n\t\t\t\t            const char *dest_prop,\n\t\t\t\t
      \           const char *endp_label)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SCACHE_SINGLE_DEST_BUSY
      Src: /src/postfix/postfix/src/global/scache_single.c:243,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/scache_single.c:245,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/scache_single.c:248,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/scache_single.c:248,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/scache_single.c:250,1
    - Dst: scache_single_find_endp
      Src: /src/postfix/postfix/src/global/scache_single.c:251,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/scache_single.c:251,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/scache_single.c:252,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/scache_single.c:252,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/scache_single.c:257,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - scache
    - dest_label
    - dest_prop
    - endp_prop
    argTypes:
    - SCACHE*
    - char*
    - VSTRING*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 259
    functionName: scache_single_find_dest
    functionSourceFile: /src/postfix/postfix/src/global/scache_single.c
    functionUses: 0
    functionsReached:
    - msg_info
    - strcmp
    - vstring_strcpy
    - SCACHE_SINGLE_DEST_BUSY
    - scache_single_find_endp
    - STR
    linkageType: ''
    returnType: int
    signature: "int scache_single_find_dest(SCACHE *scache, const char *dest_label,\n\t\t\t
      \            VSTRING *dest_prop, VSTRING *endp_prop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCACHE_SINGLE_DEST_BUSY
      Src: /src/postfix/postfix/src/global/scache_single.c:267,1
    - Dst: SCACHE_SINGLE_ENDP_BUSY
      Src: /src/postfix/postfix/src/global/scache_single.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - scache
    - size
    argTypes:
    - SCACHE*
    - SCACHE_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: scache_single_size
    functionSourceFile: /src/postfix/postfix/src/global/scache_single.c
    functionUses: 0
    functionsReached:
    - SCACHE_SINGLE_DEST_BUSY
    - SCACHE_SINGLE_ENDP_BUSY
    linkageType: ''
    returnType: void
    signature: void scache_single_size(SCACHE *scache, SCACHE_SIZE *size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/scache_single.c:278,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/scache_single.c:279,1
    - Dst: close
      Src: /src/postfix/postfix/src/global/scache_single.c:281,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/scache_single.c:283,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/scache_single.c:284,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/scache_single.c:285,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/scache_single.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - scache
    argTypes:
    - SCACHE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 288
    functionName: scache_single_free
    functionSourceFile: /src/postfix/postfix/src/global/scache_single.c
    functionUses: 0
    functionsReached:
    - myfree
    - close
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void scache_single_free(SCACHE *scache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/scache_single.c:294,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/scache_single.c:303,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/scache_single.c:304,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/scache_single.c:307,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/scache_single.c:308,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/scache_single.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 312
    functionName: scache_single_create
    functionSourceFile: /src/postfix/postfix/src/global/scache_single.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - vstring_alloc
    linkageType: ''
    returnType: SCACHE
    signature: SCACHE *scache_single_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - o
    - ','
    - f
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: namadr_list_init
    functionSourceFile: /src/postfix/postfix/src/global/namadr_list.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: namadr_list_init(o, f, p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/dot_lockfile.c:88,1
    - Dst: open
      Src: /src/postfix/postfix/src/global/dot_lockfile.c:97,1
    - Dst: close
      Src: /src/postfix/postfix/src/global/dot_lockfile.c:98,1
    - Dst: stat
      Src: /src/postfix/postfix/src/global/dot_lockfile.c:116,1
    - Dst: time
      Src: /src/postfix/postfix/src/global/dot_lockfile.c:117,1
    - Dst: unlink
      Src: /src/postfix/postfix/src/global/dot_lockfile.c:118,1
    - Dst: rand_sleep
      Src: /src/postfix/postfix/src/global/dot_lockfile.c:122,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/dot_lockfile.c:125,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dot_lockfile.c:127,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 2
    argNames:
    - path
    - why
    argTypes:
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 129
    functionName: dot_lockfile
    functionSourceFile: /src/postfix/postfix/src/global/dot_lockfile.c
    functionUses: 1
    functionsReached:
    - stat
    - vstring_sprintf
    - time
    - close
    - unlink
    - myfree
    - open
    - rand_sleep
    - concatenate
    linkageType: ''
    returnType: int
    signature: int dot_lockfile(const char *path, VSTRING *why)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/dot_lockfile.c:138,1
    - Dst: unlink
      Src: /src/postfix/postfix/src/global/dot_lockfile.c:139,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dot_lockfile.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: dot_unlockfile
    functionSourceFile: /src/postfix/postfix/src/global/dot_lockfile.c
    functionUses: 2
    functionsReached:
    - concatenate
    - myfree
    - unlink
    linkageType: ''
    returnType: void
    signature: void dot_unlockfile(const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dot_lockfile.c:160,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/dot_lockfile.c:162,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dot_lockfile.c:164,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/global/dot_lockfile.c:165,1
    - Dst: dot_lockfile
      Src: /src/postfix/postfix/src/global/dot_lockfile.c:166,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dot_lockfile.c:167,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dot_lockfile.c:167,1
    - Dst: dot_unlockfile
      Src: /src/postfix/postfix/src/global/dot_lockfile.c:168,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/dot_lockfile.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 4
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/dot_lockfile.c
    functionUses: 13
    functionsReached:
    - vstring_str
    - vstring_alloc
    - msg_vstream_init
    - mail_conf_read
    - dot_unlockfile
    - msg_fatal
    - vstring_free
    - dot_lockfile
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/global/mynetworks.c:113,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/mynetworks.c:115,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mynetworks.c:118,1
    - Dst: name_mask
      Src: /src/postfix/postfix/src/global/mynetworks.c:120,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mynetworks.c:132,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mynetworks.c:135,1
    - Dst: own_inet_addr_list
      Src: /src/postfix/postfix/src/global/mynetworks.c:136,1
    - Dst: own_inet_mask_list
      Src: /src/postfix/postfix/src/global/mynetworks.c:137,1
    - Dst: SOCK_ADDR_FAMILY
      Src: /src/postfix/postfix/src/global/mynetworks.c:146,1
    - Dst: ntohl
      Src: /src/postfix/postfix/src/global/mynetworks.c:147,1
    - Dst: SOCK_ADDR_IN_ADDR
      Src: /src/postfix/postfix/src/global/mynetworks.c:147,1
    - Dst: ntohl
      Src: /src/postfix/postfix/src/global/mynetworks.c:148,1
    - Dst: SOCK_ADDR_IN_ADDR
      Src: /src/postfix/postfix/src/global/mynetworks.c:148,1
    - Dst: IN_CLASSA
      Src: /src/postfix/postfix/src/global/mynetworks.c:157,1
    - Dst: IN_CLASSB
      Src: /src/postfix/postfix/src/global/mynetworks.c:160,1
    - Dst: IN_CLASSC
      Src: /src/postfix/postfix/src/global/mynetworks.c:163,1
    - Dst: IN_CLASSD
      Src: /src/postfix/postfix/src/global/mynetworks.c:166,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mynetworks.c:170,1
    - Dst: inet_ntoa
      Src: /src/postfix/postfix/src/global/mynetworks.c:171,1
    - Dst: SOCK_ADDR_IN_ADDR
      Src: /src/postfix/postfix/src/global/mynetworks.c:171,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mynetworks.c:194,1
    - Dst: htonl
      Src: /src/postfix/postfix/src/global/mynetworks.c:197,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/global/mynetworks.c:198,1
    - Dst: inet_ntoa
      Src: /src/postfix/postfix/src/global/mynetworks.c:199,1
    - Dst: SOCK_ADDR_FAMILY
      Src: /src/postfix/postfix/src/global/mynetworks.c:204,1
    - Dst: SOCK_ADDR_IN6_ADDR
      Src: /src/postfix/postfix/src/global/mynetworks.c:225,1
    - Dst: SOCK_ADDR_IN6_ADDR
      Src: /src/postfix/postfix/src/global/mynetworks.c:226,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mynetworks.c:248,1
    - Dst: SOCK_ADDR_IN6_PTR
      Src: /src/postfix/postfix/src/global/mynetworks.c:252,1
    - Dst: mask_addr
      Src: /src/postfix/postfix/src/global/mynetworks.c:253,1
    - Dst: SOCKADDR_TO_HOSTADDR
      Src: /src/postfix/postfix/src/global/mynetworks.c:256,1
    - Dst: SOCK_ADDR_PTR
      Src: /src/postfix/postfix/src/global/mynetworks.c:256,1
    - Dst: SOCK_ADDR_LEN
      Src: /src/postfix/postfix/src/global/mynetworks.c:256,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/global/mynetworks.c:258,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mynetworks.c:265,1
    - Dst: SOCK_ADDR_FAMILY
      Src: /src/postfix/postfix/src/global/mynetworks.c:266,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 88
    argCount: 1
    argNames:
    - style
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 269
    functionName: mynetworks_core
    functionSourceFile: /src/postfix/postfix/src/global/mynetworks.c
    functionUses: 0
    functionsReached:
    - inet_proto_info
    - own_inet_mask_list
    - inet_ntoa
    - IN_CLASSC
    - SOCK_ADDR_PTR
    - msg_info
    - msg_panic
    - htonl
    - SOCKADDR_TO_HOSTADDR
    - SOCK_ADDR_LEN
    - vstring_alloc
    - SOCK_ADDR_IN_ADDR
    - IN_CLASSB
    - ntohl
    - name_mask
    - IN_CLASSD
    - SOCK_ADDR_IN6_ADDR
    - mask_addr
    - vstring_sprintf_append
    - msg_warn
    - IN_CLASSA
    - own_inet_addr_list
    - msg_fatal
    - mystrdup
    - SOCK_ADDR_FAMILY
    - SOCK_ADDR_IN6_PTR
    linkageType: ''
    returnType: char
    signature: char *mynetworks_core(const char *style)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mynetworks_core
      Src: /src/postfix/postfix/src/global/mynetworks.c:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: mynetworks
    functionSourceFile: /src/postfix/postfix/src/global/mynetworks.c
    functionUses: 0
    functionsReached:
    - mynetworks_core
    linkageType: ''
    returnType: char
    signature: char *mynetworks(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mynetworks_core
      Src: /src/postfix/postfix/src/global/mynetworks.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 313
    functionName: mynetworks_host
    functionSourceFile: /src/postfix/postfix/src/global/mynetworks.c
    functionUses: 1
    functionsReached:
    - mynetworks_core
    linkageType: ''
    returnType: char
    signature: char *mynetworks_host(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mynetworks.c:323,1
    - Dst: inet_proto_init
      Src: /src/postfix/postfix/src/global/mynetworks.c:326,1
    - Dst: mynetworks
      Src: /src/postfix/postfix/src/global/mynetworks.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 318
    functionDepth: 3
    functionLinenumber: 318
    functionLinenumberEnd: 331
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/mynetworks.c
    functionUses: 13
    functionsReached:
    - mynetworks
    - msg_fatal
    - inet_proto_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: inet_addr_list_init
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:92,1
    - Dst: inet_addr_list_init
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:93,1
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:100,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:102,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:112,1
    - Dst: inet_addr_local
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:113,1
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:114,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:115,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:122,1
    - Dst: inet_addr_list_init
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:123,1
    - Dst: inet_addr_list_init
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:124,1
    - Dst: inet_addr_local
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:125,1
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:126,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:127,1
    - Dst: sock_addr_in_loopback
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:130,1
    - Dst: SOCK_ADDR_PTR
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:130,1
    - Dst: inet_addr_list_append
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:131,1
    - Dst: SOCK_ADDR_PTR
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:131,1
    - Dst: inet_addr_list_append
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:132,1
    - Dst: SOCK_ADDR_PTR
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:132,1
    - Dst: inet_addr_list_free
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:135,1
    - Dst: inet_addr_list_free
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:136,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:145,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:146,1
    - Dst: inet_addr_host
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:147,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:148,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:150,1
    - Dst: inet_addr_list_uniq
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:158,1
    - Dst: inet_addr_list_init
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:164,1
    - Dst: inet_addr_list_init
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:165,1
    - Dst: inet_addr_local
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:166,1
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:167,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:168,1
    - Dst: SOCKADDR_TO_HOSTADDR
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:172,1
    - Dst: SOCK_ADDR_PTR
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:173,1
    - Dst: SOCK_ADDR_LEN
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:174,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:176,1
    - Dst: SOCK_ADDR_EQ_ADDR
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:179,1
    - Dst: inet_addr_list_append
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:181,1
    - Dst: SOCK_ADDR_PTR
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:182,1
    - Dst: inet_addr_list_free
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:187,1
    - Dst: inet_addr_list_free
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:188,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 2
    argNames:
    - addr_list
    - mask_list
    argTypes:
    - INET_ADDR_LIST*
    - INET_ADDR_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 190
    functionName: own_inet_addr_init
    functionSourceFile: /src/postfix/postfix/src/global/own_inet_addr.c
    functionUses: 0
    functionsReached:
    - inet_proto_info
    - sock_addr_in_loopback
    - inet_addr_list_append
    - SOCK_ADDR_LEN
    - inet_addr_list_uniq
    - SOCK_ADDR_PTR
    - inet_addr_host
    - msg_info
    - inet_addr_list_init
    - myfree
    - inet_addr_local
    - inet_addr_list_free
    - strcmp
    - SOCK_ADDR_EQ_ADDR
    - mystrtok
    - SOCKADDR_TO_HOSTADDR
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: void
    signature: "void own_inet_addr_init(INET_ADDR_LIST *addr_list,\n\t\t\t               INET_ADDR_LIST
      *mask_list)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: own_inet_addr_init
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:199,1
    - Dst: SOCK_ADDR_EQ_ADDR
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - addr
    argTypes:
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 205
    functionName: own_inet_addr
    functionSourceFile: /src/postfix/postfix/src/global/own_inet_addr.c
    functionUses: 0
    functionsReached:
    - SOCK_ADDR_EQ_ADDR
    - own_inet_addr_init
    linkageType: ''
    returnType: int
    signature: int own_inet_addr(struct sockaddr *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: own_inet_addr_init
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 215
    functionName: own_inet_addr_list
    functionSourceFile: /src/postfix/postfix/src/global/own_inet_addr.c
    functionUses: 2
    functionsReached:
    - own_inet_addr_init
    linkageType: ''
    returnType: INET_ADDR_LIST
    signature: INET_ADDR_LIST *own_inet_addr_list(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: own_inet_addr_init
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 225
    functionName: own_inet_mask_list
    functionSourceFile: /src/postfix/postfix/src/global/own_inet_addr.c
    functionUses: 1
    functionsReached:
    - own_inet_addr_init
    linkageType: ''
    returnType: INET_ADDR_LIST
    signature: INET_ADDR_LIST *own_inet_mask_list(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inet_addr_list_init
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:240,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:241,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:242,1
    - Dst: inet_addr_host
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:243,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:244,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:246,1
    - Dst: inet_addr_list_uniq
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - addr_list
    argTypes:
    - INET_ADDR_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 252
    functionName: proxy_inet_addr_init
    functionSourceFile: /src/postfix/postfix/src/global/own_inet_addr.c
    functionUses: 0
    functionsReached:
    - inet_addr_list_uniq
    - inet_addr_host
    - inet_addr_list_init
    - myfree
    - mystrtok
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: void
    signature: void proxy_inet_addr_init(INET_ADDR_LIST *addr_list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: proxy_inet_addr_init
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:264,1
    - Dst: SOCK_ADDR_EQ_ADDR
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - addr
    argTypes:
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 270
    functionName: proxy_inet_addr
    functionSourceFile: /src/postfix/postfix/src/global/own_inet_addr.c
    functionUses: 0
    functionsReached:
    - SOCK_ADDR_EQ_ADDR
    - proxy_inet_addr_init
    linkageType: ''
    returnType: int
    signature: int proxy_inet_addr(struct sockaddr *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_inet_addr_init
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 280
    functionName: proxy_inet_addr_list
    functionSourceFile: /src/postfix/postfix/src/global/own_inet_addr.c
    functionUses: 0
    functionsReached:
    - proxy_inet_addr_init
    linkageType: ''
    returnType: INET_ADDR_LIST
    signature: INET_ADDR_LIST *proxy_inet_addr_list(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SOCKADDR_TO_HOSTADDR
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:291,1
    - Dst: SOCK_ADDR_PTR
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:291,1
    - Dst: SOCK_ADDR_LEN
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:291,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - INET_ADDR_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 295
    functionName: inet_addr_list_print
    functionSourceFile: /src/postfix/postfix/src/global/own_inet_addr.c
    functionUses: 0
    functionsReached:
    - SOCKADDR_TO_HOSTADDR
    - SOCK_ADDR_PTR
    - SOCK_ADDR_LEN
    - msg_info
    linkageType: ''
    returnType: void
    signature: void inet_addr_list_print(INET_ADDR_LIST *list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:303,1
    - Dst: inet_proto_init
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:306,1
    - Dst: own_inet_addr_list
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:308,1
    - Dst: inet_addr_list_print
      Src: /src/postfix/postfix/src/global/own_inet_addr.c:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 311
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/own_inet_addr.c
    functionUses: 13
    functionsReached:
    - own_inet_addr_list
    - msg_fatal
    - inet_proto_init
    - inet_addr_list_print
    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: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/map_search.c
    functionUses: 149
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/map_search.c:106,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/global/map_search.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - search_actions
    argTypes:
    - NAME_CODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: map_search_init
    functionSourceFile: /src/postfix/postfix/src/global/map_search.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - htable_create
    linkageType: ''
    returnType: void
    signature: void map_search_init(const NAME_CODE *search_actions)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/map_search.c:132,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/global/map_search.c:139,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/map_search.c:157,1
    - Dst: extpar
      Src: /src/postfix/postfix/src/global/map_search.c:158,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/map_search.c:159,1
    - Dst: MAP_SEARCH_CREATE_RETURN
      Src: /src/postfix/postfix/src/global/map_search.c:160,1
    - Dst: mystrtokq
      Src: /src/postfix/postfix/src/global/map_search.c:161,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/map_search.c:163,1
    - Dst: MAP_SEARCH_CREATE_RETURN
      Src: /src/postfix/postfix/src/global/map_search.c:164,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/map_search.c:173,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/map_search.c:174,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/map_search.c:175,1
    - Dst: MAP_SEARCH_CREATE_RETURN
      Src: /src/postfix/postfix/src/global/map_search.c:176,1
    - Dst: mystrtokq
      Src: /src/postfix/postfix/src/global/map_search.c:184,1
    - Dst: extpar
      Src: /src/postfix/postfix/src/global/map_search.c:186,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/map_search.c:188,1
    - Dst: MAP_SEARCH_CREATE_RETURN
      Src: /src/postfix/postfix/src/global/map_search.c:189,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/global/map_search.c:192,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/map_search.c:194,1
    - Dst: MAP_SEARCH_CREATE_RETURN
      Src: /src/postfix/postfix/src/global/map_search.c:196,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/global/map_search.c:198,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/map_search.c:199,1
    - Dst: MAP_SEARCH_CREATE_RETURN
      Src: /src/postfix/postfix/src/global/map_search.c:201,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/map_search.c:210,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/map_search.c:211,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/global/map_search.c:212,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/map_search.c:214,1
    - Dst: MAP_SEARCH_CREATE_RETURN
      Src: /src/postfix/postfix/src/global/map_search.c:215,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/map_search.c:217,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/map_search.c:219,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/map_search.c:225,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/map_search.c:226,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/global/map_search.c:228,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/global/map_search.c:237,1
    - Dst: MAP_SEARCH_CREATE_RETURN
      Src: /src/postfix/postfix/src/global/map_search.c:239,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 1
    argNames:
    - map_spec
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 240
    functionName: map_search_create
    functionSourceFile: /src/postfix/postfix/src/global/map_search.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - name_code
    - VSTRING_ADDCH
    - msg_warn
    - extpar
    - MAP_SEARCH_CREATE_RETURN
    - strchr
    - split_nameval
    - vstring_export
    - vstring_alloc
    - htable_enter
    - strcasecmp
    - VSTRING_TERMINATE
    - mystrtokq
    - mystrtok
    - mymalloc
    - mystrdup
    - htable_find
    linkageType: ''
    returnType: MAP_SEARCH
    signature: MAP_SEARCH *map_search_create(const char *map_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: MAP_SEARCH_CREATE_RETURN
    functionSourceFile: /src/postfix/postfix/src/global/map_search.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAP_SEARCH_CREATE_RETURN(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/map_search.c:251,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/global/map_search.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - map_spec
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: map_search_lookup
    functionSourceFile: /src/postfix/postfix/src/global/map_search.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - htable_find
    linkageType: ''
    returnType: MAP_SEARCH
    signature: MAP_SEARCH *map_search_lookup(const char *map_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: string_or_null
    functionSourceFile: /src/postfix/postfix/src/global/map_search.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *string_or_null(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STR
      Src: /src/postfix/postfix/src/global/map_search.c:287,1
    - Dst: escape
      Src: /src/postfix/postfix/src/global/map_search.c:287,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/map_search.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - search_order
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: escape_order
    functionSourceFile: /src/postfix/postfix/src/global/map_search.c
    functionUses: 0
    functionsReached:
    - escape
    - strlen
    - STR
    linkageType: ''
    returnType: char
    signature: char *escape_order(VSTRING *buf, const char *search_order)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/map_search.c:327,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/map_search.c:328,1
    - Dst: map_search_init
      Src: /src/postfix/postfix/src/global/map_search.c:330,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/map_search.c:335,1
    - Dst: map_search_create
      Src: /src/postfix/postfix/src/global/map_search.c:337,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/map_search.c:340,1
    - Dst: escape_order
      Src: /src/postfix/postfix/src/global/map_search.c:344,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/map_search.c:347,1
    - Dst: map_search_lookup
      Src: /src/postfix/postfix/src/global/map_search.c:355,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/map_search.c:357,1
    - Dst: map_search_create
      Src: /src/postfix/postfix/src/global/map_search.c:362,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/map_search.c:364,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/map_search.c:370,1
    - Dst: string_or_null
      Src: /src/postfix/postfix/src/global/map_search.c:370,1
    - Dst: string_or_null
      Src: /src/postfix/postfix/src/global/map_search.c:371,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/map_search.c:372,1
    - Dst: string_or_null
      Src: /src/postfix/postfix/src/global/map_search.c:374,1
    - Dst: string_or_null
      Src: /src/postfix/postfix/src/global/map_search.c:375,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/map_search.c:378,1
    - Dst: string_or_null
      Src: /src/postfix/postfix/src/global/map_search.c:378,1
    - Dst: string_or_null
      Src: /src/postfix/postfix/src/global/map_search.c:379,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/map_search.c:380,1
    - Dst: escape_order
      Src: /src/postfix/postfix/src/global/map_search.c:382,1
    - Dst: string_or_null
      Src: /src/postfix/postfix/src/global/map_search.c:383,1
    - Dst: escape_order
      Src: /src/postfix/postfix/src/global/map_search.c:384,1
    - Dst: string_or_null
      Src: /src/postfix/postfix/src/global/map_search.c:385,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/map_search.c:389,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/map_search.c:390,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/map_search.c:393,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/map_search.c:394,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 395
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/map_search.c
    functionUses: 13
    functionsReached:
    - msg_warn
    - escape_order
    - exit
    - vstring_alloc
    - msg_info
    - string_or_null
    - strcmp
    - map_search_create
    - map_search_lookup
    - map_search_init
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_fn
      Src: /src/postfix/postfix/src/global/dsn_print.c:63,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/dsn_print.c:64,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/dsn_print.c:65,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/dsn_print.c:66,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/dsn_print.c:67,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/dsn_print.c:68,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/dsn_print.c:69,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/dsn_print.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - print_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_PRINT_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 73
    functionName: dsn_print
    functionSourceFile: /src/postfix/postfix/src/global/dsn_print.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_STR
    - print_fn
    linkageType: ''
    returnType: int
    signature: "int dsn_print(ATTR_PRINT_COMMON_FN print_fn, VSTREAM *fp,\n\t\t          int
      flags, const void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: rec_type_name
    functionSourceFile: /src/postfix/postfix/src/global/rec_type.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *rec_type_name(int type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mail_conf_lookup_eval
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:113,1
    - Dst: conv_time
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:115,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - name
    - intval
    - def_unit
    argTypes:
    - char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: convert_mail_conf_time
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_time.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - conv_time
    - mail_conf_lookup_eval
    linkageType: ''
    returnType: int
    signature: int convert_mail_conf_time(const char *name, int *intval, int def_unit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:125,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - name
    - intval
    - min
    - max
    argTypes:
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: check_mail_conf_time
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_time.c
    functionUses: 1
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void check_mail_conf_time(const char *name, int intval, int min, int
      max)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mail_conf_eval
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:136,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:138,1
    - Dst: ISALPHA
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:140,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - name
    - defval
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 149
    functionName: get_def_time_unit
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_time.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - mail_conf_eval
    - ISALPHA
    linkageType: ''
    returnType: int
    signature: int get_def_time_unit(const char *name, const char *defval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_def_time_unit
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:158,1
    - Dst: convert_mail_conf_time
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:159,1
    - Dst: set_mail_conf_time
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:160,1
    - Dst: convert_mail_conf_time
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:161,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:162,1
    - Dst: check_mail_conf_time
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - name
    - defval
    - min
    - max
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: get_mail_conf_time
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_time.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - get_def_time_unit
    - convert_mail_conf_time
    - set_mail_conf_time
    - check_mail_conf_time
    linkageType: ''
    returnType: int
    signature: int get_mail_conf_time(const char *name, const char *defval, int min,
      int max)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:175,1
    - Dst: convert_mail_conf_time
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:176,1
    - Dst: set_mail_conf_time_int
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:177,1
    - Dst: convert_mail_conf_time
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:178,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:179,1
    - Dst: check_mail_conf_time
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:180,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - name1
    - name2
    - defval
    - def_unit
    - min
    - max
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 183
    functionName: get_mail_conf_time2
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_time.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - set_mail_conf_time_int
    - convert_mail_conf_time
    - check_mail_conf_time
    - myfree
    - concatenate
    linkageType: ''
    returnType: int
    signature: "int get_mail_conf_time2(const char *name1, const char *name2,\n\t\t\t
      \        int defval, int def_unit, int min, int max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: set_mail_conf_time
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_time.c
    functionUses: 1
    functionsReached:
    - mail_conf_update
    linkageType: ''
    returnType: void
    signature: void set_mail_conf_time(const char *name, const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:202,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:204,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:206,1
    - Dst: sprintf
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:209,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 212
    functionName: set_mail_conf_time_int
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_time.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - snprintf
    - sprintf
    - mail_conf_update
    linkageType: ''
    returnType: void
    signature: void set_mail_conf_time_int(const char *name, int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_mail_conf_time
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - table
    argTypes:
    - CONFIG_TIME_TABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 216
    functionDepth: 4
    functionLinenumber: 216
    functionLinenumberEnd: 223
    functionName: get_mail_conf_time_table
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_time.c
    functionUses: 1
    functionsReached:
    - get_mail_conf_time
    linkageType: ''
    returnType: void
    signature: void get_mail_conf_time_table(const CONFIG_TIME_TABLE *table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_mail_conf_time_table
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:248,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:249,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:250,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:251,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:252,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:253,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/mail_conf_time.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 232
    functionDepth: 5
    functionLinenumber: 232
    functionLinenumberEnd: 256
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_time.c
    functionUses: 13
    functionsReached:
    - get_mail_conf_time_table
    - vstream_fflush
    - vstream_printf
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:89,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: rewrite_clnt_handshake
    functionSourceFile: /src/postfix/postfix/src/global/rewrite_clnt.c
    functionUses: 0
    functionsReached:
    - RECV_ATTR_STREQ
    - attr_scan
    linkageType: ''
    returnType: int
    signature: int rewrite_clnt_handshake(VSTREAM *stream)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:106,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:107,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:108,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:119,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:120,1
    - Dst: time
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:125,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:126,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:126,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:127,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:127,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:128,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:128,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:130,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:131,1
    - Dst: clnt_stream_create
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:141,1
    - Dst: clnt_stream_access
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:148,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:152,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:153,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:154,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:155,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:157,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:158,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:159,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:160,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:163,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:167,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:168,1
    - Dst: clnt_stream_recover
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:171,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:174,1
    - Dst: clnt_stream_recover
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:175,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:181,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:182,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:183,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:183,1
    - Dst: time
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:184,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 40
    argCount: 3
    argNames:
    - rule
    - addr
    - result
    argTypes:
    - char*
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 187
    functionName: rewrite_clnt
    functionSourceFile: /src/postfix/postfix/src/global/rewrite_clnt.c
    functionUses: 2
    functionsReached:
    - sleep
    - attr_print
    - RECV_ATTR_STR
    - msg_info
    - clnt_stream_create
    - msg_panic
    - vstream_fflush
    - vstring_alloc
    - attr_scan
    - vstring_str
    - time
    - msg_warn
    - clnt_stream_access
    - SEND_ATTR_STR
    - clnt_stream_recover
    - strcmp
    - vstring_strcpy
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *rewrite_clnt(const char *rule, const char *addr, VSTRING *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:193,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:194,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:200,1
    - Dst: rewrite_clnt
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:201,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:201,1
    - Dst: unquote_822_local
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:202,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:202,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:203,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ruleset
    - addr
    - result
    argTypes:
    - char*
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 206
    functionName: rewrite_clnt_internal
    functionSourceFile: /src/postfix/postfix/src/global/rewrite_clnt.c
    functionUses: 3
    functionsReached:
    - rewrite_clnt
    - unquote_822_local
    - vstring_alloc
    - quote_822_local
    - vstring_free
    - STR
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *rewrite_clnt_internal(const char *ruleset, const char *addr,
      VSTRING *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - myname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/global/rewrite_clnt.c
    functionUses: 6
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(char *myname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rewrite_clnt
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:225,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:226,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:227,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:228,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:228,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - rule
    - addr
    - reply
    argTypes:
    - char*
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 4
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: rewrite
    functionSourceFile: /src/postfix/postfix/src/global/rewrite_clnt.c
    functionUses: 0
    functionsReached:
    - rewrite_clnt
    - vstream_fflush
    - vstream_printf
    - STR
    linkageType: ''
    returnType: void
    signature: void rewrite(char *rule, char *addr, VSTRING *reply)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:239,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:241,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:242,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:243,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:244,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:246,1
    - Dst: usage
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:252,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:255,1
    - Dst: usage
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:262,1
    - Dst: rewrite
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:263,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:266,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:268,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:269,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:269,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:270,1
    - Dst: usage
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:271,1
    - Dst: rewrite
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:272,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:274,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:276,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/rewrite_clnt.c:277,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 232
    functionDepth: 5
    functionLinenumber: 232
    functionLinenumberEnd: 278
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/rewrite_clnt.c
    functionUses: 13
    functionsReached:
    - vstring_fgets_nonl
    - rewrite
    - vstring_alloc
    - chdir
    - msg_info
    - msg_vstream_init
    - STR
    - exit
    - usage
    - split_at
    - msg_fatal
    - vstring_free
    - mail_conf_read
    - GETOPT
    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: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/xtext.c
    functionUses: 155
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/global/xtext.c
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/xtext.c:86,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/xtext.c:87,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/global/xtext.c:89,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/xtext.c:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - quoted
    - unquoted
    - special
    argTypes:
    - VSTRING*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 94
    functionName: xtext_quote_append
    functionSourceFile: /src/postfix/postfix/src/global/xtext.c
    functionUses: 1
    functionsReached:
    - VSTRING_ADDCH
    - vstring_sprintf_append
    - strchr
    - VSTRING_TERMINATE
    linkageType: ''
    returnType: VSTRING
    signature: "VSTRING *xtext_quote_append(VSTRING *quoted, const char *unquoted,\n\t\t\t
      \           const char *special)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/xtext.c:100,1
    - Dst: xtext_quote_append
      Src: /src/postfix/postfix/src/global/xtext.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - quoted
    - unquoted
    - special
    argTypes:
    - VSTRING*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: xtext_quote
    functionSourceFile: /src/postfix/postfix/src/global/xtext.c
    functionUses: 1
    functionsReached:
    - VSTRING_RESET
    - xtext_quote_append
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *xtext_quote(VSTRING *quoted, const char *unquoted, const char
      *special)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/global/xtext.c:114,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/global/xtext.c:122,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/xtext.c:132,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/xtext.c:134,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - unquoted
    - quoted
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 136
    functionName: xtext_unquote_append
    functionSourceFile: /src/postfix/postfix/src/global/xtext.c
    functionUses: 1
    functionsReached:
    - VSTRING_ADDCH
    - VSTRING_TERMINATE
    - ISDIGIT
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *xtext_unquote_append(VSTRING *unquoted, const char *quoted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/xtext.c:142,1
    - Dst: xtext_unquote_append
      Src: /src/postfix/postfix/src/global/xtext.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - unquoted
    - quoted
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: xtext_unquote
    functionSourceFile: /src/postfix/postfix/src/global/xtext.c
    functionUses: 1
    functionsReached:
    - xtext_unquote_append
    - VSTRING_RESET
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *xtext_unquote(VSTRING *unquoted, const char *quoted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fread_buf
      Src: /src/postfix/postfix/src/global/xtext.c:159,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/xtext.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fp
    - buf
    argTypes:
    - VSTREAM*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: read_buf
    functionSourceFile: /src/postfix/postfix/src/global/xtext.c
    functionUses: 3
    functionsReached:
    - VSTRING_TERMINATE
    - vstream_fread_buf
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t read_buf(VSTREAM *fp, VSTRING *buf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/xtext.c:166,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/xtext.c:167,1
    - Dst: xtext_unquote
      Src: /src/postfix/postfix/src/global/xtext.c:173,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/xtext.c:174,1
    - Dst: xtext_unquote
      Src: /src/postfix/postfix/src/global/xtext.c:175,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/xtext.c:176,1
    - Dst: read_buf
      Src: /src/postfix/postfix/src/global/xtext.c:181,1
    - Dst: xtext_quote
      Src: /src/postfix/postfix/src/global/xtext.c:182,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/xtext.c:182,1
    - Dst: xtext_unquote
      Src: /src/postfix/postfix/src/global/xtext.c:183,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/xtext.c:183,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/xtext.c:184,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/xtext.c:184,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/xtext.c:185,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/xtext.c:186,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/xtext.c:187,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/global/xtext.c:188,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/xtext.c:188,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/xtext.c:188,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/xtext.c:188,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/xtext.c:189,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/xtext.c:191,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/xtext.c:192,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/xtext.c:193,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 195
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/xtext.c
    functionUses: 13
    functionsReached:
    - xtext_quote
    - msg_warn
    - vstream_fflush
    - vstring_alloc
    - LEN
    - STR
    - vstream_fwrite
    - msg_fatal
    - read_buf
    - vstring_free
    - xtext_unquote
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: bounce_log_rewind
    functionSourceFile: /src/postfix/postfix/src/global/bounce_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bounce_log_rewind(bp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/cleanup_strerror.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - status
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: cleanup_strerror
    functionSourceFile: /src/postfix/postfix/src/global/cleanup_strerror.c
    functionUses: 0
    functionsReached:
    - msg_panic
    linkageType: ''
    returnType: char
    signature: char *cleanup_strerror(unsigned status)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/cleanup_strerror.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - status
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: cleanup_stat_detail
    functionSourceFile: /src/postfix/postfix/src/global/cleanup_strerror.c
    functionUses: 0
    functionsReached:
    - msg_panic
    linkageType: ''
    returnType: CLEANUP_STAT_DETAIL
    signature: CLEANUP_STAT_DETAIL *cleanup_stat_detail(unsigned status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/stream2rec.c:40,1
    - Dst: rec_streamlf_get
      Src: /src/postfix/postfix/src/global/stream2rec.c:43,1
    - Dst: REC_PUT_BUF
      Src: /src/postfix/postfix/src/global/stream2rec.c:44,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/stream2rec.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/stream2rec.c
    functionUses: 13
    functionsReached:
    - REC_PUT_BUF
    - rec_streamlf_get
    - vstream_fflush
    - vstring_alloc
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: IS_SPACE_TAB
    functionSourceFile: /src/postfix/postfix/src/global/lex_822.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_SPACE_TAB(ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: IS_SPACE_TAB_CR_LF
    functionSourceFile: /src/postfix/postfix/src/global/lex_822.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_SPACE_TAB_CR_LF(ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/rcpt_buf.c:89,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/rcpt_buf.c:91,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/rcpt_buf.c:93,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/rcpt_buf.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: rcpb_create
    functionSourceFile: /src/postfix/postfix/src/global/rcpt_buf.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - vstring_alloc
    linkageType: ''
    returnType: RCPT_BUF
    signature: RCPT_BUF *rcpb_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BUF_TRUNCATE
      Src: /src/postfix/postfix/src/global/rcpt_buf.c:105,1
    - Dst: BUF_TRUNCATE
      Src: /src/postfix/postfix/src/global/rcpt_buf.c:107,1
    - Dst: BUF_TRUNCATE
      Src: /src/postfix/postfix/src/global/rcpt_buf.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - rcpt
    argTypes:
    - RCPT_BUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: rcpb_reset
    functionSourceFile: /src/postfix/postfix/src/global/rcpt_buf.c
    functionUses: 1
    functionsReached:
    - BUF_TRUNCATE
    linkageType: ''
    returnType: void
    signature: void rcpb_reset(RCPT_BUF *rcpt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: BUF_TRUNCATE
    functionSourceFile: /src/postfix/postfix/src/global/rcpt_buf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUF_TRUNCATE(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/rcpt_buf.c:115,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/rcpt_buf.c:116,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/rcpt_buf.c:117,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/rcpt_buf.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rcpt
    argTypes:
    - RCPT_BUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: rcpb_free
    functionSourceFile: /src/postfix/postfix/src/global/rcpt_buf.c
    functionUses: 0
    functionsReached:
    - myfree
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void rcpb_free(RCPT_BUF *rcpt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scan_fn
      Src: /src/postfix/postfix/src/global/rcpt_buf.c:133,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/rcpt_buf.c:134,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/rcpt_buf.c:135,1
    - Dst: RECV_ATTR_LONG
      Src: /src/postfix/postfix/src/global/rcpt_buf.c:136,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/rcpt_buf.c:137,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/rcpt_buf.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - scan_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_SCAN_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 141
    functionName: rcpb_scan
    functionSourceFile: /src/postfix/postfix/src/global/rcpt_buf.c
    functionUses: 0
    functionsReached:
    - RECV_ATTR_LONG
    - scan_fn
    - RECV_ATTR_STR
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: "int rcpb_scan(ATTR_SCAN_COMMON_FN scan_fn, VSTREAM *fp,\n\t\t          int
      flags, void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name_mask_delim_opt
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - strategy_string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: strategy_from_string
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_find.c
    functionUses: 0
    functionsReached:
    - name_mask_delim_opt
    linkageType: ''
    returnType: int
    signature: int strategy_from_string(const char *strategy_string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:216,1
    - Dst: str_name_mask_opt
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - res_buf
    - strategy_mask
    argTypes:
    - VSTRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 220
    functionName: strategy_to_string
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_find.c
    functionUses: 0
    functionsReached:
    - str_name_mask_opt
    - vstring_alloc
    linkageType: ''
    returnType: char
    signature: char *strategy_to_string(VSTRING *res_buf, int strategy_mask)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: quote_822_local_flags
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:249,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:252,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:252,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:255,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:255,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:257,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:266,1
    - Dst: quote_822_local_flags
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:270,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:273,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:273,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:275,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:275,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:282,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 6
    argNames:
    - path
    - address
    - flags
    - with_domain
    - query_form
    - ext_addr_buf
    argTypes:
    - MAPS*
    - char*
    - int
    - int
    - int
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 285
    functionName: find_addr
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_find.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - maps_find
    - strcmp
    - quote_822_local_flags
    - STR
    linkageType: ''
    returnType: char
    signature: "char *find_addr(MAPS *path, const char *address, int flags,\n\t             int
      with_domain, int query_form, VSTRING *ext_addr_buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_addr
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:307,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:311,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:312,1
    - Dst: find_addr
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:315,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 9
    argNames:
    - path
    - ratsign
    - rats_offs
    - int_full_key
    - int_bare_key
    - query_form
    - extp
    - saved_ext
    - ext_addr_buf
    argTypes:
    - MAPS*
    - char*
    - int
    - char*
    - char*
    - int
    - char**
    - char**
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 289
    functionDepth: 4
    functionLinenumber: 289
    functionLinenumberEnd: 324
    functionName: find_local
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_find.c
    functionUses: 0
    functionsReached:
    - strrchr
    - msg_panic
    - find_addr
    linkageType: ''
    returnType: char
    signature: "char *find_local(MAPS *path, char *ratsign, int rats_offs,\n\t\t\t
      \             char *int_full_key, char *int_bare_key,\n\t\t              int
      query_form, char **extp, char **saved_ext,\n\t\t\t              VSTRING *ext_addr_buf)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:348,1
    - Dst: unquote_822_local
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:349,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:350,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:356,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:361,1
    - Dst: strip_addr_internal
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:367,1
    - Dst: find_addr
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:374,1
    - Dst: find_addr
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:382,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:395,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:398,1
    - Dst: resolve_local
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:399,1
    - Dst: find_local
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:401,1
    - Dst: find_local
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:406,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:418,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:429,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:432,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:435,1
    - Dst: find_local
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:447,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:457,1
    - Dst: unquote_822_local
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:458,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:459,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:466,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:470,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:472,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:474,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:476,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:478,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 68
    argCount: 7
    argNames:
    - path
    - address
    - extp
    - in_form
    - query_form
    - out_form
    - strategy
    argTypes:
    - MAPS*
    - char*
    - char**
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 328
    functionDepth: 5
    functionLinenumber: 328
    functionLinenumberEnd: 480
    functionName: mail_addr_find_opt
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_find.c
    functionUses: 1
    functionsReached:
    - strrchr
    - msg_warn
    - strchr
    - find_addr
    - maps_find
    - strip_addr_internal
    - unquote_822_local
    - vstring_alloc
    - msg_info
    - find_local
    - myfree
    - resolve_local
    - mystrdup
    - strcasecmp_utf8
    - vstring_free
    - STR
    linkageType: ''
    returnType: char
    signature: "char *mail_addr_find_opt(MAPS *path, const char *address, char **extp,\n\t\t\t
      \              int in_form, int query_form,\n\t\t\t               int out_form,
      int strategy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 498
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_find.c
    functionUses: 7
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(const char *progname)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:502,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:525,1
    - Dst: usage
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:531,1
    - Dst: usage
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:535,1
    - Dst: mail_params_init
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:542,1
    - Dst: UPDATE
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:547,1
    - Dst: UPDATE
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:548,1
    - Dst: UPDATE
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:549,1
    - Dst: UPDATE
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:550,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:551,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:552,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:554,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:555,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:557,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:563,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:564,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:570,1
    - Dst: maps_free
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:572,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:573,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:575,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:582,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:588,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:589,1
    - Dst: mail_addr_form_from_string
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:590,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:591,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:592,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:593,1
    - Dst: mail_addr_form_from_string
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:595,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:596,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:597,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:598,1
    - Dst: mail_addr_form_from_string
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:600,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:601,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:602,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:603,1
    - Dst: strategy_from_string
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:604,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:605,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:606,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:607,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:608,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:609,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:610,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:611,1
    - Dst: mail_addr_find_opt
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:617,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:620,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:624,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:630,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:631,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:634,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:635,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:639,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:642,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:647,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:650,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:653,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:655,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:662,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:665,1
    - Dst: maps_free
      Src: /src/postfix/postfix/src/global/mail_addr_find.c:667,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 99
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 500
    functionDepth: 6
    functionLinenumber: 500
    functionLinenumberEnd: 669
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_find.c
    functionUses: 13
    functionsReached:
    - ISSPACE
    - msg_info
    - GETOPT
    - mail_params_init
    - mail_addr_find_opt
    - vstream_fflush
    - vstring_alloc
    - mystrtok
    - UPDATE
    - strategy_from_string
    - maps_free
    - maps_create
    - myfree
    - mail_addr_form_from_string
    - vstream_printf
    - vstring_free
    - msg_warn
    - vstring_fgets_nonl
    - strcmp
    - usage
    - msg_fatal
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 541
    functionName: UPDATE
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_find.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE(var, val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/deliver_request.c:147,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/global/deliver_request.c:148,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_request.c:149,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/deliver_request.c:151,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/deliver_request.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 155
    functionName: deliver_request_initial
    functionSourceFile: /src/postfix/postfix/src/global/deliver_request.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - SEND_ATTR_STR
    - attr_print
    - vstream_fflush
    - msg_info
    linkageType: ''
    returnType: int
    signature: int deliver_request_initial(VSTREAM *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/deliver_request.c:174,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/global/deliver_request.c:176,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/global/deliver_request.c:177,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/deliver_request.c:178,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/deliver_request.c:180,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/deliver_request.c:182,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/global/deliver_request.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - stream
    - request
    - status
    argTypes:
    - VSTREAM*
    - DELIVER_REQUEST*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 193
    functionName: deliver_request_final
    functionSourceFile: /src/postfix/postfix/src/global/deliver_request.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - SEND_ATTR_INT
    - attr_print
    - vstream_fflush
    - msg_info
    - VSTREAM_GETC
    - SEND_ATTR_FUNC
    linkageType: ''
    returnType: int
    signature: "int deliver_request_final(VSTREAM *stream, DELIVER_REQUEST *request,\n\t\t\t\t
      \        int status)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/deliver_request.c:229,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/deliver_request.c:230,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/deliver_request.c:231,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/deliver_request.c:232,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/deliver_request.c:233,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/deliver_request.c:234,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/deliver_request.c:235,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/deliver_request.c:236,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/deliver_request.c:237,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/deliver_request.c:238,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/deliver_request.c:239,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/deliver_request.c:240,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/deliver_request.c:241,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/deliver_request.c:242,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/deliver_request.c:243,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/deliver_request.c:244,1
    - Dst: rcpb_create
      Src: /src/postfix/postfix/src/global/deliver_request.c:245,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/deliver_request.c:252,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/deliver_request.c:253,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_request.c:254,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_request.c:255,1
    - Dst: RECV_ATTR_LONG
      Src: /src/postfix/postfix/src/global/deliver_request.c:256,1
    - Dst: RECV_ATTR_LONG
      Src: /src/postfix/postfix/src/global/deliver_request.c:257,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_request.c:258,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_request.c:259,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/deliver_request.c:260,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_request.c:261,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_request.c:262,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/deliver_request.c:263,1
    - Dst: RECV_ATTR_FUNC
      Src: /src/postfix/postfix/src/global/deliver_request.c:264,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_request.c:266,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_request.c:267,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_request.c:268,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_request.c:269,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_request.c:270,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_request.c:272,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_request.c:273,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_request.c:274,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_request.c:276,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/deliver_request.c:277,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/deliver_request.c:278,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/deliver_request.c:280,1
    - Dst: mail_open_ok
      Src: /src/postfix/postfix/src/global/deliver_request.c:283,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/deliver_request.c:283,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/deliver_request.c:284,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/global/deliver_request.c:289,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/deliver_request.c:291,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/deliver_request.c:291,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/deliver_request.c:292,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/deliver_request.c:292,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/deliver_request.c:293,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/deliver_request.c:293,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/deliver_request.c:294,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/deliver_request.c:294,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/deliver_request.c:297,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/deliver_request.c:297,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/deliver_request.c:298,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/deliver_request.c:298,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/deliver_request.c:299,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/deliver_request.c:299,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/deliver_request.c:300,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/deliver_request.c:300,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/deliver_request.c:301,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/deliver_request.c:301,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/deliver_request.c:302,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/deliver_request.c:302,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/deliver_request.c:303,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/deliver_request.c:303,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/deliver_request.c:304,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/deliver_request.c:304,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/deliver_request.c:305,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/deliver_request.c:305,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/deliver_request.c:306,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/deliver_request.c:306,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/deliver_request.c:307,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/deliver_request.c:307,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/deliver_request.c:308,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/deliver_request.c:308,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/deliver_request.c:316,1
    - Dst: RECV_ATTR_FUNC
      Src: /src/postfix/postfix/src/global/deliver_request.c:317,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/deliver_request.c:319,1
    - Dst: recipient_list_add
      Src: /src/postfix/postfix/src/global/deliver_request.c:322,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/deliver_request.c:323,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/deliver_request.c:325,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/deliver_request.c:326,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/deliver_request.c:329,1
    - Dst: mail_queue_open
      Src: /src/postfix/postfix/src/global/deliver_request.c:355,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/deliver_request.c:358,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/deliver_request.c:359,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/deliver_request.c:363,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/deliver_request.c:363,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/global/deliver_request.c:364,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/deliver_request.c:364,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/deliver_request.c:365,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/deliver_request.c:365,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/global/deliver_request.c:366,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/deliver_request.c:366,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 70
    argCount: 2
    argNames:
    - stream
    - request
    argTypes:
    - VSTREAM*
    - DELIVER_REQUEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 197
    functionDepth: 4
    functionLinenumber: 197
    functionLinenumberEnd: 369
    functionName: deliver_request_get
    functionSourceFile: /src/postfix/postfix/src/global/deliver_request.c
    functionUses: 0
    functionsReached:
    - RECV_ATTR_LONG
    - RECV_ATTR_STR
    - mail_queue_open
    - msg_info
    - close_on_exec
    - mail_open_ok
    - VSTREAM_PATH
    - vstring_alloc
    - recipient_list_add
    - attr_scan
    - vstring_str
    - myflock
    - GETTIMEOFDAY
    - rcpb_create
    - RECV_ATTR_FUNC
    - msg_warn
    - vstream_fileno
    - msg_fatal
    - mystrdup
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: int deliver_request_get(VSTREAM *stream, DELIVER_REQUEST *request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/deliver_request.c:377,1
    - Dst: recipient_list_init
      Src: /src/postfix/postfix/src/global/deliver_request.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 400
    functionName: deliver_request_alloc
    functionSourceFile: /src/postfix/postfix/src/global/deliver_request.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - recipient_list_init
    linkageType: ''
    returnType: DELIVER_REQUEST
    signature: DELIVER_REQUEST *deliver_request_alloc(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/deliver_request.c:407,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/deliver_request.c:409,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/deliver_request.c:411,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/deliver_request.c:413,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/deliver_request.c:415,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/deliver_request.c:417,1
    - Dst: recipient_list_free
      Src: /src/postfix/postfix/src/global/deliver_request.c:418,1
    - Dst: dsn_free
      Src: /src/postfix/postfix/src/global/deliver_request.c:420,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/deliver_request.c:422,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/deliver_request.c:424,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/deliver_request.c:426,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/deliver_request.c:428,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/deliver_request.c:430,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/deliver_request.c:432,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/deliver_request.c:434,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/deliver_request.c:436,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/deliver_request.c:438,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/deliver_request.c:440,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/deliver_request.c:442,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/deliver_request.c:443,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 1
    argNames:
    - request
    argTypes:
    - DELIVER_REQUEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 444
    functionName: deliver_request_free
    functionSourceFile: /src/postfix/postfix/src/global/deliver_request.c
    functionUses: 0
    functionsReached:
    - myfree
    - recipient_list_free
    - dsn_free
    - vstream_fclose
    linkageType: ''
    returnType: void
    signature: void deliver_request_free(DELIVER_REQUEST *request)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: deliver_request_initial
      Src: /src/postfix/postfix/src/global/deliver_request.c:455,1
    - Dst: read_wait
      Src: /src/postfix/postfix/src/global/deliver_request.c:462,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/deliver_request.c:462,1
    - Dst: peekfd
      Src: /src/postfix/postfix/src/global/deliver_request.c:463,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/deliver_request.c:463,1
    - Dst: deliver_request_alloc
      Src: /src/postfix/postfix/src/global/deliver_request.c:471,1
    - Dst: deliver_request_get
      Src: /src/postfix/postfix/src/global/deliver_request.c:472,1
    - Dst: deliver_request_done
      Src: /src/postfix/postfix/src/global/deliver_request.c:473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 448
    functionDepth: 5
    functionLinenumber: 448
    functionLinenumberEnd: 477
    functionName: deliver_request_read
    functionSourceFile: /src/postfix/postfix/src/global/deliver_request.c
    functionUses: 1
    functionsReached:
    - deliver_request_alloc
    - read_wait
    - deliver_request_initial
    - vstream_fileno
    - peekfd
    - deliver_request_get
    - deliver_request_done
    linkageType: ''
    returnType: DELIVER_REQUEST
    signature: DELIVER_REQUEST *deliver_request_read(VSTREAM *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deliver_request_final
      Src: /src/postfix/postfix/src/global/deliver_request.c:485,1
    - Dst: deliver_request_free
      Src: /src/postfix/postfix/src/global/deliver_request.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - stream
    - request
    - status
    argTypes:
    - VSTREAM*
    - DELIVER_REQUEST*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 488
    functionName: deliver_request_done
    functionSourceFile: /src/postfix/postfix/src/global/deliver_request.c
    functionUses: 2
    functionsReached:
    - deliver_request_final
    - deliver_request_free
    linkageType: ''
    returnType: int
    signature: int deliver_request_done(VSTREAM *stream, DELIVER_REQUEST *request,
      int status)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/tok822_resolve.c:56,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/tok822_resolve.c:59,1
    - Dst: tok822_internalize
      Src: /src/postfix/postfix/src/global/tok822_resolve.c:65,1
    - Dst: resolve_clnt_query_from
      Src: /src/postfix/postfix/src/global/tok822_resolve.c:66,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/tok822_resolve.c:66,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/tok822_resolve.c:68,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/tok822_resolve.c:70,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/tok822_resolve.c:70,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/tok822_resolve.c:71,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/tok822_resolve.c:71,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/tok822_resolve.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sender
    - addr
    - reply
    argTypes:
    - char*
    - TOK822*
    - RESOLVE_REPLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 74
    functionName: tok822_resolve_from
    functionSourceFile: /src/postfix/postfix/src/global/tok822_resolve.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstring_free
    - vstring_alloc
    - msg_info
    - vstring_str
    - resolve_clnt_query_from
    - tok822_internalize
    linkageType: ''
    returnType: void
    signature: "void tok822_resolve_from(const char *sender, TOK822 *addr,\n\t\t\t
      \           RESOLVE_REPLY *reply)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: GOOD_MAJOR
    functionSourceFile: /src/postfix/postfix/src/global/compat_level.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOD_MAJOR(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: GOOD_MINOR
    functionSourceFile: /src/postfix/postfix/src/global/compat_level.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOD_MINOR(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: GOOD_PATCH
    functionSourceFile: /src/postfix/postfix/src/global/compat_level.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOD_PATCH(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: ENCODE_MAJOR
    functionSourceFile: /src/postfix/postfix/src/global/compat_level.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCODE_MAJOR(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: ENCODE_MINOR
    functionSourceFile: /src/postfix/postfix/src/global/compat_level.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCODE_MINOR(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: ENCODE_PATCH
    functionSourceFile: /src/postfix/postfix/src/global/compat_level.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCODE_PATCH(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: DECODE_MAJOR
    functionSourceFile: /src/postfix/postfix/src/global/compat_level.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECODE_MAJOR(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: DECODE_MINOR
    functionSourceFile: /src/postfix/postfix/src/global/compat_level.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECODE_MINOR(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: DECODE_PATCH
    functionSourceFile: /src/postfix/postfix/src/global/compat_level.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECODE_PATCH(l)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sane_strtol
      Src: /src/postfix/postfix/src/global/compat_level.c:161,1
    - Dst: GOOD_MAJOR
      Src: /src/postfix/postfix/src/global/compat_level.c:163,1
    - Dst: ENCODE_MAJOR
      Src: /src/postfix/postfix/src/global/compat_level.c:164,1
    - Dst: sane_strtol
      Src: /src/postfix/postfix/src/global/compat_level.c:168,1
    - Dst: GOOD_MINOR
      Src: /src/postfix/postfix/src/global/compat_level.c:170,1
    - Dst: ENCODE_MINOR
      Src: /src/postfix/postfix/src/global/compat_level.c:171,1
    - Dst: sane_strtol
      Src: /src/postfix/postfix/src/global/compat_level.c:175,1
    - Dst: GOOD_PATCH
      Src: /src/postfix/postfix/src/global/compat_level.c:177,1
    - Dst: ENCODE_PATCH
      Src: /src/postfix/postfix/src/global/compat_level.c:178,1
    - Dst: msg_fn
      Src: /src/postfix/postfix/src/global/compat_level.c:182,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 2
    argNames:
    - str
    - PRINTFLIKE
    argTypes:
    - char*
    - void
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 184
    functionName: compat_level_from_string
    functionSourceFile: /src/postfix/postfix/src/global/compat_level.c
    functionUses: 3
    functionsReached:
    - ENCODE_MAJOR
    - sane_strtol
    - msg_fn
    - GOOD_PATCH
    - GOOD_MINOR
    - GOOD_MAJOR
    - ENCODE_PATCH
    - ENCODE_MINOR
    linkageType: ''
    returnType: long
    signature: "long compat_level_from_string(const char *str,\n\t\t         void
      PRINTFLIKE(1, 2) (*msg_fn) (const char *,...))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MAJOR
      Src: /src/postfix/postfix/src/global/compat_level.c:196,1
    - Dst: msg_fn
      Src: /src/postfix/postfix/src/global/compat_level.c:197,1
    - Dst: GOOD_MINOR
      Src: /src/postfix/postfix/src/global/compat_level.c:200,1
    - Dst: msg_fn
      Src: /src/postfix/postfix/src/global/compat_level.c:201,1
    - Dst: GOOD_PATCH
      Src: /src/postfix/postfix/src/global/compat_level.c:204,1
    - Dst: msg_fn
      Src: /src/postfix/postfix/src/global/compat_level.c:205,1
    - Dst: ENCODE_MAJOR
      Src: /src/postfix/postfix/src/global/compat_level.c:212,1
    - Dst: ENCODE_MINOR
      Src: /src/postfix/postfix/src/global/compat_level.c:212,1
    - Dst: ENCODE_PATCH
      Src: /src/postfix/postfix/src/global/compat_level.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - major
    - minor
    - patch
    - PRINTFLIKE
    argTypes:
    - long
    - long
    - long
    - void
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 213
    functionName: compat_level_from_numbers
    functionSourceFile: /src/postfix/postfix/src/global/compat_level.c
    functionUses: 0
    functionsReached:
    - ENCODE_MAJOR
    - msg_fn
    - GOOD_PATCH
    - GOOD_MINOR
    - GOOD_MAJOR
    - ENCODE_PATCH
    - ENCODE_MINOR
    linkageType: ''
    returnType: long
    signature: "long compat_level_from_numbers(long major, long minor, long patch,\n\t\t
      \        void PRINTFLIKE(1, 2) (*msg_fn) (const char *,...))"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_fn
      Src: /src/postfix/postfix/src/global/compat_level.c:230,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/compat_level.c:238,1
    - Dst: DECODE_MAJOR
      Src: /src/postfix/postfix/src/global/compat_level.c:239,1
    - Dst: GOOD_MAJOR
      Src: /src/postfix/postfix/src/global/compat_level.c:240,1
    - Dst: msg_fn
      Src: /src/postfix/postfix/src/global/compat_level.c:241,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/compat_level.c:244,1
    - Dst: DECODE_MINOR
      Src: /src/postfix/postfix/src/global/compat_level.c:250,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/global/compat_level.c:251,1
    - Dst: DECODE_PATCH
      Src: /src/postfix/postfix/src/global/compat_level.c:256,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/global/compat_level.c:258,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/compat_level.c:260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - compat_level
    - PRINTFLIKE
    argTypes:
    - long
    - void
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 261
    functionName: compat_level_to_string
    functionSourceFile: /src/postfix/postfix/src/global/compat_level.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - vstring_str
    - msg_fn
    - vstring_alloc
    - GOOD_MAJOR
    - DECODE_PATCH
    - DECODE_MINOR
    - vstring_sprintf_append
    - DECODE_MAJOR
    linkageType: ''
    returnType: char
    signature: "char *compat_level_to_string(long compat_level,\n\t\t         void
      PRINTFLIKE(1, 2) (*msg_fn) (const char *,...))"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: compat_level_from_string
      Src: /src/postfix/postfix/src/global/compat_level.c:274,1
    - Dst: compat_level_from_string
      Src: /src/postfix/postfix/src/global/compat_level.c:275,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/compat_level.c:298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - left_str
    - relop
    - rite_str
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 301
    functionName: compat_relop_eval
    functionSourceFile: /src/postfix/postfix/src/global/compat_level.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - compat_level_from_string
    linkageType: ''
    returnType: MAC_EXP_OP_RES
    signature: "MAC_EXP_OP_RES compat_relop_eval(const char *left_str, int relop,\n\t\t\t\t\t
      \       const char *rite_str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mac_expand_add_relop
      Src: /src/postfix/postfix/src/global/compat_level.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 317
    functionName: compat_level_relop_register
    functionSourceFile: /src/postfix/postfix/src/global/compat_level.c
    functionUses: 1
    functionsReached:
    - mac_expand_add_relop
    linkageType: ''
    returnType: void
    signature: void compat_level_relop_register(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htable_find
      Src: /src/postfix/postfix/src/global/compat_level.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - unused_mode
    - context
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 334
    functionName: lookup
    functionSourceFile: /src/postfix/postfix/src/global/compat_level.c
    functionUses: 18
    functionsReached:
    - htable_find
    linkageType: ''
    returnType: char
    signature: char *lookup(const char *name, int unused_mode, void *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/compat_level.c:338,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/compat_level.c:339,1
    - Dst: compat_level_relop_register
      Src: /src/postfix/postfix/src/global/compat_level.c:349,1
    - Dst: vstream_feof
      Src: /src/postfix/postfix/src/global/compat_level.c:354,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/global/compat_level.c:356,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/global/compat_level.c:361,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/compat_level.c:362,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/compat_level.c:362,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/compat_level.c:363,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/compat_level.c:364,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/compat_level.c:366,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/compat_level.c:367,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/compat_level.c:368,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/global/compat_level.c:369,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/compat_level.c:369,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/global/compat_level.c:375,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/compat_level.c:376,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/compat_level.c:376,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/compat_level.c:377,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/compat_level.c:378,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/compat_level.c:380,1
    - Dst: mac_expand
      Src: /src/postfix/postfix/src/global/compat_level.c:381,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/compat_level.c:381,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/compat_level.c:383,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/compat_level.c:383,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/compat_level.c:384,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/global/compat_level.c:386,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/compat_level.c:387,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/compat_level.c:393,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/compat_level.c:394,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 395
    functionName: test_expand
    functionSourceFile: /src/postfix/postfix/src/global/compat_level.c
    functionUses: 0
    functionsReached:
    - vstream_feof
    - vstring_get_nonl
    - compat_level_relop_register
    - VSTRING_LEN
    - htable_create
    - vstream_fflush
    - vstring_alloc
    - mac_expand
    - htable_free
    - htable_enter
    - VSTRING_RESET
    - vstream_printf
    - mystrtok
    - vstring_str
    - mystrdup
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void test_expand(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/compat_level.c:399,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/global/compat_level.c:406,1
    - Dst: compat_level_from_string
      Src: /src/postfix/postfix/src/global/compat_level.c:407,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/compat_level.c:407,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/compat_level.c:410,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/compat_level.c:410,1
    - Dst: compat_level_to_string
      Src: /src/postfix/postfix/src/global/compat_level.c:412,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/compat_level.c:415,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/compat_level.c:417,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 418
    functionName: test_convert
    functionSourceFile: /src/postfix/postfix/src/global/compat_level.c
    functionUses: 0
    functionsReached:
    - vstring_get_nonl
    - compat_level_from_string
    - vstring_alloc
    - msg_info
    - compat_level_to_string
    - vstring_str
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void test_convert(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/compat_level.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/global/compat_level.c
    functionUses: 8
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/global/compat_level.c:433,1
    - Dst: usage
      Src: /src/postfix/postfix/src/global/compat_level.c:445,1
    - Dst: test_convert
      Src: /src/postfix/postfix/src/global/compat_level.c:450,1
    - Dst: test_expand
      Src: /src/postfix/postfix/src/global/compat_level.c:453,1
    - Dst: usage
      Src: /src/postfix/postfix/src/global/compat_level.c:456,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/compat_level.c:458,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 425
    functionDepth: 3
    functionLinenumber: 425
    functionLinenumberEnd: 459
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/compat_level.c
    functionUses: 13
    functionsReached:
    - test_convert
    - exit
    - test_expand
    - usage
    - GETOPT
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dict_lookup
      Src: /src/postfix/postfix/src/global/cfg_parser.c:123,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/cfg_parser.c:126,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/cfg_parser.c:128,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/cfg_parser.c:131,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/cfg_parser.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 5
    argNames:
    - parser
    - name
    - defval
    - min
    - max
    argTypes:
    - struct CFG_PARSER*
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 134
    functionName: get_dict_str
    functionSourceFile: /src/postfix/postfix/src/global/cfg_parser.c
    functionUses: 0
    functionsReached:
    - mystrdup
    - msg_fatal
    - dict_lookup
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *get_dict_str(const struct CFG_PARSER *parser,\n\t\t\t          const
      char *name, const char *defval,\n\t\t\t          int min, int max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/cfg_parser.c:145,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/cfg_parser.c:146,1
    - Dst: get_mail_conf_str
      Src: /src/postfix/postfix/src/global/cfg_parser.c:147,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/cfg_parser.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - parser
    - name
    - defval
    - min
    - max
    argTypes:
    - struct CFG_PARSER*
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: get_main_str
    functionSourceFile: /src/postfix/postfix/src/global/cfg_parser.c
    functionUses: 0
    functionsReached:
    - get_mail_conf_str
    - vstring_str
    - vstring_sprintf
    - vstring_alloc
    linkageType: ''
    returnType: char
    signature: "char *get_main_str(const struct CFG_PARSER *parser,\n\t\t\t          const
      char *name, const char *defval,\n\t\t\t          int min, int max)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dict_lookup
      Src: /src/postfix/postfix/src/global/cfg_parser.c:160,1
    - Dst: strtol
      Src: /src/postfix/postfix/src/global/cfg_parser.c:162,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/cfg_parser.c:164,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/cfg_parser.c:169,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/cfg_parser.c:172,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 5
    argNames:
    - parser
    - name
    - defval
    - min
    - max
    argTypes:
    - struct CFG_PARSER*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 175
    functionName: get_dict_int
    functionSourceFile: /src/postfix/postfix/src/global/cfg_parser.c
    functionUses: 0
    functionsReached:
    - strtol
    - dict_lookup
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: "int get_dict_int(const struct CFG_PARSER *parser,\n\t\t             const
      char *name, int defval, int min, int max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/cfg_parser.c:185,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/cfg_parser.c:186,1
    - Dst: get_mail_conf_int
      Src: /src/postfix/postfix/src/global/cfg_parser.c:187,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/cfg_parser.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - parser
    - name
    - defval
    - min
    - max
    argTypes:
    - struct CFG_PARSER*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 4
    functionLinenumber: 179
    functionLinenumberEnd: 188
    functionName: get_main_int
    functionSourceFile: /src/postfix/postfix/src/global/cfg_parser.c
    functionUses: 0
    functionsReached:
    - vstring_str
    - vstring_sprintf
    - get_mail_conf_int
    - vstring_alloc
    linkageType: ''
    returnType: int
    signature: "int get_main_int(const struct CFG_PARSER *parser,\n\t\t             const
      char *name, int defval, int min, int max)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dict_lookup
      Src: /src/postfix/postfix/src/global/cfg_parser.c:198,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/global/cfg_parser.c:199,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/global/cfg_parser.c:201,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/cfg_parser.c:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - parser
    - name
    - defval
    argTypes:
    - struct CFG_PARSER*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 210
    functionName: get_dict_bool
    functionSourceFile: /src/postfix/postfix/src/global/cfg_parser.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - dict_lookup
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: "int get_dict_bool(const struct CFG_PARSER *parser,\n\t\t\t         const
      char *name, int defval)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/cfg_parser.c:220,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/cfg_parser.c:221,1
    - Dst: get_mail_conf_bool
      Src: /src/postfix/postfix/src/global/cfg_parser.c:222,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/cfg_parser.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - parser
    - name
    - defval
    argTypes:
    - struct CFG_PARSER*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionName: get_main_bool
    functionSourceFile: /src/postfix/postfix/src/global/cfg_parser.c
    functionUses: 0
    functionsReached:
    - vstring_str
    - vstring_sprintf
    - vstring_alloc
    - get_mail_conf_bool
    linkageType: ''
    returnType: int
    signature: "int get_main_bool(const struct CFG_PARSER *parser,\n\t\t\t         const
      char *name, int defval)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/cfg_parser.c:234,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/cfg_parser.c:235,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/cfg_parser.c:236,1
    - Dst: dict_load_file_xt
      Src: /src/postfix/postfix/src/global/cfg_parser.c:238,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/cfg_parser.c:239,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/cfg_parser.c:240,1
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/global/cfg_parser.c:246,1
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/global/cfg_parser.c:251,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/cfg_parser.c:254,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - pname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 257
    functionName: cfg_parser_alloc
    functionSourceFile: /src/postfix/postfix/src/global/cfg_parser.c
    functionUses: 4
    functionsReached:
    - msg_panic
    - myfree
    - dict_load_file_xt
    - mymalloc
    - msg_fatal
    - mystrdup
    - dict_handle
    linkageType: ''
    returnType: CFG_PARSER
    signature: CFG_PARSER *cfg_parser_alloc(const char *pname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CFG_PARSER*::get_str
      Src: /src/postfix/postfix/src/global/cfg_parser.c:267,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/cfg_parser.c:270,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/cfg_parser.c:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - parser
    - name
    - defval
    - min
    - max
    argTypes:
    - CFG_PARSER*
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 277
    functionName: cfg_get_str
    functionSourceFile: /src/postfix/postfix/src/global/cfg_parser.c
    functionUses: 6
    functionsReached:
    - myfree
    - CFG_PARSER*::get_str
    - msg_info
    linkageType: ''
    returnType: char
    signature: "char *cfg_get_str(const CFG_PARSER *parser, const char *name,\n\t\t
      \           const char *defval, int min, int max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CFG_PARSER*::get_int
      Src: /src/postfix/postfix/src/global/cfg_parser.c:287,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/cfg_parser.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - parser
    - name
    - defval
    - min
    - max
    argTypes:
    - CFG_PARSER*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: cfg_get_int
    functionSourceFile: /src/postfix/postfix/src/global/cfg_parser.c
    functionUses: 4
    functionsReached:
    - CFG_PARSER*::get_int
    - msg_info
    linkageType: ''
    returnType: int
    signature: "int cfg_get_int(const CFG_PARSER *parser, const char *name, int defval,\n\t\t
      \           int min, int max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CFG_PARSER*::get_bool
      Src: /src/postfix/postfix/src/global/cfg_parser.c:300,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/cfg_parser.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - parser
    - name
    - defval
    argTypes:
    - CFG_PARSER*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 305
    functionName: cfg_get_bool
    functionSourceFile: /src/postfix/postfix/src/global/cfg_parser.c
    functionUses: 1
    functionsReached:
    - CFG_PARSER*::get_bool
    - msg_info
    linkageType: ''
    returnType: int
    signature: int cfg_get_bool(const CFG_PARSER *parser, const char *name, int defval)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/cfg_parser.c:314,1
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/global/cfg_parser.c:316,1
    - Dst: dict_unregister
      Src: /src/postfix/postfix/src/global/cfg_parser.c:317,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/cfg_parser.c:319,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/cfg_parser.c:320,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - parser
    argTypes:
    - CFG_PARSER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 322
    functionName: cfg_parser_free
    functionSourceFile: /src/postfix/postfix/src/global/cfg_parser.c
    functionUses: 4
    functionsReached:
    - msg_panic
    - myfree
    - dict_unregister
    - dict_handle
    linkageType: ''
    returnType: CFG_PARSER
    signature: CFG_PARSER *cfg_parser_free(CFG_PARSER *parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - o
    - ','
    - f
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: string_list_init
    functionSourceFile: /src/postfix/postfix/src/global/string_list.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: string_list_init(o, f, p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: name_mask
      Src: /src/postfix/postfix/src/global/int_filt.c:72,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/int_filt.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 80
    functionName: int_filt_flags
    functionSourceFile: /src/postfix/postfix/src/global/int_filt.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - name_mask
    linkageType: ''
    returnType: int
    signature: int int_filt_flags(int class)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/mail_conf_raw.c:79,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_conf_raw.c:82,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_conf_raw.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - name
    - strval
    - min
    - max
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: check_mail_conf_raw
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_raw.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - strlen
    linkageType: ''
    returnType: void
    signature: "void check_mail_conf_raw(const char *name, const char *strval,\n\t\t\t\t
      \       int min, int max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mail_conf_lookup
      Src: /src/postfix/postfix/src/global/mail_conf_raw.c:96,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/global/mail_conf_raw.c:98,1
    - Dst: check_mail_conf_raw
      Src: /src/postfix/postfix/src/global/mail_conf_raw.c:100,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mail_conf_raw.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - name
    - defval
    - min
    - max
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: get_mail_conf_raw
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_raw.c
    functionUses: 0
    functionsReached:
    - mail_conf_lookup
    - mail_conf_update
    - mystrdup
    - check_mail_conf_raw
    linkageType: ''
    returnType: char
    signature: "char *get_mail_conf_raw(const char *name, const char *defval,\n\t\t\t
      \         int min, int max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mail_conf_lookup
      Src: /src/postfix/postfix/src/global/mail_conf_raw.c:113,1
    - Dst: defval
      Src: /src/postfix/postfix/src/global/mail_conf_raw.c:114,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/global/mail_conf_raw.c:115,1
    - Dst: check_mail_conf_raw
      Src: /src/postfix/postfix/src/global/mail_conf_raw.c:117,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mail_conf_raw.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - name
    - defval
    - min
    - max
    argTypes:
    - char*
    - stupid_indent_str
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: get_mail_conf_raw_fn
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_raw.c
    functionUses: 0
    functionsReached:
    - check_mail_conf_raw
    - mail_conf_lookup
    - defval
    - mail_conf_update
    - mystrdup
    linkageType: ''
    returnType: char
    signature: "char *get_mail_conf_raw_fn(const char *name, stupid_indent_str defval,\n\t\t\t
      \            int min, int max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_conf_raw.c:127,1
    - Dst: get_mail_conf_raw
      Src: /src/postfix/postfix/src/global/mail_conf_raw.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - table
    argTypes:
    - CONFIG_RAW_TABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: get_mail_conf_raw_table
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_raw.c
    functionUses: 0
    functionsReached:
    - myfree
    - get_mail_conf_raw
    linkageType: ''
    returnType: void
    signature: void get_mail_conf_raw_table(const CONFIG_RAW_TABLE *table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_conf_raw.c:140,1
    - Dst: get_mail_conf_raw_fn
      Src: /src/postfix/postfix/src/global/mail_conf_raw.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - table
    argTypes:
    - CONFIG_RAW_FN_TABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: get_mail_conf_raw_fn_table
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_raw.c
    functionUses: 0
    functionsReached:
    - myfree
    - get_mail_conf_raw_fn
    linkageType: ''
    returnType: void
    signature: void get_mail_conf_raw_fn_table(const CONFIG_RAW_FN_TABLE *table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/domain_list.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/global/domain_list.c
    functionUses: 9
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void usage(char *progname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/domain_list.c:107,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/global/domain_list.c:109,1
    - Dst: usage
      Src: /src/postfix/postfix/src/global/domain_list.c:115,1
    - Dst: usage
      Src: /src/postfix/postfix/src/global/domain_list.c:119,1
    - Dst: domain_list_init
      Src: /src/postfix/postfix/src/global/domain_list.c:122,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/domain_list.c:125,1
    - Dst: domain_list_match
      Src: /src/postfix/postfix/src/global/domain_list.c:125,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/domain_list.c:127,1
    - Dst: domain_list_free
      Src: /src/postfix/postfix/src/global/domain_list.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 130
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/domain_list.c
    functionUses: 13
    functionsReached:
    - domain_list_init
    - domain_list_match
    - vstream_fflush
    - msg_vstream_init
    - vstream_printf
    - usage
    - GETOPT
    - domain_list_free
    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: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/memcache_proto.c
    functionUses: 162
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/global/memcache_proto.c
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vstring_get
      Src: /src/postfix/postfix/src/global/memcache_proto.c:73,1
    - Dst: vstring_get_bound
      Src: /src/postfix/postfix/src/global/memcache_proto.c:74,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/global/memcache_proto.c:83,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/memcache_proto.c:84,1
    - Dst: vstream_ungetc
      Src: /src/postfix/postfix/src/global/memcache_proto.c:88,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/memcache_proto.c:95,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/memcache_proto.c:95,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/global/memcache_proto.c:96,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/global/memcache_proto.c:104,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/memcache_proto.c:104,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/memcache_proto.c:105,1
    - Dst: vstring_end
      Src: /src/postfix/postfix/src/global/memcache_proto.c:105,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/global/memcache_proto.c:106,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/memcache_proto.c:106,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/memcache_proto.c:107,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/memcache_proto.c:109,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/memcache_proto.c:109,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/memcache_proto.c:109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - stream
    - vp
    - bound
    argTypes:
    - VSTREAM*
    - VSTRING*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 112
    functionName: memcache_get
    functionSourceFile: /src/postfix/postfix/src/global/memcache_proto.c
    functionUses: 4
    functionsReached:
    - VSTRING_ADDCH
    - vstring_end
    - vstream_ungetc
    - VSTREAM_PATH
    - vstring_truncate
    - vstring_get_bound
    - vstring_get
    - VSTRING_LEN
    - LEN
    - msg_info
    - VSTREAM_GETC
    - VSTRING_TERMINATE
    - STR
    linkageType: ''
    returnType: int
    signature: int memcache_get(VSTREAM *stream, VSTRING *vp, ssize_t bound)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/memcache_proto.c:123,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/memcache_proto.c:129,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/memcache_proto.c:129,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/global/memcache_proto.c:130,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/global/memcache_proto.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - stream
    - cp
    - todo
    argTypes:
    - VSTREAM*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 135
    functionName: memcache_fwrite
    functionSourceFile: /src/postfix/postfix/src/global/memcache_proto.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - VSTREAM_PATH
    - msg_info
    - vstream_fwrite
    - vstream_fputs
    linkageType: ''
    returnType: int
    signature: int memcache_fwrite(VSTREAM *stream, const char *cp, ssize_t todo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/memcache_proto.c:146,1
    - Dst: vstream_fread_buf
      Src: /src/postfix/postfix/src/global/memcache_proto.c:151,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/global/memcache_proto.c:152,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/global/memcache_proto.c:153,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/memcache_proto.c:155,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/memcache_proto.c:155,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/memcache_proto.c:158,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/memcache_proto.c:160,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/memcache_proto.c:160,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/memcache_proto.c:160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - stream
    - buf
    - todo
    argTypes:
    - VSTREAM*
    - VSTRING*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 163
    functionName: memcache_fread
    functionSourceFile: /src/postfix/postfix/src/global/memcache_proto.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - VSTREAM_PATH
    - msg_info
    - VSTREAM_GETC
    - VSTRING_TERMINATE
    - vstream_fread_buf
    - STR
    linkageType: ''
    returnType: int
    signature: int memcache_fread(VSTREAM *stream, VSTRING *buf, ssize_t todo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstream_vfprintf
      Src: /src/postfix/postfix/src/global/memcache_proto.c:173,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/global/memcache_proto.c:174,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/global/memcache_proto.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - fmt
    - ap
    argTypes:
    - VSTREAM*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: memcache_vprintf
    functionSourceFile: /src/postfix/postfix/src/global/memcache_proto.c
    functionUses: 0
    functionsReached:
    - vstream_ferror
    - vstream_vfprintf
    - vstream_fputs
    linkageType: ''
    returnType: int
    signature: int memcache_vprintf(VSTREAM *stream, const char *fmt, va_list ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/global/memcache_proto.c:188,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/memcache_proto.c:191,1
    - Dst: VA_COPY
      Src: /src/postfix/postfix/src/global/memcache_proto.c:194,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/global/memcache_proto.c:195,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/global/memcache_proto.c:196,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/memcache_proto.c:197,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/memcache_proto.c:197,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/memcache_proto.c:197,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/memcache_proto.c:198,1
    - Dst: memcache_vprintf
      Src: /src/postfix/postfix/src/global/memcache_proto.c:204,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/global/memcache_proto.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - stream
    - fmt
    argTypes:
    - VSTREAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 207
    functionName: memcache_printf
    functionSourceFile: /src/postfix/postfix/src/global/memcache_proto.c
    functionUses: 3
    functionsReached:
    - va_start
    - va_end
    - VSTREAM_PATH
    - vstring_vsprintf
    - memcache_vprintf
    - vstring_alloc
    - msg_info
    - VA_COPY
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int memcache_printf(VSTREAM *stream, const char *fmt,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/flush_clnt.c
    functionUses: 165
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: domain_list_init
      Src: /src/postfix/postfix/src/global/flush_clnt.c:111,1
    - Dst: match_parent_style
      Src: /src/postfix/postfix/src/global/flush_clnt.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: flush_init
    functionSourceFile: /src/postfix/postfix/src/global/flush_clnt.c
    functionUses: 1
    functionsReached:
    - domain_list_init
    - match_parent_style
    linkageType: ''
    returnType: void
    signature: void flush_init(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/flush_clnt.c:124,1
    - Dst: mail_command_client
      Src: /src/postfix/postfix/src/global/flush_clnt.c:132,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/flush_clnt.c:134,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/flush_clnt.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 141
    functionName: flush_purge
    functionSourceFile: /src/postfix/postfix/src/global/flush_clnt.c
    functionUses: 0
    functionsReached:
    - mail_command_client
    - SEND_ATTR_STR
    - msg_info
    linkageType: ''
    returnType: int
    signature: int flush_purge(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/flush_clnt.c:151,1
    - Dst: mail_command_client
      Src: /src/postfix/postfix/src/global/flush_clnt.c:159,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/flush_clnt.c:161,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/flush_clnt.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 168
    functionName: flush_refresh
    functionSourceFile: /src/postfix/postfix/src/global/flush_clnt.c
    functionUses: 0
    functionsReached:
    - mail_command_client
    - SEND_ATTR_STR
    - msg_info
    linkageType: ''
    returnType: int
    signature: int flush_refresh(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/flush_clnt.c:178,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/flush_clnt.c:185,1
    - Dst: domain_list_match
      Src: /src/postfix/postfix/src/global/flush_clnt.c:186,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/flush_clnt.c:188,1
    - Dst: mail_command_client
      Src: /src/postfix/postfix/src/global/flush_clnt.c:191,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/flush_clnt.c:193,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/flush_clnt.c:194,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/flush_clnt.c:202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - site
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 205
    functionName: flush_send_site
    functionSourceFile: /src/postfix/postfix/src/global/flush_clnt.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - mail_command_client
    - SEND_ATTR_STR
    - domain_list_match
    - msg_info
    linkageType: ''
    returnType: int
    signature: int flush_send_site(const char *site)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/flush_clnt.c:215,1
    - Dst: mail_command_client
      Src: /src/postfix/postfix/src/global/flush_clnt.c:220,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/flush_clnt.c:222,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/flush_clnt.c:223,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/flush_clnt.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - queue_id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 230
    functionName: flush_send_file
    functionSourceFile: /src/postfix/postfix/src/global/flush_clnt.c
    functionUses: 0
    functionsReached:
    - mail_command_client
    - SEND_ATTR_STR
    - msg_info
    linkageType: ''
    returnType: int
    signature: int flush_send_file(const char *queue_id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/flush_clnt.c:240,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/flush_clnt.c:247,1
    - Dst: domain_list_match
      Src: /src/postfix/postfix/src/global/flush_clnt.c:248,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/flush_clnt.c:250,1
    - Dst: mail_command_client
      Src: /src/postfix/postfix/src/global/flush_clnt.c:253,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/flush_clnt.c:255,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/flush_clnt.c:256,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/flush_clnt.c:257,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/flush_clnt.c:265,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - site
    - queue_id
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 269
    functionName: flush_add
    functionSourceFile: /src/postfix/postfix/src/global/flush_clnt.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - mail_command_client
    - SEND_ATTR_STR
    - domain_list_match
    - msg_info
    linkageType: ''
    returnType: int
    signature: int flush_add(const char *site, const char *queue_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - a
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: resolve_clnt_query_from
    functionSourceFile: /src/postfix/postfix/src/global/resolve_clnt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: resolve_clnt_query_from(f, a, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - a
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: resolve_clnt_verify_from
    functionSourceFile: /src/postfix/postfix/src/global/resolve_clnt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: resolve_clnt_verify_from(f, a, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - reply
    - ','
    - transport
    - ','
    - nexthop
    - ','
    - recipient
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: RESOLVE_CLNT_ASSIGN
    functionSourceFile: /src/postfix/postfix/src/global/resolve_clnt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESOLVE_CLNT_ASSIGN(reply, transport, nexthop, recipient)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mail_conf_lookup_eval
      Src: /src/postfix/postfix/src/global/mail_conf_nbool.c:91,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/global/mail_conf_nbool.c:94,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/global/mail_conf_nbool.c:96,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_conf_nbool.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - name
    - intval
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 103
    functionName: convert_mail_conf_nbool
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_nbool.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - msg_fatal
    - mail_conf_lookup_eval
    linkageType: ''
    returnType: int
    signature: int convert_mail_conf_nbool(const char *name, int *intval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: convert_mail_conf_nbool
      Src: /src/postfix/postfix/src/global/mail_conf_nbool.c:111,1
    - Dst: set_mail_conf_nbool
      Src: /src/postfix/postfix/src/global/mail_conf_nbool.c:112,1
    - Dst: convert_mail_conf_nbool
      Src: /src/postfix/postfix/src/global/mail_conf_nbool.c:113,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_conf_nbool.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - name
    - defval
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: get_mail_conf_nbool
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_nbool.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - set_mail_conf_nbool
    - convert_mail_conf_nbool
    linkageType: ''
    returnType: int
    signature: int get_mail_conf_nbool(const char *name, const char *defval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: convert_mail_conf_nbool
      Src: /src/postfix/postfix/src/global/mail_conf_nbool.c:126,1
    - Dst: set_mail_conf_nbool
      Src: /src/postfix/postfix/src/global/mail_conf_nbool.c:127,1
    - Dst: defval
      Src: /src/postfix/postfix/src/global/mail_conf_nbool.c:127,1
    - Dst: convert_mail_conf_nbool
      Src: /src/postfix/postfix/src/global/mail_conf_nbool.c:128,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_conf_nbool.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - name
    - defval
    argTypes:
    - char*
    - stupid_indent_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: get_mail_conf_nbool_fn
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_nbool.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - set_mail_conf_nbool
    - convert_mail_conf_nbool
    - defval
    linkageType: ''
    returnType: int
    signature: int get_mail_conf_nbool_fn(const char *name, stupid_indent_int defval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/global/mail_conf_nbool.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: set_mail_conf_nbool
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_nbool.c
    functionUses: 2
    functionsReached:
    - mail_conf_update
    linkageType: ''
    returnType: void
    signature: void set_mail_conf_nbool(const char *name, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_mail_conf_nbool
      Src: /src/postfix/postfix/src/global/mail_conf_nbool.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - table
    argTypes:
    - CONFIG_NBOOL_TABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 4
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: get_mail_conf_nbool_table
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_nbool.c
    functionUses: 1
    functionsReached:
    - get_mail_conf_nbool
    linkageType: ''
    returnType: void
    signature: void get_mail_conf_nbool_table(const CONFIG_NBOOL_TABLE *table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_mail_conf_nbool_fn
      Src: /src/postfix/postfix/src/global/mail_conf_nbool.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - table
    argTypes:
    - CONFIG_NBOOL_FN_TABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: get_mail_conf_nbool_fn_table
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_nbool.c
    functionUses: 0
    functionsReached:
    - get_mail_conf_nbool_fn
    linkageType: ''
    returnType: void
    signature: void get_mail_conf_nbool_fn_table(const CONFIG_NBOOL_FN_TABLE *table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string_list_free
      Src: /src/postfix/postfix/src/global/resolve_local.c:71,1
    - Dst: string_list_init
      Src: /src/postfix/postfix/src/global/resolve_local.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: resolve_local_init
    functionSourceFile: /src/postfix/postfix/src/global/resolve_local.c
    functionUses: 0
    functionsReached:
    - string_list_init
    - string_list_free
    linkageType: ''
    returnType: void
    signature: void resolve_local_init(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/resolve_local.c:80,1
    - Dst: resolve_local_init
      Src: /src/postfix/postfix/src/global/resolve_local.c:98,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/resolve_local.c:107,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/global/resolve_local.c:109,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/global/resolve_local.c:113,1
    - Dst: string_list_match
      Src: /src/postfix/postfix/src/global/resolve_local.c:119,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/global/resolve_local.c:120,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/global/resolve_local.c:122,1
    - Dst: valid_mailhost_addr
      Src: /src/postfix/postfix/src/global/resolve_local.c:158,1
    - Dst: hostaddr_to_sockaddr
      Src: /src/postfix/postfix/src/global/resolve_local.c:159,1
    - Dst: own_inet_addr
      Src: /src/postfix/postfix/src/global/resolve_local.c:160,1
    - Dst: proxy_inet_addr
      Src: /src/postfix/postfix/src/global/resolve_local.c:160,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/global/resolve_local.c:161,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/global/resolve_local.c:168,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 1
    argNames:
    - addr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 169
    functionName: resolve_local
    functionSourceFile: /src/postfix/postfix/src/global/resolve_local.c
    functionUses: 1
    functionsReached:
    - proxy_inet_addr
    - strlen
    - resolve_local_init
    - string_list_match
    - valid_mailhost_addr
    - own_inet_addr
    - mystrdup
    - RETURN
    - hostaddr_to_sockaddr
    linkageType: ''
    returnType: int
    signature: int resolve_local(const char *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: RETURN
    functionSourceFile: /src/postfix/postfix/src/global/resolve_local.c
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETURN(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/resolve_local.c:181,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/global/resolve_local.c:182,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/resolve_local.c:183,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/resolve_local.c:184,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/resolve_local.c:185,1
    - Dst: resolve_local
      Src: /src/postfix/postfix/src/global/resolve_local.c:186,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/resolve_local.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 190
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/resolve_local.c
    functionUses: 13
    functionsReached:
    - vstream_fflush
    - myfree
    - vstream_printf
    - resolve_local
    - msg_fatal
    - mystrdup
    - mail_conf_read
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name_mask
      Src: /src/postfix/postfix/src/global/mbox_conf.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: mbox_lock_mask
    functionSourceFile: /src/postfix/postfix/src/global/mbox_conf.c
    functionUses: 1
    functionsReached:
    - name_mask
    linkageType: ''
    returnType: int
    signature: int mbox_lock_mask(const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/global/mbox_conf.c:95,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/global/mbox_conf.c:97,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/global/mbox_conf.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: mbox_lock_names
    functionSourceFile: /src/postfix/postfix/src/global/mbox_conf.c
    functionUses: 0
    functionsReached:
    - argv_alloc
    - argv_add
    - argv_terminate
    linkageType: ''
    returnType: ARGV
    signature: ARGV *mbox_lock_names(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mail_pathname
      Src: /src/postfix/postfix/src/global/mail_connect.c:86,1
    - Dst: LOCAL_CONNECT
      Src: /src/postfix/postfix/src/global/mail_connect.c:87,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/mail_connect.c:89,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/mail_connect.c:93,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/global/mail_connect.c:94,1
    - Dst: timed_ipc_setup
      Src: /src/postfix/postfix/src/global/mail_connect.c:95,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/mail_connect.c:96,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/global/mail_connect.c:97,1
    - Dst: CA_VSTREAM_CTL_PATH
      Src: /src/postfix/postfix/src/global/mail_connect.c:98,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_connect.c:100,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_connect.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - class
    - name
    - block_mode
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 104
    functionName: mail_connect
    functionSourceFile: /src/postfix/postfix/src/global/mail_connect.c
    functionUses: 4
    functionsReached:
    - mail_pathname
    - vstream_fdopen
    - CA_VSTREAM_CTL_PATH
    - timed_ipc_setup
    - msg_info
    - vstream_control
    - LOCAL_CONNECT
    - myfree
    - concatenate
    linkageType: ''
    returnType: VSTREAM
    signature: VSTREAM *mail_connect(const char *class, const char *name, int block_mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mail_connect
      Src: /src/postfix/postfix/src/global/mail_connect.c:116,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_connect.c:118,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_connect.c:121,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/global/mail_connect.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - class
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 127
    functionName: mail_connect_wait
    functionSourceFile: /src/postfix/postfix/src/global/mail_connect.c
    functionUses: 4
    functionsReached:
    - sleep
    - mail_connect
    - msg_fatal
    - msg_warn
    linkageType: ''
    returnType: VSTREAM
    signature: VSTREAM *mail_connect_wait(const char *class, const char *name)
  - 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: QMGR_READ_FLAG_FROM_DSN
    functionSourceFile: /src/postfix/postfix/src/global/qmgr_user.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_READ_FLAG_FROM_DSN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cfg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: cfg_get_owner
    functionSourceFile: /src/postfix/postfix/src/global/cfg_parser.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cfg_get_owner(cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/recipient_list.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - list
    - variant
    argTypes:
    - RECIPIENT_LIST*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: recipient_list_init
    functionSourceFile: /src/postfix/postfix/src/global/recipient_list.c
    functionUses: 1
    functionsReached:
    - mymalloc
    linkageType: ''
    returnType: void
    signature: void recipient_list_init(RECIPIENT_LIST *list, int variant)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: myrealloc
      Src: /src/postfix/postfix/src/global/recipient_list.c:148,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/recipient_list.c:151,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/recipient_list.c:152,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/recipient_list.c:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - list
    - offset
    - dsn_orcpt
    - dsn_notify
    - orig_rcpt
    - rcpt
    argTypes:
    - RECIPIENT_LIST*
    - long
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 163
    functionName: recipient_list_add
    functionSourceFile: /src/postfix/postfix/src/global/recipient_list.c
    functionUses: 1
    functionsReached:
    - myrealloc
    - mystrdup
    linkageType: ''
    returnType: void
    signature: "void recipient_list_add(RECIPIENT_LIST *list, long offset,\n\t\t\t
      \          const char *dsn_orcpt, int dsn_notify,\n\t\t\t           const char
      *orig_rcpt, const char *rcpt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/recipient_list.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - RECIPIENT_LIST*
    - RECIPIENT_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: recipient_list_swap
    functionSourceFile: /src/postfix/postfix/src/global/recipient_list.c
    functionUses: 0
    functionsReached:
    - msg_panic
    linkageType: ''
    returnType: void
    signature: void recipient_list_swap(RECIPIENT_LIST *a, RECIPIENT_LIST *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: SWAP
    functionSourceFile: /src/postfix/postfix/src/global/recipient_list.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP(t, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/recipient_list.c:186,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/recipient_list.c:187,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/recipient_list.c:188,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/recipient_list.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - list
    argTypes:
    - RECIPIENT_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 191
    functionName: recipient_list_free
    functionSourceFile: /src/postfix/postfix/src/global/recipient_list.c
    functionUses: 1
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void recipient_list_free(RECIPIENT_LIST *list)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/global/scache_clnt.c
    functionUses: 170
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/scache_clnt.c:92,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/global/scache_clnt.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: scache_clnt_handshake
    functionSourceFile: /src/postfix/postfix/src/global/scache_clnt.c
    functionUses: 0
    functionsReached:
    - RECV_ATTR_STREQ
    - attr_scan
    linkageType: ''
    returnType: int
    signature: int scache_clnt_handshake(VSTREAM *stream)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/scache_clnt.c:111,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/scache_clnt.c:118,1
    - Dst: auto_clnt_access
      Src: /src/postfix/postfix/src/global/scache_clnt.c:126,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/global/scache_clnt.c:129,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/scache_clnt.c:130,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/scache_clnt.c:131,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/scache_clnt.c:132,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/scache_clnt.c:133,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/scache_clnt.c:135,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/scache_clnt.c:137,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/scache_clnt.c:138,1
    - Dst: LOCAL_SEND_FD
      Src: /src/postfix/postfix/src/global/scache_clnt.c:141,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/scache_clnt.c:141,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/scache_clnt.c:142,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/scache_clnt.c:143,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/scache_clnt.c:146,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/scache_clnt.c:147,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/scache_clnt.c:151,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/scache_clnt.c:158,1
    - Dst: auto_clnt_free
      Src: /src/postfix/postfix/src/global/scache_clnt.c:159,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/global/scache_clnt.c:163,1
    - Dst: auto_clnt_recover
      Src: /src/postfix/postfix/src/global/scache_clnt.c:164,1
    - Dst: close
      Src: /src/postfix/postfix/src/global/scache_clnt.c:167,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/scache_clnt.c:168,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 29
    argCount: 5
    argNames:
    - scache
    - endp_ttl
    - endp_label
    - endp_prop
    - fd
    argTypes:
    - SCACHE*
    - int
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 169
    functionName: scache_clnt_save_endp
    functionSourceFile: /src/postfix/postfix/src/global/scache_clnt.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - sleep
    - msg_warn
    - VSTREAM_PATH
    - auto_clnt_access
    - SEND_ATTR_STR
    - SEND_ATTR_INT
    - attr_print
    - vstream_fflush
    - RECV_ATTR_STR
    - msg_info
    - attr_scan
    - auto_clnt_recover
    - close
    - vstream_fileno
    - auto_clnt_free
    - LOCAL_SEND_FD
    - RECV_ATTR_INT
    linkageType: ''
    returnType: void
    signature: "void scache_clnt_save_endp(SCACHE *scache, int endp_ttl,\n\t\t\t\t
      \         const char *endp_label,\n\t\t\t\t          const char *endp_prop,
      int fd)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: auto_clnt_access
      Src: /src/postfix/postfix/src/global/scache_clnt.c:189,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/global/scache_clnt.c:191,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/scache_clnt.c:192,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/scache_clnt.c:193,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/scache_clnt.c:195,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/scache_clnt.c:196,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/scache_clnt.c:197,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/scache_clnt.c:198,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/scache_clnt.c:201,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/scache_clnt.c:202,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/scache_clnt.c:206,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/scache_clnt.c:211,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/scache_clnt.c:213,1
    - Dst: read_wait
      Src: /src/postfix/postfix/src/global/scache_clnt.c:214,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/scache_clnt.c:214,1
    - Dst: LOCAL_RECV_FD
      Src: /src/postfix/postfix/src/global/scache_clnt.c:217,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/scache_clnt.c:217,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/scache_clnt.c:219,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/scache_clnt.c:220,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/global/scache_clnt.c:224,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/scache_clnt.c:225,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/scache_clnt.c:227,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/scache_clnt.c:230,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/scache_clnt.c:231,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/scache_clnt.c:237,1
    - Dst: auto_clnt_free
      Src: /src/postfix/postfix/src/global/scache_clnt.c:238,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/global/scache_clnt.c:242,1
    - Dst: auto_clnt_recover
      Src: /src/postfix/postfix/src/global/scache_clnt.c:243,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 3
    argNames:
    - scache
    - endp_label
    - endp_prop
    argTypes:
    - SCACHE*
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 246
    functionName: scache_clnt_find_endp
    functionSourceFile: /src/postfix/postfix/src/global/scache_clnt.c
    functionUses: 0
    functionsReached:
    - sleep
    - msg_warn
    - VSTREAM_PATH
    - read_wait
    - LOCAL_RECV_FD
    - auto_clnt_access
    - SEND_ATTR_STR
    - attr_print
    - vstream_fflush
    - RECV_ATTR_STR
    - attr_scan
    - msg_info
    - auto_clnt_recover
    - vstream_fileno
    - auto_clnt_free
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: int
    signature: "int scache_clnt_find_endp(SCACHE *scache, const char *endp_label,\n\t\t\t\t
      \        VSTRING *endp_prop)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/scache_clnt.c:262,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/scache_clnt.c:269,1
    - Dst: auto_clnt_access
      Src: /src/postfix/postfix/src/global/scache_clnt.c:277,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/global/scache_clnt.c:279,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/scache_clnt.c:280,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/scache_clnt.c:281,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/scache_clnt.c:282,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/scache_clnt.c:283,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/scache_clnt.c:284,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/scache_clnt.c:286,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/scache_clnt.c:287,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/scache_clnt.c:288,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/scache_clnt.c:291,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/scache_clnt.c:292,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/scache_clnt.c:296,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/scache_clnt.c:303,1
    - Dst: auto_clnt_free
      Src: /src/postfix/postfix/src/global/scache_clnt.c:304,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/global/scache_clnt.c:308,1
    - Dst: auto_clnt_recover
      Src: /src/postfix/postfix/src/global/scache_clnt.c:309,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 5
    argNames:
    - scache
    - dest_ttl
    - dest_label
    - dest_prop
    - endp_label
    argTypes:
    - SCACHE*
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 311
    functionName: scache_clnt_save_dest
    functionSourceFile: /src/postfix/postfix/src/global/scache_clnt.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - sleep
    - msg_warn
    - VSTREAM_PATH
    - auto_clnt_access
    - SEND_ATTR_STR
    - SEND_ATTR_INT
    - attr_print
    - vstream_fflush
    - msg_info
    - attr_scan
    - auto_clnt_recover
    - auto_clnt_free
    - RECV_ATTR_INT
    linkageType: ''
    returnType: void
    signature: "void scache_clnt_save_dest(SCACHE *scache, int dest_ttl,\n\t\t\t\t
      \         const char *dest_label,\n\t\t\t\t          const char *dest_prop,\n\t\t\t\t
      \         const char *endp_label)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: auto_clnt_access
      Src: /src/postfix/postfix/src/global/scache_clnt.c:332,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/global/scache_clnt.c:334,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/scache_clnt.c:335,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/scache_clnt.c:336,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/scache_clnt.c:338,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/scache_clnt.c:339,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/scache_clnt.c:340,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/scache_clnt.c:341,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/scache_clnt.c:342,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/scache_clnt.c:345,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/scache_clnt.c:346,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/scache_clnt.c:350,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/scache_clnt.c:355,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/scache_clnt.c:357,1
    - Dst: read_wait
      Src: /src/postfix/postfix/src/global/scache_clnt.c:358,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/scache_clnt.c:358,1
    - Dst: LOCAL_RECV_FD
      Src: /src/postfix/postfix/src/global/scache_clnt.c:361,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/scache_clnt.c:361,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/scache_clnt.c:363,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/scache_clnt.c:364,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/global/scache_clnt.c:368,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/scache_clnt.c:369,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/scache_clnt.c:371,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/scache_clnt.c:374,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/scache_clnt.c:375,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/scache_clnt.c:375,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/scache_clnt.c:381,1
    - Dst: auto_clnt_free
      Src: /src/postfix/postfix/src/global/scache_clnt.c:382,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/global/scache_clnt.c:386,1
    - Dst: auto_clnt_recover
      Src: /src/postfix/postfix/src/global/scache_clnt.c:387,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 4
    argNames:
    - scache
    - dest_label
    - dest_prop
    - endp_prop
    argTypes:
    - SCACHE*
    - char*
    - VSTRING*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 390
    functionName: scache_clnt_find_dest
    functionSourceFile: /src/postfix/postfix/src/global/scache_clnt.c
    functionUses: 0
    functionsReached:
    - sleep
    - msg_warn
    - VSTREAM_PATH
    - read_wait
    - LOCAL_RECV_FD
    - auto_clnt_access
    - SEND_ATTR_STR
    - attr_print
    - vstream_fflush
    - RECV_ATTR_STR
    - attr_scan
    - msg_info
    - auto_clnt_recover
    - vstream_fileno
    - auto_clnt_free
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: int
    signature: "int scache_clnt_find_dest(SCACHE *scache, const char *dest_label,\n\t\t\t\t
      \        VSTRING *dest_prop,\n\t\t\t\t         VSTRING *endp_prop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - unused_scache
    - size
    argTypes:
    - SCACHE*
    - SCACHE_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 400
    functionName: scache_clnt_size
    functionSourceFile: /src/postfix/postfix/src/global/scache_clnt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scache_clnt_size(SCACHE *unused_scache, SCACHE_SIZE *size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: auto_clnt_free
      Src: /src/postfix/postfix/src/global/scache_clnt.c:409,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/scache_clnt.c:411,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/scache_clnt.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - scache
    argTypes:
    - SCACHE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 414
    functionName: scache_clnt_free
    functionSourceFile: /src/postfix/postfix/src/global/scache_clnt.c
    functionUses: 0
    functionsReached:
    - myfree
    - auto_clnt_free
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void scache_clnt_free(SCACHE *scache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/scache_clnt.c:421,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/scache_clnt.c:431,1
    - Dst: auto_clnt_create
      Src: /src/postfix/postfix/src/global/scache_clnt.c:432,1
    - Dst: auto_clnt_control
      Src: /src/postfix/postfix/src/global/scache_clnt.c:433,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/scache_clnt.c:436,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/scache_clnt.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - server
    - timeout
    - idle_limit
    - ttl_limit
    argTypes:
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 443
    functionName: scache_clnt_create
    functionSourceFile: /src/postfix/postfix/src/global/scache_clnt.c
    functionUses: 0
    functionsReached:
    - vstring_alloc
    - myfree
    - auto_clnt_create
    - concatenate
    - mymalloc
    - auto_clnt_control
    linkageType: ''
    returnType: SCACHE
    signature: "SCACHE *scache_clnt_create(const char *server, int timeout,\n\t\t\t
      \          int idle_limit, int ttl_limit)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/dict_mysql.c:209,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/dict_mysql.c:216,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/dict_mysql.c:217,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/dict_mysql.c:218,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/global/dict_mysql.c:220,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/dict_mysql.c:223,1
    - Dst: mysql_real_escape_string_quote
      Src: /src/postfix/postfix/src/global/dict_mysql.c:225,1
    - Dst: vstring_end
      Src: /src/postfix/postfix/src/global/dict_mysql.c:226,1
    - Dst: mysql_real_escape_string
      Src: /src/postfix/postfix/src/global/dict_mysql.c:228,1
    - Dst: vstring_end
      Src: /src/postfix/postfix/src/global/dict_mysql.c:229,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_mysql.c:231,1
    - Dst: mysql_error
      Src: /src/postfix/postfix/src/global/dict_mysql.c:233,1
    - Dst: VSTRING_SKIP
      Src: /src/postfix/postfix/src/global/dict_mysql.c:238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - dict
    - name
    - result
    argTypes:
    - DICT*
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 239
    functionName: dict_mysql_quote
    functionSourceFile: /src/postfix/postfix/src/global/dict_mysql.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstring_end
    - msg_warn
    - strlen
    - VSTRING_LEN
    - mysql_real_escape_string
    - VSTRING_SPACE
    - mysql_error
    - mysql_real_escape_string_quote
    - VSTRING_SKIP
    linkageType: ''
    returnType: void
    signature: void dict_mysql_quote(DICT *dict, const char *name, VSTRING *result)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: valid_utf8_stringz
      Src: /src/postfix/postfix/src/global/dict_mysql.c:265,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_mysql.c:267,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dict_mysql.c:278,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/dict_mysql.c:279,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/global/dict_mysql.c:280,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_mysql.c:280,1
    - Dst: db_common_check_domain
      Src: /src/postfix/postfix/src/global/dict_mysql.c:288,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_mysql.c:290,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_mysql.c:294,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_mysql.c:296,1
    - Dst: INIT_VSTR
      Src: /src/postfix/postfix/src/global/dict_mysql.c:305,1
    - Dst: db_common_expand
      Src: /src/postfix/postfix/src/global/dict_mysql.c:315,1
    - Dst: plmysql_query
      Src: /src/postfix/postfix/src/global/dict_mysql.c:320,1
    - Dst: mysql_num_rows
      Src: /src/postfix/postfix/src/global/dict_mysql.c:326,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_mysql.c:328,1
    - Dst: mysql_free_result
      Src: /src/postfix/postfix/src/global/dict_mysql.c:330,1
    - Dst: INIT_VSTR
      Src: /src/postfix/postfix/src/global/dict_mysql.c:333,1
    - Dst: mysql_fetch_row
      Src: /src/postfix/postfix/src/global/dict_mysql.c:336,1
    - Dst: mysql_num_fields
      Src: /src/postfix/postfix/src/global/dict_mysql.c:337,1
    - Dst: db_common_expand
      Src: /src/postfix/postfix/src/global/dict_mysql.c:338,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_mysql.c:342,1
    - Dst: mysql_free_result
      Src: /src/postfix/postfix/src/global/dict_mysql.c:349,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_mysql.c:350,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 2
    argNames:
    - dict
    - name
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 352
    functionName: dict_mysql_lookup
    functionSourceFile: /src/postfix/postfix/src/global/dict_mysql.c
    functionUses: 0
    functionsReached:
    - plmysql_query
    - msg_warn
    - db_common_check_domain
    - mysql_fetch_row
    - INIT_VSTR
    - vstring_alloc
    - mysql_free_result
    - msg_info
    - DICT_ERR_VAL_RETURN
    - db_common_expand
    - mysql_num_fields
    - vstring_strcpy
    - vstring_str
    - valid_utf8_stringz
    - mysql_num_rows
    - lowercase
    linkageType: ''
    returnType: char
    signature: char *dict_mysql_lookup(DICT *dict, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: INIT_VSTR
    functionSourceFile: /src/postfix/postfix/src/global/dict_mysql.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INIT_VSTR(buf, len)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - host
    - stat
    - type
    - t
    argTypes:
    - HOST*
    - unsigned
    - unsigned
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 366
    functionName: dict_mysql_check_stat
    functionSourceFile: /src/postfix/postfix/src/global/dict_mysql.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dict_mysql_check_stat(HOST *host, unsigned stat, unsigned type,\n\t\t\t\t
      \        time_t t)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/postfix/postfix/src/global/dict_mysql.c:377,1
    - Dst: dict_mysql_check_stat
      Src: /src/postfix/postfix/src/global/dict_mysql.c:379,1
    - Dst: myrand
      Src: /src/postfix/postfix/src/global/dict_mysql.c:385,1
    - Dst: dict_mysql_check_stat
      Src: /src/postfix/postfix/src/global/dict_mysql.c:388,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - PLDB
    - stat
    - type
    argTypes:
    - PLMYSQL*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 394
    functionName: dict_mysql_find_host
    functionSourceFile: /src/postfix/postfix/src/global/dict_mysql.c
    functionUses: 0
    functionsReached:
    - time
    - dict_mysql_check_stat
    - myrand
    linkageType: ''
    returnType: HOST
    signature: HOST *dict_mysql_find_host(PLMYSQL *PLDB, unsigned stat, unsigned type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dict_mysql_find_host
      Src: /src/postfix/postfix/src/global/dict_mysql.c:406,1
    - Dst: dict_mysql_find_host
      Src: /src/postfix/postfix/src/global/dict_mysql.c:407,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_mysql.c:409,1
    - Dst: dict_mysql_find_host
      Src: /src/postfix/postfix/src/global/dict_mysql.c:420,1
    - Dst: dict_mysql_find_host
      Src: /src/postfix/postfix/src/global/dict_mysql.c:422,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_mysql.c:425,1
    - Dst: plmysql_connect_single
      Src: /src/postfix/postfix/src/global/dict_mysql.c:427,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - dict_mysql
    argTypes:
    - DICT_MYSQL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 434
    functionName: dict_mysql_get_active
    functionSourceFile: /src/postfix/postfix/src/global/dict_mysql.c
    functionUses: 0
    functionsReached:
    - dict_mysql_find_host
    - plmysql_connect_single
    - msg_info
    linkageType: ''
    returnType: HOST
    signature: HOST *dict_mysql_get_active(DICT_MYSQL *dict_mysql)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: plmysql_close_host
      Src: /src/postfix/postfix/src/global/dict_mysql.c:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 444
    functionName: dict_mysql_event
    functionSourceFile: /src/postfix/postfix/src/global/dict_mysql.c
    functionUses: 0
    functionsReached:
    - plmysql_close_host
    linkageType: ''
    returnType: void
    signature: void dict_mysql_event(int unused_event, void *context)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dict_mysql_get_active
      Src: /src/postfix/postfix/src/global/dict_mysql.c:477,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/dict_mysql.c:484,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/dict_mysql.c:485,1
    - Dst: db_common_expand
      Src: /src/postfix/postfix/src/global/dict_mysql.c:486,1
    - Dst: plmysql_down_host
      Src: /src/postfix/postfix/src/global/dict_mysql.c:490,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_mysql.c:494,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_mysql.c:494,1
    - Dst: mysql_query
      Src: /src/postfix/postfix/src/global/dict_mysql.c:503,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_mysql.c:503,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_mysql.c:505,1
    - Dst: mysql_error
      Src: /src/postfix/postfix/src/global/dict_mysql.c:507,1
    - Dst: mysql_store_result
      Src: /src/postfix/postfix/src/global/dict_mysql.c:522,1
    - Dst: SET_ERROR_AND_WARN_ONCE
      Src: /src/postfix/postfix/src/global/dict_mysql.c:526,1
    - Dst: mysql_free_result
      Src: /src/postfix/postfix/src/global/dict_mysql.c:531,1
    - Dst: mysql_field_count
      Src: /src/postfix/postfix/src/global/dict_mysql.c:539,1
    - Dst: SET_ERROR_AND_WARN_ONCE
      Src: /src/postfix/postfix/src/global/dict_mysql.c:540,1
    - Dst: mysql_error
      Src: /src/postfix/postfix/src/global/dict_mysql.c:544,1
    - Dst: mysql_next_result
      Src: /src/postfix/postfix/src/global/dict_mysql.c:550,1
    - Dst: SET_ERROR_AND_WARN_ONCE
      Src: /src/postfix/postfix/src/global/dict_mysql.c:551,1
    - Dst: mysql_error
      Src: /src/postfix/postfix/src/global/dict_mysql.c:555,1
    - Dst: SET_ERROR_AND_WARN_ONCE
      Src: /src/postfix/postfix/src/global/dict_mysql.c:563,1
    - Dst: plmysql_down_host
      Src: /src/postfix/postfix/src/global/dict_mysql.c:575,1
    - Dst: mysql_free_result
      Src: /src/postfix/postfix/src/global/dict_mysql.c:579,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_mysql.c:584,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/global/dict_mysql.c:587,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 4
    argNames:
    - dict_mysql
    - name
    - query
    - result
    argTypes:
    - DICT_MYSQL*
    - char*
    - VSTRING*
    - MYSQL_RES**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 453
    functionDepth: 3
    functionLinenumber: 453
    functionLinenumberEnd: 595
    functionName: plmysql_query
    functionSourceFile: /src/postfix/postfix/src/global/dict_mysql.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - dict_mysql_get_active
    - event_request_timer
    - SET_ERROR_AND_WARN_ONCE
    - plmysql_down_host
    - mysql_free_result
    - mysql_error
    - msg_info
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - mysql_next_result
    - mysql_field_count
    - mysql_store_result
    - mysql_query
    - vstring_str
    - db_common_expand
    linkageType: ''
    returnType: int
    signature: "int plmysql_query(DICT_MYSQL *dict_mysql,\n\t\t\t         const char
      *name,\n\t\t\t         VSTRING *query,\n\t\t\t         MYSQL_RES **result)"
  - 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: 476
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 476
    functionName: SET_ERROR_AND_WARN_ONCE
    functionSourceFile: /src/postfix/postfix/src/global/dict_mysql.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_ERROR_AND_WARN_ONCE(err, ...)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mysql_init
      Src: /src/postfix/postfix/src/global/dict_mysql.c:604,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_mysql.c:605,1
    - Dst: mysql_options
      Src: /src/postfix/postfix/src/global/dict_mysql.c:607,1
    - Dst: mysql_options
      Src: /src/postfix/postfix/src/global/dict_mysql.c:609,1
    - Dst: mysql_options
      Src: /src/postfix/postfix/src/global/dict_mysql.c:613,1
    - Dst: mysql_options
      Src: /src/postfix/postfix/src/global/dict_mysql.c:615,1
    - Dst: mysql_options
      Src: /src/postfix/postfix/src/global/dict_mysql.c:617,1
    - Dst: mysql_options
      Src: /src/postfix/postfix/src/global/dict_mysql.c:619,1
    - Dst: mysql_options
      Src: /src/postfix/postfix/src/global/dict_mysql.c:621,1
    - Dst: mysql_ssl_set
      Src: /src/postfix/postfix/src/global/dict_mysql.c:626,1
    - Dst: mysql_options
      Src: /src/postfix/postfix/src/global/dict_mysql.c:633,1
    - Dst: mysql_real_connect
      Src: /src/postfix/postfix/src/global/dict_mysql.c:636,1
    - Dst: mysql_set_character_set
      Src: /src/postfix/postfix/src/global/dict_mysql.c:644,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_mysql.c:645,1
    - Dst: mysql_error
      Src: /src/postfix/postfix/src/global/dict_mysql.c:646,1
    - Dst: plmysql_down_host
      Src: /src/postfix/postfix/src/global/dict_mysql.c:647,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_mysql.c:651,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_mysql.c:655,1
    - Dst: mysql_error
      Src: /src/postfix/postfix/src/global/dict_mysql.c:656,1
    - Dst: plmysql_down_host
      Src: /src/postfix/postfix/src/global/dict_mysql.c:657,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 2
    argNames:
    - dict_mysql
    - host
    argTypes:
    - DICT_MYSQL*
    - HOST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 659
    functionName: plmysql_connect_single
    functionSourceFile: /src/postfix/postfix/src/global/dict_mysql.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - mysql_set_character_set
    - plmysql_down_host
    - mysql_error
    - msg_info
    - mysql_real_connect
    - mysql_init
    - msg_fatal
    - mysql_ssl_set
    - mysql_options
    linkageType: ''
    returnType: void
    signature: void plmysql_connect_single(DICT_MYSQL *dict_mysql, HOST *host)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mysql_close
      Src: /src/postfix/postfix/src/global/dict_mysql.c:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - host
    argTypes:
    - HOST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 667
    functionName: plmysql_close_host
    functionSourceFile: /src/postfix/postfix/src/global/dict_mysql.c
    functionUses: 1
    functionsReached:
    - mysql_close
    linkageType: ''
    returnType: void
    signature: void plmysql_close_host(HOST *host)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mysql_close
      Src: /src/postfix/postfix/src/global/dict_mysql.c:675,1
    - Dst: time
      Src: /src/postfix/postfix/src/global/dict_mysql.c:677,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/global/dict_mysql.c:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - host
    - retry_interval
    argTypes:
    - HOST*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 680
    functionName: plmysql_down_host
    functionSourceFile: /src/postfix/postfix/src/global/dict_mysql.c
    functionUses: 2
    functionsReached:
    - time
    - mysql_close
    - event_cancel_timer
    linkageType: ''
    returnType: void
    signature: void plmysql_down_host(HOST *host, int retry_interval)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_mysql.c:691,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_mysql.c:692,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_mysql.c:693,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_mysql.c:694,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_mysql.c:695,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_mysql.c:697,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_mysql.c:699,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_mysql.c:700,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_mysql.c:701,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_mysql.c:702,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_mysql.c:703,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_mysql.c:704,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_mysql.c:705,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_mysql.c:706,1
    - Dst: cfg_get_bool
      Src: /src/postfix/postfix/src/global/dict_mysql.c:708,1
    - Dst: cfg_get_bool
      Src: /src/postfix/postfix/src/global/dict_mysql.c:710,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_mysql.c:716,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_mysql.c:719,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dict_mysql.c:725,1
    - Dst: db_common_sql_build_query
      Src: /src/postfix/postfix/src/global/dict_mysql.c:726,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/global/dict_mysql.c:727,1
    - Dst: db_common_parse
      Src: /src/postfix/postfix/src/global/dict_mysql.c:734,1
    - Dst: db_common_parse
      Src: /src/postfix/postfix/src/global/dict_mysql.c:736,1
    - Dst: db_common_parse_domain
      Src: /src/postfix/postfix/src/global/dict_mysql.c:737,1
    - Dst: db_common_dict_partial
      Src: /src/postfix/postfix/src/global/dict_mysql.c:743,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dict_mysql.c:748,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_mysql.c:750,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/global/dict_mysql.c:752,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/global/dict_mysql.c:754,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/global/dict_mysql.c:755,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_mysql.c:757,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/global/dict_mysql.c:762,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mysql.c:763,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 2
    argNames:
    - dict_mysql
    - mysqlcf
    argTypes:
    - DICT_MYSQL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 684
    functionDepth: 3
    functionLinenumber: 684
    functionLinenumberEnd: 764
    functionName: mysql_parse_config
    functionSourceFile: /src/postfix/postfix/src/global/dict_mysql.c
    functionUses: 0
    functionsReached:
    - db_common_dict_partial
    - vstring_export
    - cfg_get_bool
    - db_common_sql_build_query
    - vstring_alloc
    - msg_info
    - myfree
    - db_common_parse_domain
    - argv_add
    - argv_split
    - db_common_parse
    - cfg_get_str
    - cfg_get_int
    - argv_terminate
    linkageType: ''
    returnType: void
    signature: void mysql_parse_config(DICT_MYSQL *dict_mysql, const char *mysqlcf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/global/dict_mysql.c:777,1
    - Dst: cfg_parser_alloc
      Src: /src/postfix/postfix/src/global/dict_mysql.c:784,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/global/dict_mysql.c:785,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/global/dict_mysql.c:788,1
    - Dst: mysql_parse_config
      Src: /src/postfix/postfix/src/global/dict_mysql.c:794,1
    - Dst: plmysql_init
      Src: /src/postfix/postfix/src/global/dict_mysql.c:796,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_mysql.c:798,1
    - Dst: cfg_get_owner
      Src: /src/postfix/postfix/src/global/dict_mysql.c:799,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - name
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 768
    functionDepth: 4
    functionLinenumber: 768
    functionLinenumberEnd: 801
    functionName: dict_mysql_open
    functionSourceFile: /src/postfix/postfix/src/global/dict_mysql.c
    functionUses: 0
    functionsReached:
    - cfg_get_owner
    - cfg_parser_alloc
    - dict_surrogate
    - plmysql_init
    - dict_alloc
    - msg_fatal
    - mysql_parse_config
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_mysql_open(const char *name, int open_flags, int dict_flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/dict_mysql.c:812,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_mysql.c:813,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/dict_mysql.c:816,1
    - Dst: host_init
      Src: /src/postfix/postfix/src/global/dict_mysql.c:819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - hosts
    argTypes:
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 822
    functionName: plmysql_init
    functionSourceFile: /src/postfix/postfix/src/global/dict_mysql.c
    functionUses: 1
    functionsReached:
    - mymalloc
    - msg_fatal
    - host_init
    linkageType: ''
    returnType: PLMYSQL
    signature: PLMYSQL *plmysql_init(ARGV *hosts)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/dict_mysql.c:829,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/dict_mysql.c:834,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/global/dict_mysql.c:843,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/global/dict_mysql.c:847,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/dict_mysql.c:851,1
    - Dst: split_at_right
      Src: /src/postfix/postfix/src/global/dict_mysql.c:852,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/global/dict_mysql.c:853,1
    - Dst: find_inet_port
      Src: /src/postfix/postfix/src/global/dict_mysql.c:853,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/global/dict_mysql.c:854,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mysql.c:856,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_mysql.c:861,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 865
    functionName: host_init
    functionSourceFile: /src/postfix/postfix/src/global/dict_mysql.c
    functionUses: 2
    functionsReached:
    - msg_info
    - myfree
    - split_at_right
    - strcasecmp
    - ntohs
    - strncmp
    - mymalloc
    - mystrdup
    - find_inet_port
    linkageType: ''
    returnType: HOST
    signature: HOST *host_init(const char *hostname)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: plmysql_dealloc
      Src: /src/postfix/postfix/src/global/dict_mysql.c:873,1
    - Dst: cfg_parser_free
      Src: /src/postfix/postfix/src/global/dict_mysql.c:874,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mysql.c:875,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mysql.c:876,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mysql.c:877,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mysql.c:878,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mysql.c:879,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mysql.c:880,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mysql.c:882,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mysql.c:884,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mysql.c:886,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mysql.c:888,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mysql.c:890,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mysql.c:892,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mysql.c:894,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/global/dict_mysql.c:896,1
    - Dst: db_common_free_ctx
      Src: /src/postfix/postfix/src/global/dict_mysql.c:898,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/dict_mysql.c:900,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/global/dict_mysql.c:901,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 869
    functionDepth: 2
    functionLinenumber: 869
    functionLinenumberEnd: 902
    functionName: dict_mysql_close
    functionSourceFile: /src/postfix/postfix/src/global/dict_mysql.c
    functionUses: 0
    functionsReached:
    - db_common_free_ctx
    - dict_free
    - argv_free
    - plmysql_dealloc
    - cfg_parser_free
    - myfree
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_mysql_close(DICT *dict)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/global/dict_mysql.c:910,1
    - Dst: mysql_close
      Src: /src/postfix/postfix/src/global/dict_mysql.c:912,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mysql.c:913,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mysql.c:915,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mysql.c:916,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mysql.c:918,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_mysql.c:919,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - PLDB
    argTypes:
    - PLMYSQL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 920
    functionName: plmysql_dealloc
    functionSourceFile: /src/postfix/postfix/src/global/dict_mysql.c
    functionUses: 1
    functionsReached:
    - myfree
    - event_cancel_timer
    - mysql_close
    linkageType: ''
    returnType: void
    signature: void plmysql_dealloc(PLMYSQL *PLDB)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/test_main.c:135,1
    - Dst: basename
      Src: /src/postfix/postfix/src/global/test_main.c:135,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/test_main.c:136,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/global/test_main.c:136,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/global/test_main.c:146,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/global/test_main.c:149,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/test_main.c:150,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/test_main.c:156,1
    - Dst: set_mail_conf_str
      Src: /src/postfix/postfix/src/global/test_main.c:165,1
    - Dst: set_mail_conf_str
      Src: /src/postfix/postfix/src/global/test_main.c:166,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/global/test_main.c:167,1
    - Dst: mail_dict_init
      Src: /src/postfix/postfix/src/global/test_main.c:173,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/global/test_main.c:178,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/global/test_main.c:179,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/test_main.c:206,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/global/test_main.c:209,1
    - Dst: test_driver
      Src: /src/postfix/postfix/src/global/test_main.c:222,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/test_main.c:223,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 3
    argNames:
    - argc
    - argv
    - test_driver
    argTypes:
    - int
    - char**
    - TEST_DRIVER_FN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 123
    functionDepth: 4
    functionLinenumber: 123
    functionLinenumberEnd: 224
    functionName: test_main
    functionSourceFile: /src/postfix/postfix/src/global/test_main.c
    functionUses: 0
    functionsReached:
    - va_start
    - msg_panic
    - va_end
    - mail_dict_init
    - mail_task
    - basename
    - va_arg
    - msg_vstream_init
    - set_mail_conf_str
    - exit
    - mail_conf_read
    - GETOPT
    - mystrdup
    - test_driver
    - msg_fatal
    - setenv
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN test_main(int argc, char **argv, TEST_DRIVER_FN test_driver,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dsn_buf
    - ','
    - dsn
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: DSN_UPDATE
    functionSourceFile: /src/postfix/postfix/src/global/dsn_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSN_UPDATE(dsn_buf, dsn, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dsn_buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: DSN_STATUS
    functionSourceFile: /src/postfix/postfix/src/global/dsn_util.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSN_STATUS(dsn_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dsn_buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: DSN_CLASS
    functionSourceFile: /src/postfix/postfix/src/global/dsn_util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSN_CLASS(dsn_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: STR_OR_NULL
    functionSourceFile: /src/postfix/postfix/src/global/haproxy_srvr_test.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_OR_NULL(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/haproxy_srvr_test.c
    functionUses: 175
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/global/haproxy_srvr_test.c
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_to_hostaddr
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:104,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:105,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:105,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:108,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:109,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:113,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - which
    - sa
    - sa_len
    - want_addr
    - want_port
    argTypes:
    - char*
    - struct sockaddr*
    - SOCKADDR_SIZE
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 119
    functionName: evaluate_sockaddr
    functionSourceFile: /src/postfix/postfix/src/global/haproxy_srvr_test.c
    functionUses: 0
    functionsReached:
    - sockaddr_to_hostaddr
    - strcmp
    - msg_warn
    - MAI_STRERROR
    linkageType: ''
    returnType: int
    signature: "int evaluate_sockaddr(const char *which, struct sockaddr *sa,\n\t\t\t
      \       SOCKADDR_SIZE sa_len, const char *want_addr,\n\t\t\t             const
      char *want_port)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:146,1
    - Dst: STR_OR_NULL
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:148,1
    - Dst: STR_OR_NULL
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:149,1
    - Dst: STR_OR_NULL
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:150,1
    - Dst: STR_OR_NULL
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:151,1
    - Dst: haproxy_srvr_parse_sa
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:171,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:178,1
    - Dst: STR_OR_NULL
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:178,1
    - Dst: STR_OR_NULL
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:178,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:179,1
    - Dst: STR_OR_NULL
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:180,1
    - Dst: STR_OR_NULL
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:181,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:186,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:193,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:206,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:207,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:212,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:213,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:218,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:219,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:224,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:225,1
    - Dst: evaluate_sockaddr
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:231,1
    - Dst: evaluate_sockaddr
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:234,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 3
    argNames:
    - test_label
    - test_case
    - want_sockaddr_output
    argTypes:
    - char*
    - TEST_CASE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 123
    functionDepth: 4
    functionLinenumber: 123
    functionLinenumberEnd: 240
    functionName: evaluate_test_case
    functionSourceFile: /src/postfix/postfix/src/global/haproxy_srvr_test.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - evaluate_sockaddr
    - msg_info
    - STR_OR_NULL
    - strcmp
    - haproxy_srvr_parse_sa
    linkageType: ''
    returnType: int
    signature: "int evaluate_test_case(const char *test_label,\n\t\t\t              const
      TEST_CASE *test_case,\n\t\t\t              int want_sockaddr_output)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:262,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:263,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:264,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:269,1
    - Dst: haproxy_srvr_parse
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:271,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:274,1
    - Dst: hostaddr_to_sockaddr
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:277,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:279,1
    - Dst: hostaddr_to_sockaddr
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:281,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:283,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:286,1
    - Dst: htons
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:290,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:291,1
    - Dst: SOCK_ADDR_IN6_ADDR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:292,1
    - Dst: SOCK_ADDR_IN6_PORT
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:294,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:295,1
    - Dst: SOCK_ADDR_IN6_ADDR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:296,1
    - Dst: SOCK_ADDR_IN6_PORT
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:298,1
    - Dst: htons
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:303,1
    - Dst: SOCK_ADDR_IN_ADDR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:304,1
    - Dst: SOCK_ADDR_IN_PORT
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:305,1
    - Dst: SOCK_ADDR_IN_ADDR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:306,1
    - Dst: SOCK_ADDR_IN_PORT
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:307,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:309,1
    - Dst: vstring_set_payload_size
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:311,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:311,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:312,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:313,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - buf
    - req
    - req_len
    argTypes:
    - VSTRING*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 314
    functionName: convert_v1_proxy_req_to_v2
    functionSourceFile: /src/postfix/postfix/src/global/haproxy_srvr_test.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - htons
    - SOCK_ADDR_IN_PORT
    - haproxy_srvr_parse
    - VSTRING_SPACE
    - vstring_set_payload_size
    - freeaddrinfo
    - VSTRING_RESET
    - SOCK_ADDR_IN_ADDR
    - ntohs
    - memcpy
    - SOCK_ADDR_IN6_ADDR
    - msg_fatal
    - SOCK_ADDR_IN6_PORT
    - hostaddr_to_sockaddr
    - STR
    linkageType: ''
    returnType: void
    signature: "void convert_v1_proxy_req_to_v2(VSTRING *buf, const char *req,\n\t\t\t\t
      \              ssize_t req_len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:325,1
    - Dst: sane_basename
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:325,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:331,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:332,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:333,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:348,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:355,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:359,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:359,1
    - Dst: evaluate_test_case
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:360,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:360,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:362,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:362,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:365,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:365,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:379,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:381,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:381,1
    - Dst: evaluate_test_case
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:382,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:382,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:384,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:384,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:387,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:387,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:396,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:400,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:400,1
    - Dst: evaluate_test_case
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:402,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:402,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:404,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:404,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:407,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:407,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:415,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:421,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:421,1
    - Dst: evaluate_test_case
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:422,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:422,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:424,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:424,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:427,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:427,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:434,1
    - Dst: convert_v1_proxy_req_to_v2
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:437,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:440,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:442,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:442,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:444,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:444,1
    - Dst: evaluate_test_case
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:445,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:445,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:447,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:447,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:450,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:450,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:458,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:461,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:461,1
    - Dst: evaluate_test_case
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:462,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:462,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:464,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:464,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:467,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:467,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:476,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:481,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:481,1
    - Dst: evaluate_test_case
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:482,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:482,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:484,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:484,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:487,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:487,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:495,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:501,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:501,1
    - Dst: evaluate_test_case
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:502,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:502,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:504,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:504,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:507,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:507,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:515,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:516,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:516,1
    - Dst: evaluate_test_case
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:517,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:519,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:519,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:522,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:522,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:529,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:530,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:531,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:532,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/haproxy_srvr_test.c:533,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 116
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 316
    functionDepth: 5
    functionLinenumber: 316
    functionLinenumberEnd: 534
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/haproxy_srvr_test.c
    functionUses: 15
    functionsReached:
    - vstring_sprintf
    - strlen
    - convert_v1_proxy_req_to_v2
    - vstring_alloc
    - exit
    - msg_vstream_init
    - msg_info
    - ntohs
    - vstring_strcpy
    - evaluate_test_case
    - sane_basename
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/sendopts_test.c:92,1
    - Dst: sane_basename
      Src: /src/postfix/postfix/src/global/sendopts_test.c:92,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/sendopts_test.c:95,1
    - Dst: sendopts_strflags
      Src: /src/postfix/postfix/src/global/sendopts_test.c:96,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/sendopts_test.c:97,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/sendopts_test.c:98,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/sendopts_test.c:100,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/sendopts_test.c:102,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/sendopts_test.c:106,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/sendopts_test.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 108
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/sendopts_test.c
    functionUses: 15
    functionsReached:
    - msg_warn
    - exit
    - msg_info
    - sendopts_strflags
    - msg_vstream_init
    - strcmp
    - sane_basename
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/postfix/postfix/src/global/verp_sender.c:81,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/verp_sender.c:82,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/global/verp_sender.c:85,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/verp_sender.c:86,1
    - Dst: vstring_strncpy
      Src: /src/postfix/postfix/src/global/verp_sender.c:87,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/verp_sender.c:88,1
    - Dst: vstring_strncat
      Src: /src/postfix/postfix/src/global/verp_sender.c:89,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/verp_sender.c:91,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/verp_sender.c:92,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/verp_sender.c:95,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/verp_sender.c:96,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/verp_sender.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - buf
    - delimiters
    - sender
    - rcpt_info
    argTypes:
    - VSTRING*
    - char*
    - char*
    - RECIPIENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 100
    functionName: verp_sender
    functionSourceFile: /src/postfix/postfix/src/global/verp_sender.c
    functionUses: 0
    functionsReached:
    - strrchr
    - VSTRING_ADDCH
    - vstring_strncat
    - strlen
    - vstring_strncpy
    - vstring_strcat
    - VSTRING_TERMINATE
    linkageType: ''
    returnType: VSTRING
    signature: "VSTRING *verp_sender(VSTRING *buf, const char *delimiters,\n\t\t             const
      char *sender, const RECIPIENT *rcpt_info)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/verp_sender.c:106,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/verp_sender.c:108,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/verp_sender.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - delims
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: verp_delims_verify
    functionSourceFile: /src/postfix/postfix/src/global/verp_sender.c
    functionUses: 1
    functionsReached:
    - strchr
    - strlen
    linkageType: ''
    returnType: char
    signature: char *verp_delims_verify(const char *delims)
  - 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: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/global/dynamicmaps.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x, y)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:136,1
    - Dst: saved_dict_open_hook
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:142,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:150,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:151,1
    - Dst: stat
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:156,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:157,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:162,1
    - Dst: load_library_symbols
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:170,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:171,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - dict_type
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 176
    functionName: dymap_dict_lookup
    functionSourceFile: /src/postfix/postfix/src/global/dynamicmaps.c
    functionUses: 0
    functionsReached:
    - stat
    - msg_warn
    - mystrdup
    - load_library_symbols
    - msg_info
    - saved_dict_open_hook
    - mymalloc
    - htable_find
    linkageType: ''
    returnType: DICT_OPEN_INFO
    signature: DICT_OPEN_INFO *dymap_dict_lookup(const char *dict_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: saved_dict_mapnames_hook
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:188,1
    - Dst: htable_list
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:190,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:191,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - map_names
    argTypes:
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 193
    functionName: dymap_list
    functionSourceFile: /src/postfix/postfix/src/global/dynamicmaps.c
    functionUses: 0
    functionsReached:
    - myfree
    - saved_dict_mapnames_hook
    - htable_list
    - argv_add
    linkageType: ''
    returnType: void
    signature: void dymap_list(ARGV *map_names)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:201,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:202,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:203,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: dymap_entry_alloc
    functionSourceFile: /src/postfix/postfix/src/global/dynamicmaps.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - mystrdup
    linkageType: ''
    returnType: DYMAP_INFO
    signature: DYMAP_INFO *dymap_entry_alloc(char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:214,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:215,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:217,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 219
    functionName: dymap_entry_free
    functionSourceFile: /src/postfix/postfix/src/global/dynamicmaps.c
    functionUses: 0
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void dymap_entry_free(void *ptr)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:238,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:239,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:240,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:240,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:241,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:243,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:246,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:247,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:248,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:250,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:254,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:256,1
    - Dst: ISALNUM
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:258,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:259,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:262,1
    - Dst: argv_replace_one
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:263,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:264,1
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:266,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:267,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:270,1
    - Dst: dymap_entry_alloc
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:271,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:272,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:274,1
    - Dst: dict_open_extend
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:281,1
    - Dst: dict_mapnames_extend
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:282,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:285,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:287,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 2
    argNames:
    - path
    - path_base
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 289
    functionName: dymap_read_conf
    functionSourceFile: /src/postfix/postfix/src/global/dynamicmaps.c
    functionUses: 0
    functionsReached:
    - msg_info
    - dict_open_extend
    - argv_replace_one
    - vstring_get_nonl
    - vstring_alloc
    - htable_locate
    - concatenate
    - vstring_str
    - vstream_fopen
    - dymap_entry_alloc
    - myfree
    - htable_enter
    - ISALNUM
    - argv_split
    - fstat
    - vstring_free
    - msg_warn
    - dict_mapnames_extend
    - argv_free
    - vstream_fclose
    - vstream_fileno
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void dymap_read_conf(const char *path, const char *path_base)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:302,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:308,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:309,1
    - Dst: dymap_read_conf
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:314,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:319,1
    - Dst: access
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:320,1
    - Dst: scan_dir_open
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:321,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:322,1
    - Dst: scan_dir_next
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:323,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:324,1
    - Dst: dymap_read_conf
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:325,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:325,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:329,1
    - Dst: scan_dir_close
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:330,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:331,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:334,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:336,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/dynamicmaps.c:343,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - conf_path
    - plugin_dir
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 344
    functionName: dymap_init
    functionSourceFile: /src/postfix/postfix/src/global/dynamicmaps.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstring_sprintf
    - msg_warn
    - scan_dir_close
    - htable_create
    - htable_free
    - vstring_alloc
    - msg_info
    - dymap_read_conf
    - scan_dir_open
    - myfree
    - concatenate
    - scan_dir_next
    - vstring_str
    - access
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dymap_init(const char *conf_path, const char *plugin_dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geteuid
      Src: /src/postfix/postfix/src/global/dot_lockfile_as.c:56,1
    - Dst: getegid
      Src: /src/postfix/postfix/src/global/dot_lockfile_as.c:57,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/global/dot_lockfile_as.c:63,1
    - Dst: dot_lockfile
      Src: /src/postfix/postfix/src/global/dot_lockfile_as.c:68,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/global/dot_lockfile_as.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - path
    - why
    - euid
    - egid
    argTypes:
    - char*
    - VSTRING*
    - uid_t
    - gid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 76
    functionName: dot_lockfile_as
    functionSourceFile: /src/postfix/postfix/src/global/dot_lockfile_as.c
    functionUses: 0
    functionsReached:
    - geteuid
    - getegid
    - set_eugid
    - dot_lockfile
    linkageType: ''
    returnType: int
    signature: int dot_lockfile_as(const char *path, VSTRING *why, uid_t euid, gid_t
      egid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geteuid
      Src: /src/postfix/postfix/src/global/dot_lockfile_as.c:82,1
    - Dst: getegid
      Src: /src/postfix/postfix/src/global/dot_lockfile_as.c:83,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/global/dot_lockfile_as.c:88,1
    - Dst: dot_unlockfile
      Src: /src/postfix/postfix/src/global/dot_lockfile_as.c:93,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/global/dot_lockfile_as.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - path
    - euid
    - egid
    argTypes:
    - char*
    - uid_t
    - gid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 99
    functionName: dot_unlockfile_as
    functionSourceFile: /src/postfix/postfix/src/global/dot_lockfile_as.c
    functionUses: 0
    functionsReached:
    - geteuid
    - getegid
    - dot_unlockfile
    - set_eugid
    linkageType: ''
    returnType: void
    signature: void dot_unlockfile_as(const char *path, uid_t euid, gid_t egid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: string_list_init
      Src: /src/postfix/postfix/src/global/match_parent_style.c:63,1
    - Dst: string_list_match
      Src: /src/postfix/postfix/src/global/match_parent_style.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 74
    functionName: match_parent_style
    functionSourceFile: /src/postfix/postfix/src/global/match_parent_style.c
    functionUses: 4
    functionsReached:
    - string_list_init
    - string_list_match
    linkageType: ''
    returnType: int
    signature: int match_parent_style(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: DSN_RET_OK
    functionSourceFile: /src/postfix/postfix/src/global/dsn_mask.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSN_RET_OK(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: DSN_NOTIFY_OK
    functionSourceFile: /src/postfix/postfix/src/global/dsn_mask.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSN_NOTIFY_OK(v)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/postfix/postfix/src/global/user_acl.c:78,1
    - Dst: mypwuid
      Src: /src/postfix/postfix/src/global/user_acl.c:101,1
    - Dst: string_list_init
      Src: /src/postfix/postfix/src/global/user_acl.c:107,1
    - Dst: string_list_match
      Src: /src/postfix/postfix/src/global/user_acl.c:108,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/user_acl.c:110,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/user_acl.c:111,1
    - Dst: string_list_free
      Src: /src/postfix/postfix/src/global/user_acl.c:113,1
    - Dst: mypwfree
      Src: /src/postfix/postfix/src/global/user_acl.c:115,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/user_acl.c:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - pname
    - acl
    - uid
    argTypes:
    - char*
    - char*
    - uid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 118
    functionName: check_user_acl_byuid
    functionSourceFile: /src/postfix/postfix/src/global/user_acl.c
    functionUses: 0
    functionsReached:
    - mypwuid
    - mypwfree
    - vstring_alloc
    - string_list_match
    - strncmp
    - vstring_strcpy
    - string_list_init
    - vstring_str
    - string_list_free
    linkageType: ''
    returnType: char
    signature: char *check_user_acl_byuid(const char *pname, const char *acl, uid_t
      uid)
  - 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: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: set_mail_conf_nbool_int
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_mail_conf_nbool_int(name, value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/deliver_completed.c:55,1
    - Dst: rec_put_type
      Src: /src/postfix/postfix/src/global/deliver_completed.c:57,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/deliver_completed.c:58,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/deliver_completed.c:59,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/deliver_completed.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - stream
    - offset
    argTypes:
    - VSTREAM*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 60
    functionName: deliver_completed
    functionSourceFile: /src/postfix/postfix/src/global/deliver_completed.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - VSTREAM_PATH
    - vstream_fflush
    - rec_put_type
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void deliver_completed(VSTREAM *stream, long offset)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CU_CHAR_PTR
      Src: /src/postfix/postfix/src/global/is_header.c:65,1
    - Dst: ISASCII
      Src: /src/postfix/postfix/src/global/is_header.c:70,1
    - Dst: ISCNTRL
      Src: /src/postfix/postfix/src/global/is_header.c:70,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 2
    argNames:
    - str
    - str_len
    argTypes:
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 92
    functionName: is_header_buf
    functionSourceFile: /src/postfix/postfix/src/global/is_header.c
    functionUses: 1
    functionsReached:
    - CU_CHAR_PTR
    - ISASCII
    - ISCNTRL
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t is_header_buf(const char *str, ssize_t str_len)
  - 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: CU_CHAR_PTR
    functionSourceFile: /src/postfix/postfix/src/global/is_header.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_CHAR_PTR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: DEL_REQ_ATTR_AVAIL
    functionSourceFile: /src/postfix/postfix/src/global/deliver_request.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEL_REQ_ATTR_AVAIL(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: DEL_REQ_TRACE_FLAGS
    functionSourceFile: /src/postfix/postfix/src/global/deliver_request.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEL_REQ_TRACE_FLAGS(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: DEL_REQ_TRACE_ONLY
    functionSourceFile: /src/postfix/postfix/src/global/deliver_request.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEL_REQ_TRACE_ONLY(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/rec2stream.c:40,1
    - Dst: rec_get
      Src: /src/postfix/postfix/src/global/rec2stream.c:43,1
    - Dst: REC_STREAMLF_PUT_BUF
      Src: /src/postfix/postfix/src/global/rec2stream.c:44,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/rec2stream.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/rec2stream.c
    functionUses: 15
    functionsReached:
    - rec_get
    - REC_STREAMLF_PUT_BUF
    - vstream_fflush
    - vstring_alloc
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/postfix/postfix/src/global/conv_time.c:74,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - strval
    - timval
    - def_unit
    argTypes:
    - char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 113
    functionName: conv_time
    functionSourceFile: /src/postfix/postfix/src/global/conv_time.c
    functionUses: 3
    functionsReached:
    - strtol
    linkageType: ''
    returnType: int
    signature: int conv_time(const char *strval, int *timval, int def_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/tok822_node.c:62,1
    - Dst: CONTAINER_TOKEN
      Src: /src/postfix/postfix/src/global/tok822_node.c:65,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/tok822_node.c:66,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/tok822_node.c:67,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/tok822_node.c:67,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/tok822_node.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - type
    - strval
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: tok822_alloc
    functionSourceFile: /src/postfix/postfix/src/global/tok822_node.c
    functionUses: 5
    functionsReached:
    - strlen
    - vstring_alloc
    - CONTAINER_TOKEN
    - vstring_strcpy
    - mymalloc
    linkageType: ''
    returnType: TOK822
    signature: TOK822 *tok822_alloc(int type, const char *strval)
  - 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: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: CONTAINER_TOKEN
    functionSourceFile: /src/postfix/postfix/src/global/tok822_node.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONTAINER_TOKEN(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/tok822_node.c:76,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/tok822_node.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tp
    argTypes:
    - TOK822*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: tok822_free
    functionSourceFile: /src/postfix/postfix/src/global/tok822_node.c
    functionUses: 2
    functionsReached:
    - myfree
    - vstring_free
    linkageType: ''
    returnType: TOK822
    signature: TOK822 *tok822_free(TOK822 *tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name_mask_opt
      Src: /src/postfix/postfix/src/global/ehlo_mask.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mask_str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: ehlo_mask
    functionSourceFile: /src/postfix/postfix/src/global/ehlo_mask.c
    functionUses: 0
    functionsReached:
    - name_mask_opt
    linkageType: ''
    returnType: int
    signature: int ehlo_mask(const char *mask_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str_name_mask
      Src: /src/postfix/postfix/src/global/ehlo_mask.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mask_bits
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: str_ehlo_mask
    functionSourceFile: /src/postfix/postfix/src/global/ehlo_mask.c
    functionUses: 0
    functionsReached:
    - str_name_mask
    linkageType: ''
    returnType: char
    signature: char *str_ehlo_mask(int mask_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/ehlo_mask.c:131,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/global/ehlo_mask.c:134,1
    - Dst: ehlo_mask
      Src: /src/postfix/postfix/src/global/ehlo_mask.c:135,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/ehlo_mask.c:135,1
    - Dst: str_ehlo_mask
      Src: /src/postfix/postfix/src/global/ehlo_mask.c:136,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/ehlo_mask.c:137,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/ehlo_mask.c:137,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/ehlo_mask.c:139,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/ehlo_mask.c:141,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/ehlo_mask.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 143
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/ehlo_mask.c
    functionUses: 15
    functionsReached:
    - vstring_get_nonl
    - ehlo_mask
    - vstream_fflush
    - vstring_alloc
    - exit
    - vstream_printf
    - vstring_str
    - str_ehlo_mask
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/mail_dict.c:92,1
    - Dst: dymap_init
      Src: /src/postfix/postfix/src/global/mail_dict.c:97,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_dict.c:98,1
    - Dst: dict_open_register
      Src: /src/postfix/postfix/src/global/mail_dict.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 85
    functionDepth: 4
    functionLinenumber: 85
    functionLinenumberEnd: 103
    functionName: mail_dict_init
    functionSourceFile: /src/postfix/postfix/src/global/mail_dict.c
    functionUses: 1
    functionsReached:
    - concatenate
    - dict_open_register
    - myfree
    - dymap_init
    linkageType: ''
    returnType: void
    signature: void mail_dict_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mail_dict_init
      Src: /src/postfix/postfix/src/global/mail_dict.c:120,1
    - Dst: dict_test
      Src: /src/postfix/postfix/src/global/mail_dict.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 5
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/mail_dict.c
    functionUses: 15
    functionsReached:
    - mail_dict_init
    - dict_test
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/string_list.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/global/string_list.c
    functionUses: 10
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void usage(char *progname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/string_list.c:100,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/global/string_list.c:102,1
    - Dst: usage
      Src: /src/postfix/postfix/src/global/string_list.c:108,1
    - Dst: usage
      Src: /src/postfix/postfix/src/global/string_list.c:112,1
    - Dst: string_list_init
      Src: /src/postfix/postfix/src/global/string_list.c:115,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/string_list.c:117,1
    - Dst: string_list_match
      Src: /src/postfix/postfix/src/global/string_list.c:117,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/string_list.c:119,1
    - Dst: string_list_free
      Src: /src/postfix/postfix/src/global/string_list.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 122
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/string_list.c
    functionUses: 15
    functionsReached:
    - vstream_fflush
    - string_list_match
    - msg_vstream_init
    - vstream_printf
    - usage
    - string_list_init
    - GETOPT
    - string_list_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/record.c:178,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/record.c:181,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/global/record.c:183,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/global/record.c:184,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/record.c:185,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/record.c:185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - stream
    - type
    - offset
    argTypes:
    - VSTREAM*
    - int
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 190
    functionName: rec_put_type
    functionSourceFile: /src/postfix/postfix/src/global/record.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - VSTREAM_PUTC
    - msg_warn
    - VSTREAM_PATH
    - vstream_fseek
    - msg_info
    linkageType: ''
    returnType: int
    signature: int rec_put_type(VSTREAM *stream, int type, off_t offset)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/record.c:200,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/record.c:203,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/global/record.c:209,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/global/record.c:221,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/global/record.c:229,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - stream
    - type
    - data
    - len
    argTypes:
    - VSTREAM*
    - int
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 232
    functionName: rec_put
    functionSourceFile: /src/postfix/postfix/src/global/record.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - VSTREAM_PUTC
    - vstream_fwrite
    - msg_info
    linkageType: ''
    returnType: int
    signature: int rec_put(VSTREAM *stream, int type, const char *data, ssize_t len)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/record.c:248,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/global/record.c:255,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/record.c:265,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/record.c:266,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/global/record.c:269,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/record.c:270,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/record.c:271,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/record.c:279,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/record.c:280,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/global/record.c:281,1
    - Dst: vstream_fread_buf
      Src: /src/postfix/postfix/src/global/record.c:290,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/record.c:291,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/record.c:292,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/record.c:295,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/record.c:297,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/record.c:298,1
    - Dst: rec_goto
      Src: /src/postfix/postfix/src/global/record.c:306,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/record.c:306,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/global/record.c:311,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/record.c:312,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/record.c:313,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 45
    argCount: 4
    argNames:
    - stream
    - buf
    - maxsize
    - flags
    argTypes:
    - VSTREAM*
    - VSTRING*
    - ssize_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 319
    functionName: rec_get_raw
    functionSourceFile: /src/postfix/postfix/src/global/record.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_warn
    - VSTREAM_PATH
    - vstream_fseek
    - msg_info
    - VSTREAM_GETC
    - VSTRING_TERMINATE
    - vstream_fread_buf
    - rec_goto
    - vstring_str
    linkageType: ''
    returnType: int
    signature: int rec_get_raw(VSTREAM *stream, VSTRING *buf, ssize_t maxsize, int
      flags)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/record.c:341,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/record.c:341,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/record.c:343,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/record.c:344,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/record.c:344,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/global/record.c:348,1
    - Dst: off_cvt_string
      Src: /src/postfix/postfix/src/global/record.c:350,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/record.c:351,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/record.c:352,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/record.c:358,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/record.c:358,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/global/record.c:360,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/record.c:361,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/record.c:362,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - stream
    - buf
    argTypes:
    - VSTREAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 368
    functionName: rec_goto
    functionSourceFile: /src/postfix/postfix/src/global/record.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - VSTREAM_PATH
    - ISSPACE
    - vstream_fseek
    - myfree
    - strcmp
    - off_cvt_string
    - mystrdup
    linkageType: ''
    returnType: int
    signature: int rec_goto(VSTREAM *stream, const char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/record.c:377,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/global/record.c:383,1
    - Dst: REC_PUT_BUF
      Src: /src/postfix/postfix/src/global/record.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - stream
    - type
    - format
    - ap
    argTypes:
    - VSTREAM*
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 385
    functionName: rec_vfprintf
    functionSourceFile: /src/postfix/postfix/src/global/record.c
    functionUses: 1
    functionsReached:
    - REC_PUT_BUF
    - vstring_vsprintf
    - vstring_alloc
    linkageType: ''
    returnType: int
    signature: int rec_vfprintf(VSTREAM *stream, int type, const char *format, va_list
      ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/global/record.c:394,1
    - Dst: rec_vfprintf
      Src: /src/postfix/postfix/src/global/record.c:395,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/global/record.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - type
    - format
    argTypes:
    - VSTREAM*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 398
    functionName: rec_fprintf
    functionSourceFile: /src/postfix/postfix/src/global/record.c
    functionUses: 1
    functionsReached:
    - va_start
    - rec_vfprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: int rec_fprintf(VSTREAM *stream, int type, const char *format,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rec_put
      Src: /src/postfix/postfix/src/global/record.c:404,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/record.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - type
    - str
    argTypes:
    - VSTREAM*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: rec_fputs
    functionSourceFile: /src/postfix/postfix/src/global/record.c
    functionUses: 3
    functionsReached:
    - rec_put
    - strlen
    linkageType: ''
    returnType: int
    signature: int rec_fputs(VSTREAM *stream, int type, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/global/record.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - type
    - len
    argTypes:
    - VSTREAM*
    - int
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 409
    functionDepth: 3
    functionLinenumber: 409
    functionLinenumberEnd: 415
    functionName: rec_pad
    functionSourceFile: /src/postfix/postfix/src/global/record.c
    functionUses: 0
    functionsReached:
    - rec_fprintf
    linkageType: ''
    returnType: int
    signature: int rec_pad(VSTREAM *stream, int type, ssize_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/postfix/postfix/src/global/mail_version.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - strval
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: mail_version_int
    functionSourceFile: /src/postfix/postfix/src/global/mail_version.c
    functionUses: 0
    functionsReached:
    - strtol
    linkageType: ''
    returnType: int
    signature: int mail_version_int(const char *strval)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/mail_version.c:118,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/mail_version.c:125,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/global/mail_version.c:128,1
    - Dst: mail_version_int
      Src: /src/postfix/postfix/src/global/mail_version.c:130,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/global/mail_version.c:132,1
    - Dst: mail_version_int
      Src: /src/postfix/postfix/src/global/mail_version.c:133,1
    - Dst: mail_version_int
      Src: /src/postfix/postfix/src/global/mail_version.c:138,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/mail_version.c:147,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - mp
    - cp
    argTypes:
    - MAIL_VERSION*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 151
    functionName: mail_version_worker
    functionSourceFile: /src/postfix/postfix/src/global/mail_version.c
    functionUses: 0
    functionsReached:
    - split_at
    - mail_version_int
    - mystrtok
    linkageType: ''
    returnType: char
    signature: char *mail_version_worker(MAIL_VERSION *mp, char *cp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/mail_version.c:161,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mail_version.c:162,1
    - Dst: mail_version_worker
      Src: /src/postfix/postfix/src/global/mail_version.c:163,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_version.c:165,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_version.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - string
    - why
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 171
    functionName: mail_version_parse
    functionSourceFile: /src/postfix/postfix/src/global/mail_version.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - mail_version_worker
    - myfree
    - mystrdup
    linkageType: ''
    returnType: MAIL_VERSION
    signature: MAIL_VERSION *mail_version_parse(const char *string, const char **why)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_version.c:177,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_version.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mp
    argTypes:
    - MAIL_VERSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: mail_version_free
    functionSourceFile: /src/postfix/postfix/src/global/mail_version.c
    functionUses: 0
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void mail_version_free(MAIL_VERSION *mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: get_mail_version
    functionSourceFile: /src/postfix/postfix/src/global/mail_version.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *get_mail_version(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/mail_version.c:192,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_version.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - version_string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: check_mail_version
    functionSourceFile: /src/postfix/postfix/src/global/mail_version.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - strcmp
    linkageType: ''
    returnType: void
    signature: void check_mail_version(const char *version_string)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/global/mail_version.c
    functionUses: 177
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mail_version_parse
      Src: /src/postfix/postfix/src/global/mail_version.c:213,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/mail_version.c:215,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/mail_version.c:217,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/mail_version.c:218,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/mail_version.c:219,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/mail_version.c:221,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/mail_version.c:223,1
    - Dst: mail_version_free
      Src: /src/postfix/postfix/src/global/mail_version.c:224,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/mail_version.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - sample
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 227
    functionName: parse_sample
    functionSourceFile: /src/postfix/postfix/src/global/mail_version.c
    functionUses: 0
    functionsReached:
    - mail_version_free
    - mail_version_parse
    - vstream_fflush
    - vstream_printf
    linkageType: ''
    returnType: void
    signature: void parse_sample(const char *sample)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_version.c:233,1
    - Dst: isatty
      Src: /src/postfix/postfix/src/global/mail_version.c:234,1
    - Dst: parse_sample
      Src: /src/postfix/postfix/src/global/mail_version.c:238,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/mail_version.c:242,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/mail_version.c:243,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/global/mail_version.c:245,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/mail_version.c:248,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_version.c:248,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_version.c:249,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_version.c:249,1
    - Dst: parse_sample
      Src: /src/postfix/postfix/src/global/mail_version.c:251,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/mail_version.c:251,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/mail_version.c:254,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 231
    functionDepth: 4
    functionLinenumber: 231
    functionLinenumberEnd: 256
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/mail_version.c
    functionUses: 15
    functionsReached:
    - vstring_fgets_nonl
    - parse_sample
    - vstream_fflush
    - vstring_alloc
    - vstream_printf
    - isatty
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - st
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: MSG_STATS_INIT
    functionSourceFile: /src/postfix/postfix/src/global/msg_stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MSG_STATS_INIT(st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - st
    - ','
    - member
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: MSG_STATS_INIT1
    functionSourceFile: /src/postfix/postfix/src/global/msg_stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MSG_STATS_INIT1(st, member, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - st
    - ','
    - m1
    - ','
    - v1
    - ','
    - m2
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: MSG_STATS_INIT2
    functionSourceFile: /src/postfix/postfix/src/global/msg_stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MSG_STATS_INIT2(st, m1, v1, m2, v2)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/global/split_addr.c:75,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/global/split_addr.c:77,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/global/split_addr.c:79,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/split_addr.c:85,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/global/split_addr.c:86,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/split_addr.c:88,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/global/split_addr.c:89,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/global/split_addr.c:97,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - localpart
    - delimiter_set
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 103
    functionName: split_addr_internal
    functionSourceFile: /src/postfix/postfix/src/global/split_addr.c
    functionUses: 0
    functionsReached:
    - strchr
    - strlen
    - strcasecmp
    - strcspn
    - strncasecmp
    - strcasecmp_utf8
    linkageType: ''
    returnType: char
    signature: char *split_addr_internal(char *localpart, const char *delimiter_set)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/delivered_hdr.c
    functionUses: 178
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:129,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:131,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:132,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:133,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:135,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:136,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:136,1
    - Dst: rec_get
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:149,1
    - Dst: is_header
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:154,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:154,1
    - Dst: header_opts_find
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:155,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:155,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:157,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:157,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:158,1
    - Dst: fold_addr
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:160,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:162,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:163,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:165,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:165,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 3
    argNames:
    - fp
    - offset
    - flags
    argTypes:
    - VSTREAM*
    - off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 172
    functionName: delivered_hdr_init
    functionSourceFile: /src/postfix/postfix/src/global/delivered_hdr.c
    functionUses: 0
    functionsReached:
    - VSTREAM_PATH
    - header_opts_find
    - vstream_fseek
    - strlen
    - htable_create
    - ISSPACE
    - is_header
    - vstring_alloc
    - msg_info
    - htable_enter
    - rec_get
    - fold_addr
    - mymalloc
    - msg_fatal
    - STR
    linkageType: ''
    returnType: DELIVERED_HDR_INFO
    signature: DELIVERED_HDR_INFO *delivered_hdr_init(VSTREAM *fp, off_t offset, int
      flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:186,1
    - Dst: fold_addr
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:187,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:187,1
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - info
    - address
    argTypes:
    - DELIVERED_HDR_INFO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 190
    functionName: delivered_hdr_find
    functionSourceFile: /src/postfix/postfix/src/global/delivered_hdr.c
    functionUses: 0
    functionsReached:
    - quote_822_local
    - htable_locate
    - STR
    - fold_addr
    linkageType: ''
    returnType: int
    signature: int delivered_hdr_find(DELIVERED_HDR_INFO *info, const char *address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:196,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:197,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:198,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - DELIVERED_HDR_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: delivered_hdr_free
    functionSourceFile: /src/postfix/postfix/src/global/delivered_hdr.c
    functionUses: 0
    functionsReached:
    - myfree
    - htable_free
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void delivered_hdr_free(DELIVERED_HDR_INFO *info)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:233,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:235,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:237,1
    - Dst: vstream_memopen
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:238,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:239,1
    - Dst: REC_PUT_LIT
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:244,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:246,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:247,1
    - Dst: vstream_memopen
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:249,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:250,1
    - Dst: delivered_hdr_init
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:252,1
    - Dst: delivered_hdr_find
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:256,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:257,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/delivered_hdr.c:263,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - arc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 209
    functionDepth: 4
    functionLinenumber: 209
    functionLinenumberEnd: 264
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/delivered_hdr.c
    functionUses: 15
    functionsReached:
    - msg_panic
    - delivered_hdr_find
    - exit
    - vstream_memopen
    - vstring_alloc
    - msg_vstream_init
    - vstream_fclose
    - msg_info
    - delivered_hdr_init
    - REC_PUT_LIT
    - mystrdup
    linkageType: ''
    returnType: int
    signature: int main(int arc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fp
    - ','
    - type
    - ','
    - lit
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: REC_PUT_LIT
    functionSourceFile: /src/postfix/postfix/src/global/delivered_hdr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REC_PUT_LIT(fp, type, lit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: SWAP
    functionSourceFile: /src/postfix/postfix/src/global/off_cvt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP(type, a, b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/global/off_cvt.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 92
    functionName: off_cvt_string
    functionSourceFile: /src/postfix/postfix/src/global/off_cvt.c
    functionUses: 1
    functionsReached:
    - ISDIGIT
    linkageType: ''
    returnType: off_t
    signature: off_t off_cvt_string(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/off_cvt.c:107,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/off_cvt.c:108,1
    - Dst: off_cvt_number
      Src: /src/postfix/postfix/src/global/off_cvt.c:108,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/off_cvt.c:113,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/off_cvt.c:115,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/off_cvt.c:118,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/off_cvt.c:123,1
    - Dst: END
      Src: /src/postfix/postfix/src/global/off_cvt.c:124,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/off_cvt.c:125,1
    - Dst: SWAP
      Src: /src/postfix/postfix/src/global/off_cvt.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - offset
    argTypes:
    - VSTRING*
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 128
    functionName: off_cvt_number
    functionSourceFile: /src/postfix/postfix/src/global/off_cvt.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - VSTRING_ADDCH
    - VSTRING_LEN
    - END
    - off_cvt_number
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - SWAP
    - STR
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *off_cvt_number(VSTRING *buf, off_t offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/off_cvt.c:141,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/global/off_cvt.c:144,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/off_cvt.c:145,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/off_cvt.c:145,1
    - Dst: off_cvt_string
      Src: /src/postfix/postfix/src/global/off_cvt.c:147,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/off_cvt.c:147,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/off_cvt.c:148,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/off_cvt.c:148,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/off_cvt.c:150,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/off_cvt.c:150,1
    - Dst: off_cvt_number
      Src: /src/postfix/postfix/src/global/off_cvt.c:150,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/off_cvt.c:152,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/off_cvt.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 156
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/off_cvt.c
    functionUses: 15
    functionsReached:
    - msg_warn
    - vstring_fgets_nonl
    - vstream_fflush
    - vstring_alloc
    - off_cvt_number
    - vstream_printf
    - off_cvt_string
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: SYS_EXITS_CODE
    functionSourceFile: /src/postfix/postfix/src/global/sys_exits.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SYS_EXITS_CODE(n)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mail_queue_name_ok
      Src: /src/postfix/postfix/src/global/mail_open_ok.c:80,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_open_ok.c:81,1
    - Dst: mail_queue_id_ok
      Src: /src/postfix/postfix/src/global/mail_open_ok.c:84,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/global/mail_open_ok.c:94,1
    - Dst: lstat
      Src: /src/postfix/postfix/src/global/mail_open_ok.c:96,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_open_ok.c:98,1
    - Dst: S_ISREG
      Src: /src/postfix/postfix/src/global/mail_open_ok.c:101,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_open_ok.c:102,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/mail_open_ok.c:120,1
    - Dst: time
      Src: /src/postfix/postfix/src/global/mail_open_ok.c:122,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_open_ok.c:123,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - queue_name
    - queue_id
    - statp
    - path
    argTypes:
    - char*
    - char*
    - struct stat*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 127
    functionName: mail_open_ok
    functionSourceFile: /src/postfix/postfix/src/global/mail_open_ok.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - time
    - S_ISREG
    - msg_info
    - mail_queue_id_ok
    - mail_queue_name_ok
    - mail_queue_path
    - lstat
    linkageType: ''
    returnType: int
    signature: "int mail_open_ok(const char *queue_name, const char *queue_id,\n\t\t
      \            struct stat * statp, const char **path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - head
    - op
    argTypes:
    - TOK822*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: tok822_find_type
    functionSourceFile: /src/postfix/postfix/src/global/tok822_find.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TOK822
    signature: TOK822 *tok822_find_type(TOK822 *head, int op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - tail
    - op
    argTypes:
    - TOK822*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: tok822_rfind_type
    functionSourceFile: /src/postfix/postfix/src/global/tok822_find.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TOK822
    signature: TOK822 *tok822_rfind_type(TOK822 *tail, int op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: is_header
    functionSourceFile: /src/postfix/postfix/src/global/is_header.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_header(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name_code
      Src: /src/postfix/postfix/src/global/dsn_mask.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: dsn_ret_code
    functionSourceFile: /src/postfix/postfix/src/global/dsn_mask.c
    functionUses: 0
    functionsReached:
    - name_code
    linkageType: ''
    returnType: int
    signature: int dsn_ret_code(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str_name_code
      Src: /src/postfix/postfix/src/global/dsn_mask.c:101,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/dsn_mask.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: dsn_ret_str
    functionSourceFile: /src/postfix/postfix/src/global/dsn_mask.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - str_name_code
    linkageType: ''
    returnType: char
    signature: char *dsn_ret_str(int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name_mask_opt
      Src: /src/postfix/postfix/src/global/dsn_mask.c:110,1
    - Dst: DSN_NOTIFY_OK
      Src: /src/postfix/postfix/src/global/dsn_mask.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: dsn_notify_mask
    functionSourceFile: /src/postfix/postfix/src/global/dsn_mask.c
    functionUses: 0
    functionsReached:
    - DSN_NOTIFY_OK
    - name_mask_opt
    linkageType: ''
    returnType: int
    signature: int dsn_notify_mask(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str_name_mask_opt
      Src: /src/postfix/postfix/src/global/dsn_mask.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mask
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: dsn_notify_str
    functionSourceFile: /src/postfix/postfix/src/global/dsn_mask.c
    functionUses: 0
    functionsReached:
    - str_name_mask_opt
    linkageType: ''
    returnType: char
    signature: char *dsn_notify_str(int mask)
  - 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: CA_TEST_MAIN_INT_TABLE
    functionSourceFile: /src/postfix/postfix/src/global/test_main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_TEST_MAIN_INT_TABLE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: CA_TEST_MAIN_STR_TABLE
    functionSourceFile: /src/postfix/postfix/src/global/test_main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_TEST_MAIN_STR_TABLE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: CA_TEST_MAIN_BOOL_TABLE
    functionSourceFile: /src/postfix/postfix/src/global/test_main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_TEST_MAIN_BOOL_TABLE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: CA_TEST_MAIN_TIME_TABLE
    functionSourceFile: /src/postfix/postfix/src/global/test_main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_TEST_MAIN_TIME_TABLE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: CA_TEST_MAIN_RAW_TABLE
    functionSourceFile: /src/postfix/postfix/src/global/test_main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_TEST_MAIN_RAW_TABLE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: CA_TEST_MAIN_NINT_TABLE
    functionSourceFile: /src/postfix/postfix/src/global/test_main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_TEST_MAIN_NINT_TABLE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: CA_TEST_MAIN_NBOOL_TABLE
    functionSourceFile: /src/postfix/postfix/src/global/test_main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_TEST_MAIN_NBOOL_TABLE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: CA_TEST_MAIN_LONG_TABLE
    functionSourceFile: /src/postfix/postfix/src/global/test_main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_TEST_MAIN_LONG_TABLE(v)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mail_pathname
      Src: /src/postfix/postfix/src/global/mail_trigger.c:83,1
    - Dst: stat
      Src: /src/postfix/postfix/src/global/mail_trigger.c:84,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_trigger.c:85,1
    - Dst: S_ISFIFO
      Src: /src/postfix/postfix/src/global/mail_trigger.c:86,1
    - Dst: fifo_trigger
      Src: /src/postfix/postfix/src/global/mail_trigger.c:87,1
    - Dst: S_ISSOCK
      Src: /src/postfix/postfix/src/global/mail_trigger.c:88,1
    - Dst: LOCAL_TRIGGER
      Src: /src/postfix/postfix/src/global/mail_trigger.c:89,1
    - Dst: S_ISSOCK
      Src: /src/postfix/postfix/src/global/mail_trigger.c:90,1
    - Dst: LOCAL_TRIGGER
      Src: /src/postfix/postfix/src/global/mail_trigger.c:91,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mail_trigger.c:93,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_trigger.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - class
    - service
    - req_buf
    - req_len
    argTypes:
    - char*
    - char*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: mail_trigger
    functionSourceFile: /src/postfix/postfix/src/global/mail_trigger.c
    functionUses: 5
    functionsReached:
    - stat
    - mail_pathname
    - msg_warn
    - S_ISSOCK
    - fifo_trigger
    - LOCAL_TRIGGER
    - S_ISFIFO
    - myfree
    linkageType: ''
    returnType: int
    signature: "int mail_trigger(const char *class, const char *service,\n\t\t             const
      char *req_buf, ssize_t req_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/verify_clnt.c:92,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/global/verify_clnt.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: verify_clnt_handshake
    functionSourceFile: /src/postfix/postfix/src/global/verify_clnt.c
    functionUses: 0
    functionsReached:
    - RECV_ATTR_STREQ
    - attr_scan
    linkageType: ''
    returnType: int
    signature: int verify_clnt_handshake(VSTREAM *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/verify_clnt.c:102,1
    - Dst: clnt_stream_create
      Src: /src/postfix/postfix/src/global/verify_clnt.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: verify_clnt_init
    functionSourceFile: /src/postfix/postfix/src/global/verify_clnt.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - clnt_stream_create
    linkageType: ''
    returnType: void
    signature: void verify_clnt_init(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: verify_clnt_init
      Src: /src/postfix/postfix/src/global/verify_clnt.c:120,1
    - Dst: clnt_stream_access
      Src: /src/postfix/postfix/src/global/verify_clnt.c:126,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/global/verify_clnt.c:130,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/verify_clnt.c:131,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/verify_clnt.c:132,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/verify_clnt.c:134,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/verify_clnt.c:135,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/verify_clnt.c:136,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/verify_clnt.c:137,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/verify_clnt.c:138,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/verify_clnt.c:141,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/global/verify_clnt.c:146,1
    - Dst: clnt_stream_recover
      Src: /src/postfix/postfix/src/global/verify_clnt.c:147,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 3
    argNames:
    - addr
    - addr_status
    - why
    argTypes:
    - char*
    - int*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 150
    functionName: verify_clnt_query
    functionSourceFile: /src/postfix/postfix/src/global/verify_clnt.c
    functionUses: 0
    functionsReached:
    - sleep
    - msg_warn
    - clnt_stream_access
    - SEND_ATTR_STR
    - clnt_stream_recover
    - attr_print
    - vstream_fflush
    - RECV_ATTR_STR
    - attr_scan
    - verify_clnt_init
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: int verify_clnt_query(const char *addr, int *addr_status, VSTRING *why)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: verify_clnt_init
      Src: /src/postfix/postfix/src/global/verify_clnt.c:163,1
    - Dst: clnt_stream_access
      Src: /src/postfix/postfix/src/global/verify_clnt.c:170,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/global/verify_clnt.c:173,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/verify_clnt.c:174,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/verify_clnt.c:175,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/verify_clnt.c:176,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/verify_clnt.c:177,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/verify_clnt.c:179,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/verify_clnt.c:180,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/verify_clnt.c:183,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/global/verify_clnt.c:188,1
    - Dst: clnt_stream_recover
      Src: /src/postfix/postfix/src/global/verify_clnt.c:189,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - addr
    - addr_status
    - why
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 192
    functionName: verify_clnt_update
    functionSourceFile: /src/postfix/postfix/src/global/verify_clnt.c
    functionUses: 1
    functionsReached:
    - sleep
    - msg_warn
    - clnt_stream_access
    - SEND_ATTR_STR
    - SEND_ATTR_INT
    - attr_print
    - clnt_stream_recover
    - attr_scan
    - verify_clnt_init
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: int verify_clnt_update(const char *addr, int addr_status, const char
      *why)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/global/verify_clnt.c
    functionUses: 184
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/verify_clnt.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - myname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/global/verify_clnt.c
    functionUses: 11
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(char *myname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: verify_clnt_query
      Src: /src/postfix/postfix/src/global/verify_clnt.c:220,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/verify_clnt.c:222,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/verify_clnt.c:223,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/verify_clnt.c:223,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/verify_clnt.c:224,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/verify_clnt.c:227,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/verify_clnt.c:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - query
    - buf
    argTypes:
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 233
    functionName: query
    functionSourceFile: /src/postfix/postfix/src/global/verify_clnt.c
    functionUses: 6
    functionsReached:
    - verify_clnt_query
    - msg_warn
    - vstream_fflush
    - vstream_printf
    - STR
    linkageType: ''
    returnType: void
    signature: void query(char *query, VSTRING *buf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/verify_clnt.c:241,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/verify_clnt.c:242,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/verify_clnt.c:243,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/global/verify_clnt.c:246,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/verify_clnt.c:249,1
    - Dst: verify_clnt_update
      Src: /src/postfix/postfix/src/global/verify_clnt.c:252,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/global/verify_clnt.c:252,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/verify_clnt.c:254,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/verify_clnt.c:255,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/verify_clnt.c:258,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/verify_clnt.c:261,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - query
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 235
    functionDepth: 4
    functionLinenumber: 235
    functionLinenumberEnd: 264
    functionName: update
    functionSourceFile: /src/postfix/postfix/src/global/verify_clnt.c
    functionUses: 28
    functionsReached:
    - verify_clnt_update
    - msg_warn
    - ISSPACE
    - vstream_fflush
    - atoi
    - vstream_printf
    - mystrtok
    linkageType: ''
    returnType: void
    signature: void update(char *query)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/verify_clnt.c:268,1
    - Dst: signal
      Src: /src/postfix/postfix/src/global/verify_clnt.c:273,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/verify_clnt.c:275,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/global/verify_clnt.c:277,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/verify_clnt.c:278,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/global/verify_clnt.c:279,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/verify_clnt.c:280,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/global/verify_clnt.c:282,1
    - Dst: usage
      Src: /src/postfix/postfix/src/global/verify_clnt.c:288,1
    - Dst: usage
      Src: /src/postfix/postfix/src/global/verify_clnt.c:292,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/global/verify_clnt.c:294,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/verify_clnt.c:295,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/verify_clnt.c:296,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/verify_clnt.c:298,1
    - Dst: query
      Src: /src/postfix/postfix/src/global/verify_clnt.c:299,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/verify_clnt.c:300,1
    - Dst: update
      Src: /src/postfix/postfix/src/global/verify_clnt.c:301,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/verify_clnt.c:303,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/verify_clnt.c:305,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 266
    functionDepth: 5
    functionLinenumber: 266
    functionLinenumberEnd: 307
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/verify_clnt.c
    functionUses: 15
    functionsReached:
    - msg_warn
    - vstring_fgets_nonl
    - vstring_alloc
    - chdir
    - msg_info
    - msg_vstream_init
    - STR
    - query
    - strcmp
    - update
    - usage
    - mystrtok
    - msg_fatal
    - signal
    - vstring_free
    - mail_conf_read
    - GETOPT
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mail_conf_lookup_eval
      Src: /src/postfix/postfix/src/global/mail_conf_long.c:108,1
    - Dst: strtol
      Src: /src/postfix/postfix/src/global/mail_conf_long.c:110,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_conf_long.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - name
    - longval
    argTypes:
    - char*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 116
    functionName: convert_mail_conf_long
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_long.c
    functionUses: 0
    functionsReached:
    - strtol
    - msg_fatal
    - mail_conf_lookup_eval
    linkageType: ''
    returnType: int
    signature: int convert_mail_conf_long(const char *name, long *longval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_conf_long.c:123,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_conf_long.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - name
    - longval
    - min
    - max
    argTypes:
    - char*
    - long
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: check_mail_conf_long
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_long.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void check_mail_conf_long(const char *name, long longval, long min,
      long max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: convert_mail_conf_long
      Src: /src/postfix/postfix/src/global/mail_conf_long.c:134,1
    - Dst: set_mail_conf_long
      Src: /src/postfix/postfix/src/global/mail_conf_long.c:135,1
    - Dst: check_mail_conf_long
      Src: /src/postfix/postfix/src/global/mail_conf_long.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - name
    - defval
    - min
    - max
    argTypes:
    - char*
    - long
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: get_mail_conf_long
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_long.c
    functionUses: 0
    functionsReached:
    - set_mail_conf_long
    - check_mail_conf_long
    - convert_mail_conf_long
    linkageType: ''
    returnType: long
    signature: long get_mail_conf_long(const char *name, long defval, long min, long
      max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/mail_conf_long.c:148,1
    - Dst: convert_mail_conf_long
      Src: /src/postfix/postfix/src/global/mail_conf_long.c:149,1
    - Dst: set_mail_conf_long
      Src: /src/postfix/postfix/src/global/mail_conf_long.c:150,1
    - Dst: check_mail_conf_long
      Src: /src/postfix/postfix/src/global/mail_conf_long.c:151,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mail_conf_long.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - name1
    - name2
    - defval
    - min
    - max
    argTypes:
    - char*
    - char*
    - long
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: get_mail_conf_long2
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_long.c
    functionUses: 0
    functionsReached:
    - myfree
    - check_mail_conf_long
    - concatenate
    - set_mail_conf_long
    - convert_mail_conf_long
    linkageType: ''
    returnType: long
    signature: "long get_mail_conf_long2(const char *name1, const char *name2, long
      defval,\n\t\t\t            long min, long max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: convert_mail_conf_long
      Src: /src/postfix/postfix/src/global/mail_conf_long.c:165,1
    - Dst: set_mail_conf_long
      Src: /src/postfix/postfix/src/global/mail_conf_long.c:166,1
    - Dst: defval
      Src: /src/postfix/postfix/src/global/mail_conf_long.c:166,1
    - Dst: check_mail_conf_long
      Src: /src/postfix/postfix/src/global/mail_conf_long.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - name
    - defval
    - min
    - max
    argTypes:
    - char*
    - stupid_indent_long
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 169
    functionName: get_mail_conf_long_fn
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_long.c
    functionUses: 0
    functionsReached:
    - set_mail_conf_long
    - defval
    - check_mail_conf_long
    - convert_mail_conf_long
    linkageType: ''
    returnType: long
    signature: "long get_mail_conf_long_fn(const char *name, stupid_indent_long defval,\n\t\t\t
      \             long min, long max)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/postfix/postfix/src/global/mail_conf_long.c:181,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_conf_long.c:183,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_conf_long.c:185,1
    - Dst: sprintf
      Src: /src/postfix/postfix/src/global/mail_conf_long.c:188,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/global/mail_conf_long.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 191
    functionName: set_mail_conf_long
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_long.c
    functionUses: 3
    functionsReached:
    - msg_panic
    - snprintf
    - sprintf
    - mail_conf_update
    linkageType: ''
    returnType: void
    signature: void set_mail_conf_long(const char *name, long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_mail_conf_long
      Src: /src/postfix/postfix/src/global/mail_conf_long.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - table
    argTypes:
    - CONFIG_LONG_TABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 195
    functionDepth: 4
    functionLinenumber: 195
    functionLinenumberEnd: 202
    functionName: get_mail_conf_long_table
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_long.c
    functionUses: 1
    functionsReached:
    - get_mail_conf_long
    linkageType: ''
    returnType: void
    signature: void get_mail_conf_long_table(const CONFIG_LONG_TABLE *table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_mail_conf_long_fn
      Src: /src/postfix/postfix/src/global/mail_conf_long.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - table
    argTypes:
    - CONFIG_LONG_FN_TABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 4
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: get_mail_conf_long_fn_table
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_long.c
    functionUses: 0
    functionsReached:
    - get_mail_conf_long_fn
    linkageType: ''
    returnType: void
    signature: void get_mail_conf_long_fn_table(const CONFIG_LONG_FN_TABLE *table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_fn
      Src: /src/postfix/postfix/src/global/rcpt_print.c:68,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/rcpt_print.c:69,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/rcpt_print.c:70,1
    - Dst: SEND_ATTR_LONG
      Src: /src/postfix/postfix/src/global/rcpt_print.c:71,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/rcpt_print.c:72,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/rcpt_print.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - print_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_PRINT_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 76
    functionName: rcpt_print
    functionSourceFile: /src/postfix/postfix/src/global/rcpt_print.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_STR
    - print_fn
    - SEND_ATTR_INT
    - SEND_ATTR_LONG
    linkageType: ''
    returnType: int
    signature: "int rcpt_print(ATTR_PRINT_COMMON_FN print_fn, VSTREAM *fp,\n\t\t           int
      flags, const void *ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/cleanup_strflags.c:71,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/cleanup_strflags.c:73,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/global/cleanup_strflags.c:77,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/cleanup_strflags.c:82,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/cleanup_strflags.c:83,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/global/cleanup_strflags.c:85,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/cleanup_strflags.c:85,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/cleanup_strflags.c:86,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/cleanup_strflags.c:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 89
    functionName: cleanup_strflags
    functionSourceFile: /src/postfix/postfix/src/global/cleanup_strflags.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - vstring_str
    - vstring_truncate
    - VSTRING_LEN
    - vstring_alloc
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - vstring_sprintf_append
    linkageType: ''
    returnType: char
    signature: char *cleanup_strflags(unsigned flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: SWAP
    functionSourceFile: /src/postfix/postfix/src/global/safe_ultostr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP(type, a, b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:111,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:116,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:118,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:121,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:122,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:123,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:128,1
    - Dst: END
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:129,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:130,1
    - Dst: SWAP
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:131,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - buf
    - ulval
    - base
    - padlen
    - padchar
    argTypes:
    - VSTRING*
    - unsigned long
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 133
    functionName: safe_ultostr
    functionSourceFile: /src/postfix/postfix/src/global/safe_ultostr.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - VSTRING_ADDCH
    - VSTRING_LEN
    - END
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - SWAP
    - STR
    linkageType: ''
    returnType: char
    signature: "char *safe_ultostr(VSTRING *buf, unsigned long ulval, int base,\n\t\t
      \            int padlen, int padchar)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:151,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:157,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:176,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 3
    argNames:
    - start
    - end
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 202
    functionName: safe_strtoul
    functionSourceFile: /src/postfix/postfix/src/global/safe_ultostr.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - mymalloc
    - ISSPACE
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long safe_strtoul(const char *start, char **end, int base)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:216,1
    - Dst: safe_strtoul
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:230,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:232,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:237,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:239,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:239,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:240,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:240,1
    - Dst: safe_ultostr
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:242,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:243,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:243,1
    - Dst: safe_strtoul
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:244,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:244,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:246,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:246,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:248,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:250,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/safe_ultostr.c:252,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 254
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/safe_ultostr.c
    functionUses: 15
    functionsReached:
    - vstring_get_nonl
    - msg_warn
    - vstream_fflush
    - vstring_alloc
    - sscanf
    - safe_ultostr
    - vstream_printf
    - safe_strtoul
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - service
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: ANVIL_IDENT
    functionSourceFile: /src/postfix/postfix/src/global/anvil_clnt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANVIL_IDENT(service, addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan_plain
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:177,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: anvil_clnt_handshake
    functionSourceFile: /src/postfix/postfix/src/global/anvil_clnt.c
    functionUses: 0
    functionsReached:
    - attr_scan_plain
    - RECV_ATTR_STREQ
    linkageType: ''
    returnType: int
    signature: int anvil_clnt_handshake(VSTREAM *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: attr_clnt_create
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:193,1
    - Dst: attr_clnt_create
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:196,1
    - Dst: attr_clnt_control
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 202
    functionName: anvil_clnt_create
    functionSourceFile: /src/postfix/postfix/src/global/anvil_clnt.c
    functionUses: 0
    functionsReached:
    - attr_clnt_control
    - attr_clnt_create
    linkageType: ''
    returnType: ANVIL_CLNT
    signature: ANVIL_CLNT *anvil_clnt_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: attr_clnt_free
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - anvil_clnt
    argTypes:
    - ANVIL_CLNT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: anvil_clnt_free
    functionSourceFile: /src/postfix/postfix/src/global/anvil_clnt.c
    functionUses: 0
    functionsReached:
    - attr_clnt_free
    linkageType: ''
    returnType: void
    signature: void anvil_clnt_free(ANVIL_CLNT *anvil_clnt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ANVIL_IDENT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:217,1
    - Dst: attr_clnt_request
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:220,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:222,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:223,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:226,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:227,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:228,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:229,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:230,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:231,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:232,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 9
    argNames:
    - anvil_clnt
    - service
    - addr
    - count
    - rate
    - msgs
    - rcpts
    - newtls
    - auths
    argTypes:
    - ANVIL_CLNT*
    - char*
    - char*
    - int*
    - int*
    - int*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 239
    functionName: anvil_clnt_lookup
    functionSourceFile: /src/postfix/postfix/src/global/anvil_clnt.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_STR
    - myfree
    - ANVIL_IDENT
    - attr_clnt_request
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: "int anvil_clnt_lookup(ANVIL_CLNT *anvil_clnt, const char *service,\n\t\t\t
      \         const char *addr, int *count, int *rate,\n\t\t             int *msgs,
      int *rcpts, int *newtls, int *auths)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ANVIL_IDENT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:246,1
    - Dst: attr_clnt_request
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:249,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:251,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:252,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:255,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:256,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:257,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - anvil_clnt
    - service
    - addr
    - count
    - rate
    argTypes:
    - ANVIL_CLNT*
    - char*
    - char*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 264
    functionName: anvil_clnt_connect
    functionSourceFile: /src/postfix/postfix/src/global/anvil_clnt.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_STR
    - myfree
    - ANVIL_IDENT
    - attr_clnt_request
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: "int anvil_clnt_connect(ANVIL_CLNT *anvil_clnt, const char *service,\n\t\t\t
      \          const char *addr, int *count, int *rate)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ANVIL_IDENT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:271,1
    - Dst: attr_clnt_request
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:274,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:276,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:277,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:280,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:281,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - anvil_clnt
    - service
    - addr
    - msgs
    argTypes:
    - ANVIL_CLNT*
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 288
    functionName: anvil_clnt_mail
    functionSourceFile: /src/postfix/postfix/src/global/anvil_clnt.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_STR
    - myfree
    - ANVIL_IDENT
    - attr_clnt_request
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: "int anvil_clnt_mail(ANVIL_CLNT *anvil_clnt, const char *service,\n\t\t\t
      \       const char *addr, int *msgs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ANVIL_IDENT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:295,1
    - Dst: attr_clnt_request
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:298,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:300,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:301,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:304,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:305,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - anvil_clnt
    - service
    - addr
    - rcpts
    argTypes:
    - ANVIL_CLNT*
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 312
    functionName: anvil_clnt_rcpt
    functionSourceFile: /src/postfix/postfix/src/global/anvil_clnt.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_STR
    - myfree
    - ANVIL_IDENT
    - attr_clnt_request
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: "int anvil_clnt_rcpt(ANVIL_CLNT *anvil_clnt, const char *service,\n\t\t\t
      \       const char *addr, int *rcpts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ANVIL_IDENT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:319,1
    - Dst: attr_clnt_request
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:322,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:324,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:325,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:328,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:329,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - anvil_clnt
    - service
    - addr
    - newtls
    argTypes:
    - ANVIL_CLNT*
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 336
    functionName: anvil_clnt_newtls
    functionSourceFile: /src/postfix/postfix/src/global/anvil_clnt.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_STR
    - myfree
    - ANVIL_IDENT
    - attr_clnt_request
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: "int anvil_clnt_newtls(ANVIL_CLNT *anvil_clnt, const char *service,\n\t\t\t
      \         const char *addr, int *newtls)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ANVIL_IDENT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:343,1
    - Dst: attr_clnt_request
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:346,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:348,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:349,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:352,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:353,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - anvil_clnt
    - service
    - addr
    - newtls
    argTypes:
    - ANVIL_CLNT*
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 360
    functionName: anvil_clnt_newtls_stat
    functionSourceFile: /src/postfix/postfix/src/global/anvil_clnt.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_STR
    - myfree
    - ANVIL_IDENT
    - attr_clnt_request
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: "int anvil_clnt_newtls_stat(ANVIL_CLNT *anvil_clnt, const char *service,\n\t\t\t
      \              const char *addr, int *newtls)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ANVIL_IDENT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:367,1
    - Dst: attr_clnt_request
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:370,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:372,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:373,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:376,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:377,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - anvil_clnt
    - service
    - addr
    - auths
    argTypes:
    - ANVIL_CLNT*
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 384
    functionName: anvil_clnt_auth
    functionSourceFile: /src/postfix/postfix/src/global/anvil_clnt.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_STR
    - myfree
    - ANVIL_IDENT
    - attr_clnt_request
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: "int anvil_clnt_auth(ANVIL_CLNT *anvil_clnt, const char *service,\n\t\t\t
      \       const char *addr, int *auths)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ANVIL_IDENT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:391,1
    - Dst: attr_clnt_request
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:394,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:396,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:397,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:400,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - anvil_clnt
    - service
    - addr
    argTypes:
    - ANVIL_CLNT*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 407
    functionName: anvil_clnt_disconnect
    functionSourceFile: /src/postfix/postfix/src/global/anvil_clnt.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_STR
    - myfree
    - ANVIL_IDENT
    - attr_clnt_request
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: "int anvil_clnt_disconnect(ANVIL_CLNT *anvil_clnt, const char *service,\n\t\t\t
      \             const char *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 432
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/global/anvil_clnt.c
    functionUses: 12
    functionsReached:
    - vstream_printf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:436,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:450,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:452,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:453,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:454,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:455,1
    - Dst: anvil_clnt_create
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:459,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:461,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:462,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:463,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:464,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:465,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:466,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:467,1
    - Dst: usage
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:468,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:469,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:472,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:473,1
    - Dst: anvil_clnt_connect
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:474,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:475,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:477,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:478,1
    - Dst: anvil_clnt_mail
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:479,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:480,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:482,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:483,1
    - Dst: anvil_clnt_rcpt
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:484,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:485,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:487,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:488,1
    - Dst: anvil_clnt_newtls
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:489,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:490,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:492,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:493,1
    - Dst: anvil_clnt_auth
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:494,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:495,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:497,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:498,1
    - Dst: anvil_clnt_newtls_stat
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:499,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:500,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:502,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:503,1
    - Dst: anvil_clnt_disconnect
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:504,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:505,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:507,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:508,1
    - Dst: anvil_clnt_lookup
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:509,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:511,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:513,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:517,1
    - Dst: usage
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:518,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:520,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:522,1
    - Dst: anvil_clnt_free
      Src: /src/postfix/postfix/src/global/anvil_clnt.c:523,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 65
    argCount: 2
    argNames:
    - unused_argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 434
    functionDepth: 4
    functionLinenumber: 434
    functionLinenumberEnd: 525
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/anvil_clnt.c
    functionUses: 15
    functionsReached:
    - anvil_clnt_disconnect
    - msg_info
    - msg_vstream_init
    - anvil_clnt_create
    - anvil_clnt_rcpt
    - anvil_clnt_connect
    - strlen
    - vstream_fflush
    - vstring_alloc
    - chdir
    - anvil_clnt_mail
    - mystrtok
    - anvil_clnt_newtls_stat
    - vstring_str
    - anvil_clnt_auth
    - anvil_clnt_lookup
    - anvil_clnt_newtls
    - strncmp
    - vstream_printf
    - mail_conf_read
    - vstring_free
    - msg_warn
    - vstring_fgets_nonl
    - usage
    - msg_fatal
    - anvil_clnt_free
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name_code
      Src: /src/postfix/postfix/src/global/mail_addr_form.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr_form_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: mail_addr_form_from_string
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_form.c
    functionUses: 2
    functionsReached:
    - name_code
    linkageType: ''
    returnType: int
    signature: int mail_addr_form_from_string(const char *addr_form_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str_name_code
      Src: /src/postfix/postfix/src/global/mail_addr_form.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr_form
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: mail_addr_form_to_string
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_form.c
    functionUses: 1
    functionsReached:
    - str_name_code
    linkageType: ''
    returnType: char
    signature: char *mail_addr_form_to_string(int addr_form)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/log_adhoc.c:105,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/log_adhoc.c:111,1
    - Dst: info_log_addr_form_recipient
      Src: /src/postfix/postfix/src/global/log_adhoc.c:112,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/global/log_adhoc.c:114,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/global/log_adhoc.c:115,1
    - Dst: info_log_addr_form_recipient
      Src: /src/postfix/postfix/src/global/log_adhoc.c:116,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/global/log_adhoc.c:117,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/global/log_adhoc.c:119,1
    - Dst: TIME_STAMPED
      Src: /src/postfix/postfix/src/global/log_adhoc.c:164,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/global/log_adhoc.c:167,1
    - Dst: DELTA
      Src: /src/postfix/postfix/src/global/log_adhoc.c:169,1
    - Dst: DELTA_ZERO
      Src: /src/postfix/postfix/src/global/log_adhoc.c:170,1
    - Dst: DELTA_ZERO
      Src: /src/postfix/postfix/src/global/log_adhoc.c:171,1
    - Dst: DELTA_ZERO
      Src: /src/postfix/postfix/src/global/log_adhoc.c:172,1
    - Dst: TIME_STAMPED
      Src: /src/postfix/postfix/src/global/log_adhoc.c:173,1
    - Dst: DELTA
      Src: /src/postfix/postfix/src/global/log_adhoc.c:174,1
    - Dst: TIME_STAMPED
      Src: /src/postfix/postfix/src/global/log_adhoc.c:175,1
    - Dst: DELTA
      Src: /src/postfix/postfix/src/global/log_adhoc.c:176,1
    - Dst: TIME_STAMPED
      Src: /src/postfix/postfix/src/global/log_adhoc.c:177,1
    - Dst: DELTA
      Src: /src/postfix/postfix/src/global/log_adhoc.c:178,1
    - Dst: DELTA
      Src: /src/postfix/postfix/src/global/log_adhoc.c:179,1
    - Dst: DELTA
      Src: /src/postfix/postfix/src/global/log_adhoc.c:182,1
    - Dst: DELTA
      Src: /src/postfix/postfix/src/global/log_adhoc.c:186,1
    - Dst: DELTA
      Src: /src/postfix/postfix/src/global/log_adhoc.c:190,1
    - Dst: PRETTY_FORMAT
      Src: /src/postfix/postfix/src/global/log_adhoc.c:205,1
    - Dst: PRETTY_FORMAT
      Src: /src/postfix/postfix/src/global/log_adhoc.c:206,1
    - Dst: PRETTY_FORMAT
      Src: /src/postfix/postfix/src/global/log_adhoc.c:207,1
    - Dst: PRETTY_FORMAT
      Src: /src/postfix/postfix/src/global/log_adhoc.c:208,1
    - Dst: PRETTY_FORMAT
      Src: /src/postfix/postfix/src/global/log_adhoc.c:209,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/global/log_adhoc.c:214,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/log_adhoc.c:220,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/log_adhoc.c:220,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 6
    argNames:
    - id
    - stats
    - recipient
    - relay
    - dsn
    - status
    argTypes:
    - char*
    - MSG_STATS*
    - RECIPIENT*
    - char*
    - DSN*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 87
    functionDepth: 4
    functionLinenumber: 87
    functionLinenumberEnd: 221
    functionName: log_adhoc
    functionSourceFile: /src/postfix/postfix/src/global/log_adhoc.c
    functionUses: 5
    functionsReached:
    - DELTA_ZERO
    - vstring_sprintf
    - vstring_str
    - GETTIMEOFDAY
    - vstring_alloc
    - PRETTY_FORMAT
    - DELTA
    - msg_info
    - info_log_addr_form_recipient
    - TIME_STAMPED
    - vstring_sprintf_append
    - strcasecmp_utf8
    linkageType: ''
    returnType: void
    signature: "void log_adhoc(const char *id, MSG_STATS *stats, RECIPIENT *recipient,\n\t\t
      \         const char *relay, DSN *dsn,\n\t\t          const char *status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 159
    functionName: DELTA
    functionSourceFile: /src/postfix/postfix/src/global/log_adhoc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DELTA(x, y, z)
  - 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: DELTA_ZERO
    functionSourceFile: /src/postfix/postfix/src/global/log_adhoc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DELTA_ZERO(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: TIME_STAMPED
    functionSourceFile: /src/postfix/postfix/src/global/log_adhoc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIME_STAMPED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b
    - ','
    - text
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: PRETTY_FORMAT
    functionSourceFile: /src/postfix/postfix/src/global/log_adhoc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRETTY_FORMAT(b, text, x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htable_create
      Src: /src/postfix/postfix/src/global/mypwd.c:137,1
    - Dst: binhash_create
      Src: /src/postfix/postfix/src/global/mypwd.c:138,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/mypwd.c:140,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mypwd.c:142,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mypwd.c:143,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mypwd.c:146,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mypwd.c:147,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/mypwd.c:148,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/global/mypwd.c:155,1
    - Dst: binhash_locate
      Src: /src/postfix/postfix/src/global/mypwd.c:156,1
    - Dst: binhash_enter
      Src: /src/postfix/postfix/src/global/mypwd.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - pwd
    argTypes:
    - struct passwd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 161
    functionName: mypwenter
    functionSourceFile: /src/postfix/postfix/src/global/mypwd.c
    functionUses: 0
    functionsReached:
    - binhash_locate
    - htable_create
    - binhash_enter
    - htable_enter
    - binhash_create
    - mymalloc
    - mystrdup
    linkageType: ''
    returnType: struct mypasswd
    signature: struct mypasswd *mypwenter(const struct passwd * pwd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mypwuid_err
      Src: /src/postfix/postfix/src/global/mypwd.c:169,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mypwd.c:170,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/global/mypwd.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - uid
    argTypes:
    - uid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: mypwuid
    functionSourceFile: /src/postfix/postfix/src/global/mypwd.c
    functionUses: 1
    functionsReached:
    - sleep
    - msg_warn
    - mypwuid_err
    linkageType: ''
    returnType: struct mypasswd
    signature: struct mypasswd *mypwuid(uid_t uid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mypwfree
      Src: /src/postfix/postfix/src/global/mypwd.c:188,1
    - Dst: binhash_find
      Src: /src/postfix/postfix/src/global/mypwd.c:201,1
    - Dst: getpwuid_r
      Src: /src/postfix/postfix/src/global/mypwd.c:207,1
    - Dst: getpwuid
      Src: /src/postfix/postfix/src/global/mypwd.c:215,1
    - Dst: mypwenter
      Src: /src/postfix/postfix/src/global/mypwd.c:220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - uid
    - result
    argTypes:
    - uid_t
    - struct mypasswd**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 225
    functionName: mypwuid_err
    functionSourceFile: /src/postfix/postfix/src/global/mypwd.c
    functionUses: 1
    functionsReached:
    - getpwuid
    - mypwfree
    - mypwenter
    - getpwuid_r
    - binhash_find
    linkageType: ''
    returnType: int
    signature: int mypwuid_err(uid_t uid, struct mypasswd ** result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mypwnam_err
      Src: /src/postfix/postfix/src/global/mypwd.c:233,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/mypwd.c:234,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/global/mypwd.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: mypwnam
    functionSourceFile: /src/postfix/postfix/src/global/mypwd.c
    functionUses: 0
    functionsReached:
    - sleep
    - msg_warn
    - mypwnam_err
    linkageType: ''
    returnType: struct mypasswd
    signature: struct mypasswd *mypwnam(const char *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/mypwd.c:251,1
    - Dst: mypwfree
      Src: /src/postfix/postfix/src/global/mypwd.c:252,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/global/mypwd.c:264,1
    - Dst: getpwnam_r
      Src: /src/postfix/postfix/src/global/mypwd.c:270,1
    - Dst: getpwnam
      Src: /src/postfix/postfix/src/global/mypwd.c:278,1
    - Dst: mypwenter
      Src: /src/postfix/postfix/src/global/mypwd.c:283,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - name
    - result
    argTypes:
    - char*
    - struct mypasswd**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 288
    functionName: mypwnam_err
    functionSourceFile: /src/postfix/postfix/src/global/mypwd.c
    functionUses: 1
    functionsReached:
    - getpwnam
    - mypwfree
    - mypwenter
    - getpwnam_r
    - strcmp
    - htable_find
    linkageType: ''
    returnType: int
    signature: int mypwnam_err(const char *name, struct mypasswd ** result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mypwd.c:295,1
    - Dst: htable_delete
      Src: /src/postfix/postfix/src/global/mypwd.c:301,1
    - Dst: binhash_locate
      Src: /src/postfix/postfix/src/global/mypwd.c:302,1
    - Dst: binhash_delete
      Src: /src/postfix/postfix/src/global/mypwd.c:304,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mypwd.c:306,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mypwd.c:307,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mypwd.c:308,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mypwd.c:309,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mypwd.c:310,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mypwd.c:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - mypwd
    argTypes:
    - struct mypasswd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 313
    functionName: mypwfree
    functionSourceFile: /src/postfix/postfix/src/global/mypwd.c
    functionUses: 3
    functionsReached:
    - msg_panic
    - htable_delete
    - binhash_delete
    - myfree
    - binhash_locate
    linkageType: ''
    returnType: void
    signature: void mypwfree(struct mypasswd * mypwd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/mypwd.c:331,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mypwd.c:333,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/mypwd.c:335,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/global/mypwd.c:341,1
    - Dst: mypwuid
      Src: /src/postfix/postfix/src/global/mypwd.c:342,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/global/mypwd.c:342,1
    - Dst: mypwnam
      Src: /src/postfix/postfix/src/global/mypwd.c:344,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mypwd.c:346,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/mypwd.c:347,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/mypwd.c:357,1
    - Dst: mypwfree
      Src: /src/postfix/postfix/src/global/mypwd.c:360,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/mypwd.c:362,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/mypwd.c:365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 367
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/mypwd.c
    functionUses: 15
    functionsReached:
    - mypwuid
    - mypwfree
    - mypwnam
    - msg_vstream_init
    - msg_info
    - myfree
    - atoi
    - ISDIGIT
    - mymalloc
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/recdump.c:41,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/recdump.c:45,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/global/recdump.c:47,1
    - Dst: rec_get
      Src: /src/postfix/postfix/src/global/recdump.c:48,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/global/recdump.c:50,1
    - Dst: rec_type_name
      Src: /src/postfix/postfix/src/global/recdump.c:51,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/recdump.c:52,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/recdump.c:52,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/recdump.c:54,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/recdump.c:55,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/recdump.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - unused_argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 57
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/recdump.c
    functionUses: 15
    functionsReached:
    - vstream_ftell
    - vstream_fprintf
    - VSTRING_LEN
    - rec_type_name
    - vstream_fflush
    - vstring_alloc
    - exit
    - msg_vstream_init
    - rec_get
    - vstring_str
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/trace.c:115,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/trace.c:123,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/global/trace.c:124,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/trace.c:125,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/trace.c:126,1
    - Dst: mail_command_client
      Src: /src/postfix/postfix/src/global/trace.c:128,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/trace.c:130,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/trace.c:131,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/trace.c:132,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/global/trace.c:133,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/global/trace.c:134,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/trace.c:136,1
    - Dst: log_adhoc
      Src: /src/postfix/postfix/src/global/trace.c:140,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/trace.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 6
    argNames:
    - flags
    - id
    - stats
    - rcpt
    - relay
    - dsn
    argTypes:
    - int
    - char*
    - MSG_STATS*
    - RECIPIENT*
    - char*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 111
    functionDepth: 5
    functionLinenumber: 111
    functionLinenumberEnd: 145
    functionName: trace_append
    functionSourceFile: /src/postfix/postfix/src/global/trace.c
    functionUses: 4
    functionsReached:
    - mail_command_client
    - vstring_sprintf
    - msg_warn
    - SEND_ATTR_INT
    - SEND_ATTR_STR
    - vstring_alloc
    - log_adhoc
    - vstring_strcat
    - strcmp
    - SEND_ATTR_FUNC
    - vstring_str
    - vstring_free
    linkageType: ''
    returnType: int
    signature: "int trace_append(int flags, const char *id, MSG_STATS *stats,\n\t\t
      \            RECIPIENT *rcpt, const char *relay,\n\t\t             DSN *dsn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mail_command_client
      Src: /src/postfix/postfix/src/global/trace.c:153,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/trace.c:155,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/trace.c:156,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/trace.c:157,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/trace.c:158,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/trace.c:159,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/trace.c:160,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/trace.c:161,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/global/trace.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - flags
    - queue
    - id
    - encoding
    - sender
    - dsn_envid
    - dsn_ret
    argTypes:
    - int
    - char*
    - char*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 168
    functionName: trace_flush
    functionSourceFile: /src/postfix/postfix/src/global/trace.c
    functionUses: 0
    functionsReached:
    - mail_command_client
    - SEND_ATTR_INT
    - SEND_ATTR_STR
    linkageType: ''
    returnType: int
    signature: "int trace_flush(int flags, const char *queue, const char *id,\n\t\t
      \           const char *encoding, const char *sender,\n\t\t            const
      char *dsn_envid, int dsn_ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name_mask_delim_opt
      Src: /src/postfix/postfix/src/global/quote_flags.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - quote_flags_string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: quote_flags_from_string
    functionSourceFile: /src/postfix/postfix/src/global/quote_flags.c
    functionUses: 1
    functionsReached:
    - name_mask_delim_opt
    linkageType: ''
    returnType: int
    signature: int quote_flags_from_string(const char *quote_flags_string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/quote_flags.c:85,1
    - Dst: str_name_mask_opt
      Src: /src/postfix/postfix/src/global/quote_flags.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - res_buf
    - quote_flags_mask
    argTypes:
    - VSTRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: quote_flags_to_string
    functionSourceFile: /src/postfix/postfix/src/global/quote_flags.c
    functionUses: 1
    functionsReached:
    - str_name_mask_opt
    - vstring_alloc
    linkageType: ''
    returnType: char
    signature: char *quote_flags_to_string(VSTRING *res_buf, int quote_flags_mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: HAS_IPV6_COL
    functionSourceFile: /src/postfix/postfix/src/global/valid_mailhost_addr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAS_IPV6_COL(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: SKIP_IPV6_COL
    functionSourceFile: /src/postfix/postfix/src/global/valid_mailhost_addr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKIP_IPV6_COL(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SKIP_IPV6_COL
      Src: /src/postfix/postfix/src/global/valid_mailhost_addr.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - addr
    - gripe
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: valid_mailhost_addr
    functionSourceFile: /src/postfix/postfix/src/global/valid_mailhost_addr.c
    functionUses: 2
    functionsReached:
    - SKIP_IPV6_COL
    linkageType: ''
    returnType: char
    signature: char *valid_mailhost_addr(const char *addr, int gripe)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/valid_mailhost_addr.c:99,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/global/valid_mailhost_addr.c:102,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/valid_mailhost_addr.c:104,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/valid_mailhost_addr.c:109,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/valid_mailhost_addr.c:114,1
    - Dst: strncpy
      Src: /src/postfix/postfix/src/global/valid_mailhost_addr.c:117,1
    - Dst: valid_mailhost_addr
      Src: /src/postfix/postfix/src/global/valid_mailhost_addr.c:119,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - addr
    - gripe
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 120
    functionName: valid_mailhost_literal
    functionSourceFile: /src/postfix/postfix/src/global/valid_mailhost_addr.c
    functionUses: 0
    functionsReached:
    - valid_mailhost_addr
    - msg_warn
    - strncpy
    - strchr
    linkageType: ''
    returnType: int
    signature: int valid_mailhost_literal(const char *addr, int gripe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/valid_mailhost_addr.c:137,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/valid_mailhost_addr.c:139,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/global/valid_mailhost_addr.c:142,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/valid_mailhost_addr.c:143,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/valid_mailhost_addr.c:143,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/valid_mailhost_addr.c:144,1
    - Dst: valid_mailhost_literal
      Src: /src/postfix/postfix/src/global/valid_mailhost_addr.c:145,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/valid_mailhost_addr.c:145,1
    - Dst: valid_mailhost_addr
      Src: /src/postfix/postfix/src/global/valid_mailhost_addr.c:147,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/valid_mailhost_addr.c:147,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/valid_mailhost_addr.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - unused_argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/valid_mailhost_addr.c
    functionUses: 15
    functionsReached:
    - vstring_fgets_nonl
    - exit
    - vstring_alloc
    - msg_info
    - msg_vstream_init
    - valid_mailhost_addr
    - vstring_str
    - valid_mailhost_literal
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: RECIPIENT_FROM_RCPT_BUF
    functionSourceFile: /src/postfix/postfix/src/global/rcpt_buf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECIPIENT_FROM_RCPT_BUF(buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_clearerr
      Src: /src/postfix/postfix/src/global/smtp_stream.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: smtp_timeout_reset
    functionSourceFile: /src/postfix/postfix/src/global/smtp_stream.c
    functionUses: 0
    functionsReached:
    - vstream_clearerr
    linkageType: ''
    returnType: void
    signature: void smtp_timeout_reset(VSTREAM *stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/smtp_stream.c:254,1
    - Dst: vstream_wr_error
      Src: /src/postfix/postfix/src/global/smtp_stream.c:255,1
    - Dst: shutdown
      Src: /src/postfix/postfix/src/global/smtp_stream.c:257,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/smtp_stream.c:257,1
    - Dst: vstream_longjmp
      Src: /src/postfix/postfix/src/global/smtp_stream.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - err
    - context
    argTypes:
    - VSTREAM*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 259
    functionName: smtp_longjmp
    functionSourceFile: /src/postfix/postfix/src/global/smtp_stream.c
    functionUses: 0
    functionsReached:
    - vstream_wr_error
    - msg_info
    - shutdown
    - vstream_longjmp
    - vstream_fileno
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN smtp_longjmp(VSTREAM *stream, int err, const char *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/smtp_stream.c:269,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/global/smtp_stream.c:272,1
    - Dst: CA_VSTREAM_CTL_TIMEOUT
      Src: /src/postfix/postfix/src/global/smtp_stream.c:274,1
    - Dst: CA_VSTREAM_CTL_MIN_DATA_RATE
      Src: /src/postfix/postfix/src/global/smtp_stream.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - stream
    - maxtime
    - enable_deadline
    - min_data_rate
    argTypes:
    - VSTREAM*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 280
    functionName: smtp_stream_setup
    functionSourceFile: /src/postfix/postfix/src/global/smtp_stream.c
    functionUses: 0
    functionsReached:
    - vstream_control
    - CA_VSTREAM_CTL_MIN_DATA_RATE
    - CA_VSTREAM_CTL_TIMEOUT
    - msg_info
    linkageType: ''
    returnType: void
    signature: "void smtp_stream_setup(VSTREAM *stream, int maxtime, int enable_deadline,\n\t\t\t
      \         int min_data_rate)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smtp_timeout_reset
      Src: /src/postfix/postfix/src/global/smtp_stream.c:291,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/smtp_stream.c:292,1
    - Dst: vstream_ftimeout
      Src: /src/postfix/postfix/src/global/smtp_stream.c:297,1
    - Dst: smtp_longjmp
      Src: /src/postfix/postfix/src/global/smtp_stream.c:298,1
    - Dst: smtp_longjmp
      Src: /src/postfix/postfix/src/global/smtp_stream.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 301
    functionName: smtp_flush
    functionSourceFile: /src/postfix/postfix/src/global/smtp_stream.c
    functionUses: 0
    functionsReached:
    - smtp_timeout_reset
    - smtp_longjmp
    - vstream_fflush
    - vstream_ftimeout
    linkageType: ''
    returnType: void
    signature: void smtp_flush(VSTREAM *stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smtp_timeout_reset
      Src: /src/postfix/postfix/src/global/smtp_stream.c:312,1
    - Dst: vstream_vfprintf
      Src: /src/postfix/postfix/src/global/smtp_stream.c:313,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/global/smtp_stream.c:314,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/global/smtp_stream.c:315,1
    - Dst: vstream_ftimeout
      Src: /src/postfix/postfix/src/global/smtp_stream.c:320,1
    - Dst: smtp_longjmp
      Src: /src/postfix/postfix/src/global/smtp_stream.c:321,1
    - Dst: smtp_longjmp
      Src: /src/postfix/postfix/src/global/smtp_stream.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - stream
    - fmt
    - ap
    argTypes:
    - VSTREAM*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 324
    functionName: smtp_vprintf
    functionSourceFile: /src/postfix/postfix/src/global/smtp_stream.c
    functionUses: 0
    functionsReached:
    - vstream_ferror
    - vstream_vfprintf
    - vstream_ftimeout
    - smtp_timeout_reset
    - smtp_longjmp
    - vstream_fputs
    linkageType: ''
    returnType: void
    signature: void smtp_vprintf(VSTREAM *stream, const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/global/smtp_stream.c:332,1
    - Dst: smtp_vprintf
      Src: /src/postfix/postfix/src/global/smtp_stream.c:333,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/global/smtp_stream.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - fmt
    argTypes:
    - VSTREAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 335
    functionName: smtp_printf
    functionSourceFile: /src/postfix/postfix/src/global/smtp_stream.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - smtp_vprintf
    linkageType: ''
    returnType: void
    signature: void smtp_printf(VSTREAM *stream, const char *fmt,...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smtp_timeout_reset
      Src: /src/postfix/postfix/src/global/smtp_stream.c:346,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/global/smtp_stream.c:347,1
    - Dst: vstream_ftimeout
      Src: /src/postfix/postfix/src/global/smtp_stream.c:352,1
    - Dst: smtp_longjmp
      Src: /src/postfix/postfix/src/global/smtp_stream.c:353,1
    - Dst: vstream_feof
      Src: /src/postfix/postfix/src/global/smtp_stream.c:354,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/global/smtp_stream.c:354,1
    - Dst: smtp_longjmp
      Src: /src/postfix/postfix/src/global/smtp_stream.c:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 357
    functionName: smtp_fgetc
    functionSourceFile: /src/postfix/postfix/src/global/smtp_stream.c
    functionUses: 0
    functionsReached:
    - vstream_feof
    - vstream_ferror
    - vstream_ftimeout
    - smtp_timeout_reset
    - VSTREAM_GETC
    - smtp_longjmp
    linkageType: ''
    returnType: int
    signature: int smtp_fgetc(VSTREAM *stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smtp_timeout_reset
      Src: /src/postfix/postfix/src/global/smtp_stream.c:368,1
    - Dst: smtp_get_noexcept
      Src: /src/postfix/postfix/src/global/smtp_stream.c:369,1
    - Dst: vstream_ftimeout
      Src: /src/postfix/postfix/src/global/smtp_stream.c:375,1
    - Dst: smtp_longjmp
      Src: /src/postfix/postfix/src/global/smtp_stream.c:376,1
    - Dst: vstream_feof
      Src: /src/postfix/postfix/src/global/smtp_stream.c:377,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/global/smtp_stream.c:377,1
    - Dst: smtp_longjmp
      Src: /src/postfix/postfix/src/global/smtp_stream.c:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - vp
    - stream
    - bound
    - flags
    argTypes:
    - VSTRING*
    - VSTREAM*
    - ssize_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 380
    functionName: smtp_get
    functionSourceFile: /src/postfix/postfix/src/global/smtp_stream.c
    functionUses: 0
    functionsReached:
    - vstream_feof
    - vstream_ferror
    - vstream_ftimeout
    - smtp_timeout_reset
    - smtp_longjmp
    - smtp_get_noexcept
    linkageType: ''
    returnType: int
    signature: int smtp_get(VSTRING *vp, VSTREAM *stream, ssize_t bound, int flags)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vstring_get_flags
      Src: /src/postfix/postfix/src/global/smtp_stream.c:401,1
    - Dst: vstring_get_flags_bound
      Src: /src/postfix/postfix/src/global/smtp_stream.c:404,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/global/smtp_stream.c:415,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/global/smtp_stream.c:416,1
    - Dst: vstream_ungetc
      Src: /src/postfix/postfix/src/global/smtp_stream.c:421,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/global/smtp_stream.c:432,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/smtp_stream.c:432,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/smtp_stream.c:434,1
    - Dst: vstring_end
      Src: /src/postfix/postfix/src/global/smtp_stream.c:434,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/global/smtp_stream.c:437,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/smtp_stream.c:437,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/smtp_stream.c:439,1
    - Dst: vstring_end
      Src: /src/postfix/postfix/src/global/smtp_stream.c:439,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/global/smtp_stream.c:440,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/global/smtp_stream.c:440,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/global/smtp_stream.c:442,1
    - Dst: vstream_feof
      Src: /src/postfix/postfix/src/global/smtp_stream.c:457,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/global/smtp_stream.c:457,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/global/smtp_stream.c:458,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 4
    argNames:
    - vp
    - stream
    - bound
    - flags
    argTypes:
    - VSTRING*
    - VSTREAM*
    - ssize_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 463
    functionName: smtp_get_noexcept
    functionSourceFile: /src/postfix/postfix/src/global/smtp_stream.c
    functionUses: 1
    functionsReached:
    - VSTRING_ADDCH
    - vstream_feof
    - vstring_end
    - vstring_get_flags_bound
    - vstream_ungetc
    - vstring_truncate
    - VSTRING_LEN
    - vstream_ferror
    - VSTREAM_GETC
    - VSTRING_TERMINATE
    - vstring_get_flags
    linkageType: ''
    returnType: int
    signature: int smtp_get_noexcept(VSTRING *vp, VSTREAM *stream, ssize_t bound,
      int flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/smtp_stream.c:472,1
    - Dst: smtp_timeout_reset
      Src: /src/postfix/postfix/src/global/smtp_stream.c:477,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/global/smtp_stream.c:478,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/global/smtp_stream.c:479,1
    - Dst: vstream_ftimeout
      Src: /src/postfix/postfix/src/global/smtp_stream.c:484,1
    - Dst: smtp_longjmp
      Src: /src/postfix/postfix/src/global/smtp_stream.c:485,1
    - Dst: smtp_longjmp
      Src: /src/postfix/postfix/src/global/smtp_stream.c:487,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - cp
    - todo
    - stream
    argTypes:
    - char*
    - ssize_t
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 488
    functionName: smtp_fputs
    functionSourceFile: /src/postfix/postfix/src/global/smtp_stream.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstream_ftimeout
    - vstream_fwrite
    - smtp_timeout_reset
    - smtp_longjmp
    - vstream_fputs
    linkageType: ''
    returnType: void
    signature: void smtp_fputs(const char *cp, ssize_t todo, VSTREAM *stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/smtp_stream.c:497,1
    - Dst: smtp_timeout_reset
      Src: /src/postfix/postfix/src/global/smtp_stream.c:502,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/global/smtp_stream.c:503,1
    - Dst: vstream_ftimeout
      Src: /src/postfix/postfix/src/global/smtp_stream.c:508,1
    - Dst: smtp_longjmp
      Src: /src/postfix/postfix/src/global/smtp_stream.c:509,1
    - Dst: smtp_longjmp
      Src: /src/postfix/postfix/src/global/smtp_stream.c:511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cp
    - todo
    - stream
    argTypes:
    - char*
    - ssize_t
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 512
    functionName: smtp_fwrite
    functionSourceFile: /src/postfix/postfix/src/global/smtp_stream.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstream_ftimeout
    - vstream_fwrite
    - smtp_timeout_reset
    - smtp_longjmp
    linkageType: ''
    returnType: void
    signature: void smtp_fwrite(const char *cp, ssize_t todo, VSTREAM *stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/smtp_stream.c:526,1
    - Dst: smtp_timeout_reset
      Src: /src/postfix/postfix/src/global/smtp_stream.c:531,1
    - Dst: vstream_fread_buf
      Src: /src/postfix/postfix/src/global/smtp_stream.c:532,1
    - Dst: vstream_ftimeout
      Src: /src/postfix/postfix/src/global/smtp_stream.c:537,1
    - Dst: smtp_longjmp
      Src: /src/postfix/postfix/src/global/smtp_stream.c:538,1
    - Dst: smtp_longjmp
      Src: /src/postfix/postfix/src/global/smtp_stream.c:540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - vp
    - todo
    - stream
    argTypes:
    - VSTRING*
    - ssize_t
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 541
    functionName: smtp_fread_buf
    functionSourceFile: /src/postfix/postfix/src/global/smtp_stream.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstream_ftimeout
    - smtp_timeout_reset
    - smtp_longjmp
    - vstream_fread_buf
    linkageType: ''
    returnType: void
    signature: void smtp_fread_buf(VSTRING *vp, ssize_t todo, VSTREAM *stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smtp_timeout_reset
      Src: /src/postfix/postfix/src/global/smtp_stream.c:552,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/global/smtp_stream.c:553,1
    - Dst: vstream_ftimeout
      Src: /src/postfix/postfix/src/global/smtp_stream.c:558,1
    - Dst: smtp_longjmp
      Src: /src/postfix/postfix/src/global/smtp_stream.c:559,1
    - Dst: smtp_longjmp
      Src: /src/postfix/postfix/src/global/smtp_stream.c:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ch
    - stream
    argTypes:
    - int
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 562
    functionName: smtp_fputc
    functionSourceFile: /src/postfix/postfix/src/global/smtp_stream.c
    functionUses: 0
    functionsReached:
    - smtp_timeout_reset
    - smtp_longjmp
    - vstream_ftimeout
    - VSTREAM_PUTC
    linkageType: ''
    returnType: void
    signature: void smtp_fputc(int ch, VSTREAM *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_file_id_fd
      Src: /src/postfix/postfix/src/global/file_id.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: get_file_id
    functionSourceFile: /src/postfix/postfix/src/global/file_id.c
    functionUses: 0
    functionsReached:
    - get_file_id_fd
    linkageType: ''
    returnType: char
    signature: char *get_file_id(int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/postfix/postfix/src/global/file_id.c:84,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/file_id.c:85,1
    - Dst: get_file_id_st
      Src: /src/postfix/postfix/src/global/file_id.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - fd
    - long_flag
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: get_file_id_fd
    functionSourceFile: /src/postfix/postfix/src/global/file_id.c
    functionUses: 2
    functionsReached:
    - msg_fatal
    - get_file_id_st
    - fstat
    linkageType: ''
    returnType: char
    signature: char *get_file_id_fd(int fd, int long_flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/file_id.c:96,1
    - Dst: MQID_LG_ENCODE_INUM
      Src: /src/postfix/postfix/src/global/file_id.c:98,1
    - Dst: MQID_SH_ENCODE_INUM
      Src: /src/postfix/postfix/src/global/file_id.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - st
    - long_flag
    argTypes:
    - struct stat*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: get_file_id_st
    functionSourceFile: /src/postfix/postfix/src/global/file_id.c
    functionUses: 1
    functionsReached:
    - MQID_LG_ENCODE_INUM
    - vstring_alloc
    - MQID_SH_ENCODE_INUM
    linkageType: ''
    returnType: char
    signature: char *get_file_id_st(struct stat * st, int long_flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - fname
    - ','
    - ppDB
    - ','
    - flags
    - ','
    - zVfs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: sqlite3_open_v2
    functionSourceFile: /src/postfix/postfix/src/global/dict_sqlite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sqlite3_open_v2(fname,ppDB,flags,zVfs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_mprintf
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:108,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:111,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:112,1
    - Dst: sqlite3_free
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dict
    - raw_text
    - result
    argTypes:
    - DICT*
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: dict_sqlite_quote
    functionSourceFile: /src/postfix/postfix/src/global/dict_sqlite.c
    functionUses: 0
    functionsReached:
    - sqlite3_free
    - sqlite3_mprintf
    - msg_fatal
    - vstring_strcat
    linkageType: ''
    returnType: void
    signature: void dict_sqlite_quote(DICT *dict, const char *raw_text, VSTRING *result)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:124,1
    - Dst: sqlite3_close
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:126,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:127,1
    - Dst: cfg_parser_free
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:128,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:129,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:130,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:131,1
    - Dst: db_common_free_ctx
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:133,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:135,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 137
    functionName: dict_sqlite_close
    functionSourceFile: /src/postfix/postfix/src/global/dict_sqlite.c
    functionUses: 0
    functionsReached:
    - db_common_free_ctx
    - dict_free
    - sqlite3_close
    - msg_info
    - cfg_parser_free
    - myfree
    - msg_fatal
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_sqlite_close(DICT *dict)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: valid_utf8_stringz
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:163,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:165,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:175,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:176,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:177,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:177,1
    - Dst: db_common_check_domain
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:183,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:185,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:190,1
    - Dst: INIT_VSTR
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:202,1
    - Dst: db_common_expand
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:204,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:209,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:210,1
    - Dst: sqlite3_prepare_v2
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:212,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:212,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:214,1
    - Dst: sqlite3_errmsg
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:216,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:219,1
    - Dst: INIT_VSTR
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:225,1
    - Dst: sqlite3_step
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:226,1
    - Dst: db_common_expand
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:228,1
    - Dst: sqlite3_column_text
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:229,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:233,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:241,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:243,1
    - Dst: sqlite3_errmsg
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:243,1
    - Dst: sqlite3_finalize
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:252,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:253,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:255,1
    - Dst: sqlite3_errmsg
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:255,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:257,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 46
    argCount: 2
    argNames:
    - dict
    - name
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 259
    functionName: dict_sqlite_lookup
    functionSourceFile: /src/postfix/postfix/src/global/dict_sqlite.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - sqlite3_prepare_v2
    - msg_warn
    - db_common_check_domain
    - sqlite3_finalize
    - sqlite3_step
    - INIT_VSTR
    - vstring_alloc
    - msg_info
    - DICT_ERR_VAL_RETURN
    - sqlite3_errmsg
    - db_common_expand
    - vstring_strcpy
    - vstring_str
    - valid_utf8_stringz
    - sqlite3_column_text
    - lowercase
    linkageType: ''
    returnType: char
    signature: char *dict_sqlite_lookup(DICT *dict, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: INIT_VSTR
    functionSourceFile: /src/postfix/postfix/src/global/dict_sqlite.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INIT_VSTR(buf, len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ISALNUM
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:283,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:284,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - query
    - sqlitecf
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 291
    functionName: flag_non_recommended_query
    functionSourceFile: /src/postfix/postfix/src/global/dict_sqlite.c
    functionUses: 0
    functionsReached:
    - ISALNUM
    - msg_warn
    linkageType: ''
    returnType: void
    signature: "void flag_non_recommended_query(const char *query,\n\t\t\t\t               const
      char *sqlitecf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:304,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:305,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:307,1
    - Dst: db_common_sql_build_query
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:308,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:309,1
    - Dst: flag_non_recommended_query
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:312,1
    - Dst: cfg_get_str
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:314,1
    - Dst: cfg_get_int
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:316,1
    - Dst: db_common_parse
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:322,1
    - Dst: db_common_parse
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:324,1
    - Dst: db_common_parse_domain
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:325,1
    - Dst: db_common_dict_partial
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - dict_sqlite
    - sqlitecf
    argTypes:
    - DICT_SQLITE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 335
    functionName: sqlite_parse_config
    functionSourceFile: /src/postfix/postfix/src/global/dict_sqlite.c
    functionUses: 0
    functionsReached:
    - flag_non_recommended_query
    - db_common_dict_partial
    - vstring_export
    - db_common_sql_build_query
    - vstring_alloc
    - db_common_parse_domain
    - db_common_parse
    - cfg_get_str
    - cfg_get_int
    linkageType: ''
    returnType: void
    signature: void sqlite_parse_config(DICT_SQLITE *dict_sqlite, const char *sqlitecf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:348,1
    - Dst: cfg_parser_alloc
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:355,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:356,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:359,1
    - Dst: sqlite_parse_config
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:366,1
    - Dst: sqlite3_open_v2
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:368,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:370,1
    - Dst: sqlite3_errmsg
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:373,1
    - Dst: dict_sqlite_close
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:375,1
    - Dst: cfg_get_owner
      Src: /src/postfix/postfix/src/global/dict_sqlite.c:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - name
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 339
    functionDepth: 4
    functionLinenumber: 339
    functionLinenumberEnd: 381
    functionName: dict_sqlite_open
    functionSourceFile: /src/postfix/postfix/src/global/dict_sqlite.c
    functionUses: 1
    functionsReached:
    - sqlite_parse_config
    - sqlite3_open_v2
    - cfg_get_owner
    - dict_sqlite_close
    - sqlite3_errmsg
    - cfg_parser_alloc
    - dict_surrogate
    - dict_alloc
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_sqlite_open(const char *name, int open_flags, int dict_flags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/global/maillog_client.c:138,1
    - Dst: logwriter_open_or_die
      Src: /src/postfix/postfix/src/global/maillog_client.c:142,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/global/maillog_client.c:143,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/global/maillog_client.c:143,1
    - Dst: logwriter_write
      Src: /src/postfix/postfix/src/global/maillog_client.c:145,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/maillog_client.c:145,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/maillog_client.c:146,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/maillog_client.c:147,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 151
    functionName: maillog_client_logwriter_fallback
    functionSourceFile: /src/postfix/postfix/src/global/maillog_client.c
    functionUses: 0
    functionsReached:
    - logwriter_write
    - strlen
    - vstream_fflush
    - vstream_fclose
    - close_on_exec
    - vstream_fileno
    - msg_fatal
    - logwriter_open_or_die
    linkageType: ''
    returnType: void
    signature: void maillog_client_logwriter_fallback(const char *text)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: safe_getenv
      Src: /src/postfix/postfix/src/global/maillog_client.c:184,1
    - Dst: safe_getenv
      Src: /src/postfix/postfix/src/global/maillog_client.c:187,1
    - Dst: msg_syslog_init
      Src: /src/postfix/postfix/src/global/maillog_client.c:193,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/maillog_client.c:194,1
    - Dst: STRING_OR_NULL
      Src: /src/postfix/postfix/src/global/maillog_client.c:194,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/maillog_client.c:195,1
    - Dst: STRING_OR_NULL
      Src: /src/postfix/postfix/src/global/maillog_client.c:195,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/global/maillog_client.c:226,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/maillog_client.c:232,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/global/maillog_client.c:235,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/global/maillog_client.c:235,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/global/maillog_client.c:238,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/maillog_client.c:246,1
    - Dst: STRING_OR_NULL
      Src: /src/postfix/postfix/src/global/maillog_client.c:246,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/global/maillog_client.c:249,1
    - Dst: msg_logger_init
      Src: /src/postfix/postfix/src/global/maillog_client.c:261,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/maillog_client.c:272,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/maillog_client.c:274,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/global/maillog_client.c:276,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/maillog_client.c:277,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/maillog_client.c:279,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/maillog_client.c:281,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/global/maillog_client.c:283,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/maillog_client.c:284,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/maillog_client.c:287,1
    - Dst: msg_logger_control
      Src: /src/postfix/postfix/src/global/maillog_client.c:288,1
    - Dst: msg_logger_control
      Src: /src/postfix/postfix/src/global/maillog_client.c:298,1
    - Dst: unsetenv
      Src: /src/postfix/postfix/src/global/maillog_client.c:299,1
    - Dst: unsetenv
      Src: /src/postfix/postfix/src/global/maillog_client.c:300,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/maillog_client.c:301,1
    - Dst: msg_syslog_init
      Src: /src/postfix/postfix/src/global/maillog_client.c:309,1
    - Dst: msg_syslog_disable
      Src: /src/postfix/postfix/src/global/maillog_client.c:316,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 60
    argCount: 2
    argNames:
    - progname
    - flags
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 318
    functionName: maillog_client_init
    functionSourceFile: /src/postfix/postfix/src/global/maillog_client.c
    functionUses: 2
    functionsReached:
    - STRING_OR_NULL
    - strlen
    - unsetenv
    - msg_syslog_disable
    - setenv
    - argv_free
    - msg_info
    - safe_getenv
    - msg_logger_init
    - myfree
    - msg_logger_control
    - strncmp
    - strcmp
    - argv_split
    - concatenate
    - msg_fatal
    - msg_syslog_init
    linkageType: ''
    returnType: void
    signature: void maillog_client_init(const char *progname, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: STRING_OR_NULL
    functionSourceFile: /src/postfix/postfix/src/global/maillog_client.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRING_OR_NULL(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - string
    - ','
    - extension
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: mail_addr_crunch_ext_to_int
    functionSourceFile: /src/postfix/postfix/src/global/mail_addr_crunch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mail_addr_crunch_ext_to_int(string, extension)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mail_conf_lookup_eval
      Src: /src/postfix/postfix/src/global/mail_conf_bool.c:90,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/global/mail_conf_bool.c:93,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/global/mail_conf_bool.c:95,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/mail_conf_bool.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - name
    - intval
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 102
    functionName: convert_mail_conf_bool
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_bool.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - msg_fatal
    - mail_conf_lookup_eval
    linkageType: ''
    returnType: int
    signature: int convert_mail_conf_bool(const char *name, int *intval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: convert_mail_conf_bool
      Src: /src/postfix/postfix/src/global/mail_conf_bool.c:110,1
    - Dst: set_mail_conf_bool
      Src: /src/postfix/postfix/src/global/mail_conf_bool.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - defval
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: get_mail_conf_bool
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_bool.c
    functionUses: 1
    functionsReached:
    - set_mail_conf_bool
    - convert_mail_conf_bool
    linkageType: ''
    returnType: int
    signature: int get_mail_conf_bool(const char *name, int defval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: convert_mail_conf_bool
      Src: /src/postfix/postfix/src/global/mail_conf_bool.c:123,1
    - Dst: set_mail_conf_bool
      Src: /src/postfix/postfix/src/global/mail_conf_bool.c:124,1
    - Dst: defval
      Src: /src/postfix/postfix/src/global/mail_conf_bool.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - defval
    argTypes:
    - char*
    - stupid_indent_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: get_mail_conf_bool_fn
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_bool.c
    functionUses: 0
    functionsReached:
    - set_mail_conf_bool
    - convert_mail_conf_bool
    - defval
    linkageType: ''
    returnType: int
    signature: int get_mail_conf_bool_fn(const char *name, stupid_indent_int defval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/global/mail_conf_bool.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: set_mail_conf_bool
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_bool.c
    functionUses: 2
    functionsReached:
    - mail_conf_update
    linkageType: ''
    returnType: void
    signature: void set_mail_conf_bool(const char *name, int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_mail_conf_bool
      Src: /src/postfix/postfix/src/global/mail_conf_bool.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - table
    argTypes:
    - CONFIG_BOOL_TABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: get_mail_conf_bool_table
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_bool.c
    functionUses: 2
    functionsReached:
    - get_mail_conf_bool
    linkageType: ''
    returnType: void
    signature: void get_mail_conf_bool_table(const CONFIG_BOOL_TABLE *table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_mail_conf_bool_fn
      Src: /src/postfix/postfix/src/global/mail_conf_bool.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - table
    argTypes:
    - CONFIG_BOOL_FN_TABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 4
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: get_mail_conf_bool_fn_table
    functionSourceFile: /src/postfix/postfix/src/global/mail_conf_bool.c
    functionUses: 0
    functionsReached:
    - get_mail_conf_bool_fn
    linkageType: ''
    returnType: void
    signature: void get_mail_conf_bool_fn_table(const CONFIG_BOOL_FN_TABLE *table)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/dsn.c:132,1
    - Dst: NULL_OR_EMPTY
      Src: /src/postfix/postfix/src/global/dsn.c:145,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/dsn.c:146,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/dsn.c:148,1
    - Dst: NULL_OR_EMPTY
      Src: /src/postfix/postfix/src/global/dsn.c:150,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/dsn.c:151,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/dsn.c:153,1
    - Dst: NULL_OR_EMPTY
      Src: /src/postfix/postfix/src/global/dsn.c:155,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/dsn.c:156,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/dsn.c:158,1
    - Dst: NULL_OR_EMPTY
      Src: /src/postfix/postfix/src/global/dsn.c:160,1
    - Dst: NULL_OR_EMPTY
      Src: /src/postfix/postfix/src/global/dsn.c:160,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/dsn.c:161,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/dsn.c:162,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/dsn.c:164,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/dsn.c:165,1
    - Dst: NULL_OR_EMPTY
      Src: /src/postfix/postfix/src/global/dsn.c:167,1
    - Dst: NULL_OR_EMPTY
      Src: /src/postfix/postfix/src/global/dsn.c:167,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/dsn.c:168,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/dsn.c:169,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/dsn.c:171,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/global/dsn.c:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 7
    argNames:
    - status
    - action
    - reason
    - dtype
    - dtext
    - mtype
    - mname
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 175
    functionName: dsn_create
    functionSourceFile: /src/postfix/postfix/src/global/dsn.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - NULL_OR_EMPTY
    - mystrdup
    - msg_panic
    linkageType: ''
    returnType: DSN
    signature: "DSN *dsn_create(const char *status, const char *action, const char
      *reason,\n\t\t           const char *dtype, const char *dtext,\n\t\t           const
      char *mtype, const char *mname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: NULL_OR_EMPTY
    functionSourceFile: /src/postfix/postfix/src/global/dsn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NULL_OR_EMPTY(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dsn.c:181,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dsn.c:182,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dsn.c:183,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dsn.c:184,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dsn.c:185,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dsn.c:186,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dsn.c:187,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/global/dsn.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - dsn
    argTypes:
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: dsn_free
    functionSourceFile: /src/postfix/postfix/src/global/dsn.c
    functionUses: 1
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void dsn_free(DSN *dsn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: quote_821_local
    functionSourceFile: /src/postfix/postfix/src/global/quote_821_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: quote_821_local(dst, src)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/mail_date.c:66,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/global/mail_date.c:68,1
    - Dst: gmtime
      Src: /src/postfix/postfix/src/global/mail_date.c:81,1
    - Dst: localtime
      Src: /src/postfix/postfix/src/global/mail_date.c:82,1
    - Dst: strftime
      Src: /src/postfix/postfix/src/global/mail_date.c:113,1
    - Dst: vstring_end
      Src: /src/postfix/postfix/src/global/mail_date.c:113,1
    - Dst: vstring_avail
      Src: /src/postfix/postfix/src/global/mail_date.c:113,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/global/mail_date.c:114,1
    - Dst: VSTRING_SKIP
      Src: /src/postfix/postfix/src/global/mail_date.c:115,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/mail_date.c:121,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/global/mail_date.c:122,1
    - Dst: abs
      Src: /src/postfix/postfix/src/global/mail_date.c:123,1
    - Dst: strftime
      Src: /src/postfix/postfix/src/global/mail_date.c:128,1
    - Dst: vstring_end
      Src: /src/postfix/postfix/src/global/mail_date.c:128,1
    - Dst: vstring_avail
      Src: /src/postfix/postfix/src/global/mail_date.c:128,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/global/mail_date.c:129,1
    - Dst: vstring_avail
      Src: /src/postfix/postfix/src/global/mail_date.c:129,1
    - Dst: VSTRING_SKIP
      Src: /src/postfix/postfix/src/global/mail_date.c:130,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/global/mail_date.c:132,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 1
    argNames:
    - when
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 133
    functionName: mail_date
    functionSourceFile: /src/postfix/postfix/src/global/mail_date.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - vstring_sprintf_append
    - vstring_end
    - vstring_str
    - strftime
    - localtime
    - abs
    - gmtime
    - vstring_alloc
    - VSTRING_SPACE
    - VSTRING_RESET
    - vstring_avail
    - VSTRING_SKIP
    linkageType: ''
    returnType: char
    signature: char *mail_date(time_t when)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/mail_date.c:141,1
    - Dst: mail_date
      Src: /src/postfix/postfix/src/global/mail_date.c:141,1
    - Dst: time
      Src: /src/postfix/postfix/src/global/mail_date.c:141,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/mail_date.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/mail_date.c
    functionUses: 17
    functionsReached:
    - time
    - mail_date
    - vstream_fflush
    - vstream_printf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tv
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: REC_TYPE_WARN_ARG
    functionSourceFile: /src/postfix/postfix/src/global/rec_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REC_TYPE_WARN_ARG(tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cp
    - ','
    - tv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: REC_TYPE_WARN_SCAN
    functionSourceFile: /src/postfix/postfix/src/global/rec_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REC_TYPE_WARN_SCAN(cp, tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tv
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: REC_TYPE_TIME_ARG
    functionSourceFile: /src/postfix/postfix/src/global/rec_type.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REC_TYPE_TIME_ARG(tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cp
    - ','
    - tv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: REC_TYPE_TIME_SCAN
    functionSourceFile: /src/postfix/postfix/src/global/rec_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REC_TYPE_TIME_SCAN(cp, tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:149,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:150,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - reply
    argTypes:
    - RESOLVE_REPLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: resolve_clnt_init
    functionSourceFile: /src/postfix/postfix/src/global/resolve_clnt.c
    functionUses: 0
    functionsReached:
    - vstring_alloc
    linkageType: ''
    returnType: void
    signature: void resolve_clnt_init(RESOLVE_REPLY *reply)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:159,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: resolve_clnt_handshake
    functionSourceFile: /src/postfix/postfix/src/global/resolve_clnt.c
    functionUses: 0
    functionsReached:
    - RECV_ATTR_STREQ
    - attr_scan
    linkageType: ''
    returnType: int
    signature: int resolve_clnt_handshake(VSTREAM *stream)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:178,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:179,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:180,1
    - Dst: resolve_clnt_init
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:181,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:190,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:191,1
    - Dst: time
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:198,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:199,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:199,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:200,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:200,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:201,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:201,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:202,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:202,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:203,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:203,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:204,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:204,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:207,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:208,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:209,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:209,1
    - Dst: IFSET
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:210,1
    - Dst: IFSET
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:211,1
    - Dst: IFSET
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:212,1
    - Dst: IFSET
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:213,1
    - Dst: IFSET
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:214,1
    - Dst: IFSET
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:215,1
    - Dst: IFSET
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:216,1
    - Dst: IFSET
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:217,1
    - Dst: IFSET
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:218,1
    - Dst: clnt_stream_create
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:228,1
    - Dst: clnt_stream_access
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:235,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:239,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:240,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:241,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:242,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:244,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:245,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:246,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:247,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:248,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:249,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:250,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:253,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:257,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:258,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:259,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:259,1
    - Dst: IFSET
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:260,1
    - Dst: IFSET
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:261,1
    - Dst: IFSET
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:262,1
    - Dst: IFSET
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:263,1
    - Dst: IFSET
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:264,1
    - Dst: IFSET
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:265,1
    - Dst: IFSET
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:266,1
    - Dst: IFSET
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:267,1
    - Dst: IFSET
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:268,1
    - Dst: clnt_stream_recover
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:271,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:272,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:273,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:274,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:275,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:279,1
    - Dst: clnt_stream_recover
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:280,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:286,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:287,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:288,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:289,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:289,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:290,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:290,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:291,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:291,1
    - Dst: time
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:293,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 4
    argNames:
    - class
    - sender
    - addr
    - reply
    argTypes:
    - char*
    - char*
    - char*
    - RESOLVE_REPLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 294
    functionName: resolve_clnt
    functionSourceFile: /src/postfix/postfix/src/global/resolve_clnt.c
    functionUses: 0
    functionsReached:
    - sleep
    - attr_print
    - RECV_ATTR_STR
    - msg_info
    - clnt_stream_create
    - msg_panic
    - vstream_fflush
    - vstring_alloc
    - resolve_clnt_init
    - attr_scan
    - time
    - IFSET
    - msg_warn
    - clnt_stream_access
    - SEND_ATTR_STR
    - clnt_stream_recover
    - strcmp
    - vstring_strcpy
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: void
    signature: "void resolve_clnt(const char *class, const char *sender,\n\t\t             const
      char *addr, RESOLVE_REPLY *reply)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - text
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: IFSET
    functionSourceFile: /src/postfix/postfix/src/global/resolve_clnt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IFSET(flag, text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:300,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:301,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - reply
    argTypes:
    - RESOLVE_REPLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: resolve_clnt_free
    functionSourceFile: /src/postfix/postfix/src/global/resolve_clnt.c
    functionUses: 0
    functionsReached:
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void resolve_clnt_free(RESOLVE_REPLY *reply)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - myname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/global/resolve_clnt.c
    functionUses: 13
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(char *myname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: resolve_clnt
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:338,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:340,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:342,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:343,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:344,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:344,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:345,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:345,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:346,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:347,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:347,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:348,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:351,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:356,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:357,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - class
    - addr
    - reply
    argTypes:
    - char*
    - char*
    - RESOLVE_REPLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 360
    functionName: resolve
    functionSourceFile: /src/postfix/postfix/src/global/resolve_clnt.c
    functionUses: 0
    functionsReached:
    - resolve_clnt
    - vstream_fflush
    - vstream_printf
    - STR
    linkageType: ''
    returnType: void
    signature: void resolve(char *class, char *addr, RESOLVE_REPLY *reply)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:368,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:370,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:371,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:372,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:373,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:375,1
    - Dst: usage
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:381,1
    - Dst: resolve_clnt_init
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:384,1
    - Dst: resolve
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:388,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:392,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:394,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:395,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:395,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:396,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:397,1
    - Dst: resolve
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:400,1
    - Dst: STR
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:400,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:402,1
    - Dst: resolve_clnt_free
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:404,1
    - Dst: exit
      Src: /src/postfix/postfix/src/global/resolve_clnt.c:405,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 362
    functionDepth: 4
    functionLinenumber: 362
    functionLinenumberEnd: 406
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/global/resolve_clnt.c
    functionUses: 17
    functionsReached:
    - resolve
    - vstring_fgets_nonl
    - resolve_clnt_free
    - vstring_alloc
    - chdir
    - msg_info
    - msg_vstream_init
    - resolve_clnt_init
    - STR
    - exit
    - usage
    - split_at
    - msg_fatal
    - vstring_free
    - mail_conf_read
    - GETOPT
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - str
    - ','
    - len
    - ','
    - non_proxy
    - ','
    - client_addr
    - ','
    - client_port
    - ','
    - server_addr
    - ','
    - server_port
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: haproxy_srvr_parse
    functionSourceFile: /src/postfix/postfix/src/global/haproxy_srvr.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "haproxy_srvr_parse(str, len, non_proxy, client_addr, client_port,
      \\\n\t\t\t\tserver_addr, server_port)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - fd
    - ','
    - non_proxy
    - ','
    - client_addr
    - ','
    - client_port
    - ','
    - server_addr
    - ','
    - server_port
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: haproxy_srvr_receive
    functionSourceFile: /src/postfix/postfix/src/global/haproxy_srvr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "haproxy_srvr_receive(fd, non_proxy, client_addr, client_port, \\\n\t\t\t\tserver_addr,
      server_port)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/global/mkmap_proxy.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - unused_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: mkmap_proxy_open
    functionSourceFile: /src/postfix/postfix/src/global/mkmap_proxy.c
    functionUses: 0
    functionsReached:
    - mymalloc
    linkageType: ''
    returnType: MKMAP
    signature: MKMAP *mkmap_proxy_open(const char *unused_path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/postlog/postlog.c:205,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postlog/postlog.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: level_map
    functionSourceFile: /src/postfix/postfix/src/postlog/postlog.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int level_map(char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postlog/postlog.c:214,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/postlog/postlog.c:217,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/postlog/postlog.c:219,1
    - Dst: msg_printf
      Src: /src/postfix/postfix/src/postlog/postlog.c:221,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/postlog/postlog.c:221,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postlog/postlog.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - level
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: log_argv
    functionSourceFile: /src/postfix/postfix/src/postlog/postlog.c
    functionUses: 0
    functionsReached:
    - vstring_alloc
    - msg_printf
    - vstring_strcat
    - vstring_str
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void log_argv(int level, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postlog/postlog.c:229,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/postlog/postlog.c:231,1
    - Dst: msg_printf
      Src: /src/postfix/postfix/src/postlog/postlog.c:232,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/postlog/postlog.c:232,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postlog/postlog.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - level
    - fp
    argTypes:
    - int
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 234
    functionName: log_stream
    functionSourceFile: /src/postfix/postfix/src/postlog/postlog.c
    functionUses: 0
    functionsReached:
    - vstring_get_nonl
    - vstring_alloc
    - msg_printf
    - vstring_str
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void log_stream(int level, VSTREAM *fp)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/postfix/postfix/src/postlog/postlog.c:258,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/postlog/postlog.c:266,1
    - Dst: close
      Src: /src/postfix/postfix/src/postlog/postlog.c:267,1
    - Dst: open
      Src: /src/postfix/postfix/src/postlog/postlog.c:267,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postlog/postlog.c:268,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/postlog/postlog.c:275,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/postlog/postlog.c:276,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/postlog/postlog.c:277,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/postlog/postlog.c:291,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postlog/postlog.c:294,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/postlog/postlog.c:297,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postlog/postlog.c:298,1
    - Dst: level_map
      Src: /src/postfix/postfix/src/postlog/postlog.c:303,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/postlog/postlog.c:318,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/postlog/postlog.c:320,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/postlog/postlog.c:320,1
    - Dst: mail_dict_init
      Src: /src/postfix/postfix/src/postlog/postlog.c:322,1
    - Dst: get_mail_conf_str_table
      Src: /src/postfix/postfix/src/postlog/postlog.c:323,1
    - Dst: mail_parm_split
      Src: /src/postfix/postfix/src/postlog/postlog.c:331,1
    - Dst: clean_env
      Src: /src/postfix/postfix/src/postlog/postlog.c:332,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postlog/postlog.c:333,1
    - Dst: printable
      Src: /src/postfix/postfix/src/postlog/postlog.c:341,1
    - Dst: isatty
      Src: /src/postfix/postfix/src/postlog/postlog.c:347,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/postlog/postlog.c:348,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/postlog/postlog.c:349,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/postlog/postlog.c:352,1
    - Dst: check_user_acl_byuid
      Src: /src/postfix/postfix/src/postlog/postlog.c:355,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postlog/postlog.c:357,1
    - Dst: log_argv
      Src: /src/postfix/postfix/src/postlog/postlog.c:366,1
    - Dst: log_stream
      Src: /src/postfix/postfix/src/postlog/postlog.c:368,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/postlog/postlog.c:375,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postlog/postlog.c:376,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 240
    functionDepth: 5
    functionLinenumber: 240
    functionLinenumberEnd: 377
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/postlog/postlog.c
    functionUses: 17
    functionsReached:
    - sleep
    - check_user_acl_byuid
    - msg_vstream_init
    - open
    - GETOPT
    - getuid
    - setenv
    - clean_env
    - log_argv
    - maillog_client_init
    - exit
    - get_mail_conf_str_table
    - level_map
    - mail_parm_split
    - close
    - mail_task
    - msg_fatal_status
    - fstat
    - isatty
    - mail_conf_read
    - printable
    - mail_dict_init
    - argv_free
    - umask
    - log_stream
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - qp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 482
    functionName: MESSAGE_QUEUE
    functionSourceFile: /src/postfix/postfix/src/postsuper/postsuper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MESSAGE_QUEUE(qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - st
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 483
    functionName: READY_MESSAGE
    functionSourceFile: /src/postfix/postfix/src/postsuper/postsuper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READY_MESSAGE(st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:491,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - queue_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 494
    functionName: find_queue_info
    functionSourceFile: /src/postfix/postfix/src/postsuper/postsuper.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - strcmp
    linkageType: ''
    returnType: struct queue_info
    signature: struct queue_info *find_queue_info(const char *queue_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:502,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:504,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:507,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 510
    functionName: postremove
    functionSourceFile: /src/postfix/postfix/src/postsuper/postsuper.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - remove
    - msg_info
    linkageType: ''
    returnType: int
    signature: int postremove(const char *path)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:524,1
    - Dst: safe_open
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:531,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:533,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:533,1
    - Dst: READY_MESSAGE
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:541,1
    - Dst: POSTEXPIRE_RETURN
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:542,1
    - Dst: POSTEXPIRE_RETURN
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:544,1
    - Dst: fchmod
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:545,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:545,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:547,1
    - Dst: POSTEXPIRE_RETURN
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:548,1
    - Dst: POSTEXPIRE_RETURN
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:550,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 551
    functionName: postexpire
    functionSourceFile: /src/postfix/postfix/src/postsuper/postsuper.c
    functionUses: 0
    functionsReached:
    - POSTEXPIRE_RETURN
    - msg_warn
    - vstring_alloc
    - fchmod
    - READY_MESSAGE
    - vstream_fileno
    - vstring_str
    - safe_open
    linkageType: ''
    returnType: int
    signature: int postexpire(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: 540
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 540
    functionName: POSTEXPIRE_RETURN
    functionSourceFile: /src/postfix/postfix/src/postsuper/postsuper.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POSTEXPIRE_RETURN(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sane_rename
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:559,1
    - Dst: mail_queue_mkdirs
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:561,1
    - Dst: sane_rename
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:562,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:564,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:567,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - old
    - new
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 570
    functionName: postrename
    functionSourceFile: /src/postfix/postfix/src/postsuper/postsuper.c
    functionUses: 0
    functionsReached:
    - mail_queue_mkdirs
    - sane_rename
    - msg_fatal
    - msg_info
    linkageType: ''
    returnType: int
    signature: int postrename(const char *old, const char *new)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rmdir
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:578,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:580,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:583,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 586
    functionName: postrmdir
    functionSourceFile: /src/postfix/postfix/src/postsuper/postsuper.c
    functionUses: 0
    functionsReached:
    - rmdir
    - msg_fatal
    - msg_info
    linkageType: ''
    returnType: int
    signature: int postrmdir(const char *path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mail_queue_id_ok
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:603,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:604,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:607,1
    - Dst: MESSAGE_QUEUE
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:617,1
    - Dst: find_queue_info
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:617,1
    - Dst: mail_open_ok
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:619,1
    - Dst: postremove
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:622,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:622,1
    - Dst: postremove
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:623,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:625,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:630,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - queue_names
    - queue_id
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 590
    functionDepth: 4
    functionLinenumber: 590
    functionLinenumberEnd: 632
    functionName: delete_one
    functionSourceFile: /src/postfix/postfix/src/postsuper/postsuper.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - MESSAGE_QUEUE
    - find_queue_info
    - vstring_alloc
    - msg_info
    - postremove
    - mail_open_ok
    - mail_queue_id_ok
    - mail_queue_path
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void delete_one(const char **queue_names, const char *queue_id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mail_queue_id_ok
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:649,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:650,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:653,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:663,1
    - Dst: MESSAGE_QUEUE
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:665,1
    - Dst: find_queue_info
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:665,1
    - Dst: mail_open_ok
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:667,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:669,1
    - Dst: postrename
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:670,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:670,1
    - Dst: time
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:671,1
    - Dst: utime
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:672,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:672,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:673,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:673,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:674,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:680,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 2
    argNames:
    - queue_names
    - queue_id
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 636
    functionDepth: 4
    functionLinenumber: 636
    functionLinenumberEnd: 682
    functionName: requeue_one
    functionSourceFile: /src/postfix/postfix/src/postsuper/postsuper.c
    functionUses: 0
    functionsReached:
    - utime
    - msg_warn
    - MESSAGE_QUEUE
    - find_queue_info
    - time
    - vstring_alloc
    - msg_info
    - postrename
    - strcmp
    - mail_open_ok
    - mail_queue_id_ok
    - mail_queue_path
    - vstring_free
    - STR
    linkageType: ''
    returnType: void
    signature: void requeue_one(const char **queue_names, const char *queue_id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mail_queue_id_ok
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:698,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:699,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:702,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:715,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:717,1
    - Dst: MESSAGE_QUEUE
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:719,1
    - Dst: find_queue_info
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:719,1
    - Dst: mail_open_ok
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:721,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:723,1
    - Dst: postrename
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:724,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:724,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:725,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:731,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 2
    argNames:
    - queue_names
    - queue_id
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 686
    functionDepth: 4
    functionLinenumber: 686
    functionLinenumberEnd: 733
    functionName: hold_one
    functionSourceFile: /src/postfix/postfix/src/postsuper/postsuper.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - MESSAGE_QUEUE
    - find_queue_info
    - vstring_alloc
    - msg_info
    - postrename
    - strcmp
    - mail_open_ok
    - mail_queue_id_ok
    - mail_queue_path
    - vstring_free
    - STR
    linkageType: ''
    returnType: void
    signature: void hold_one(const char **queue_names, const char *queue_id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mail_queue_id_ok
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:748,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:749,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:752,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:760,1
    - Dst: mail_open_ok
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:762,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:764,1
    - Dst: postrename
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:765,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:765,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:766,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:771,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - queue_names
    - queue_id
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 737
    functionDepth: 4
    functionLinenumber: 737
    functionLinenumberEnd: 773
    functionName: release_one
    functionSourceFile: /src/postfix/postfix/src/postsuper/postsuper.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - vstring_alloc
    - msg_info
    - postrename
    - strcmp
    - mail_open_ok
    - mail_queue_id_ok
    - mail_queue_path
    - vstring_free
    - STR
    linkageType: ''
    returnType: void
    signature: void release_one(const char **queue_names, const char *queue_id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mail_queue_id_ok
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:788,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:789,1
    - Dst: MESSAGE_QUEUE
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:798,1
    - Dst: find_queue_info
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:798,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:800,1
    - Dst: mail_open_ok
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:802,1
    - Dst: postexpire
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:804,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:806,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - queue_names
    - queue_id
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 777
    functionDepth: 4
    functionLinenumber: 777
    functionLinenumberEnd: 812
    functionName: expire_one
    functionSourceFile: /src/postfix/postfix/src/postsuper/postsuper.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - postexpire
    - MESSAGE_QUEUE
    - find_queue_info
    - msg_info
    - strcmp
    - mail_open_ok
    - mail_queue_id_ok
    linkageType: ''
    returnType: void
    signature: void expire_one(const char **queue_names, const char *queue_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expire_one
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:818,1
    - Dst: release_one
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - queue_names
    - queue_id
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 816
    functionDepth: 5
    functionLinenumber: 816
    functionLinenumberEnd: 820
    functionName: exp_rel_one
    functionSourceFile: /src/postfix/postfix/src/postsuper/postsuper.c
    functionUses: 0
    functionsReached:
    - release_one
    - expire_one
    linkageType: ''
    returnType: void
    signature: void exp_rel_one(const char **queue_names, const char *queue_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:841,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:842,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:843,1
    - Dst: MQID_FIND_LG_INUM_SEPARATOR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:854,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:856,1
    - Dst: get_file_id_st
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:858,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:861,1
    - Dst: get_file_id_st
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:863,1
    - Dst: MQID_LG_GET_HEX_USEC
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:866,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:867,1
    - Dst: get_file_id_st
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:867,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:875,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:876,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:876,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:877,1
    - Dst: postrename
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:878,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:878,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:878,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:885,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:885,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:886,1
    - Dst: postrename
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:887,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:887,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:892,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:893,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:894,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - actual_path
    - actual_queue
    - actual_id
    - st
    argTypes:
    - char*
    - char*
    - char*
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 838
    functionDepth: 3
    functionLinenumber: 838
    functionLinenumberEnd: 897
    functionName: fix_queue_id
    functionSourceFile: /src/postfix/postfix/src/postsuper/postsuper.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - MQID_FIND_LG_INUM_SEPARATOR
    - get_file_id_st
    - vstring_alloc
    - MQID_LG_GET_HEX_USEC
    - postrename
    - vstring_strcat
    - mail_queue_path
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: "int fix_queue_id(const char *actual_path, const char *actual_queue,\n\t\t\t
      \       const char *actual_id, struct stat * st)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: argv_split
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:903,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:904,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:905,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:934,1
    - Dst: find_queue_info
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:941,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:947,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:957,1
    - Dst: scan_dir_open
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:962,1
    - Dst: scan_dir_next
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:971,1
    - Dst: postrmdir
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:975,1
    - Dst: scan_dir_path
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:975,1
    - Dst: scan_dir_pop
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:976,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:986,1
    - Dst: scan_dir_push
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:988,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:997,1
    - Dst: scan_dir_path
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:997,1
    - Dst: lstat
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:998,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:998,1
    - Dst: S_ISDIR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1006,1
    - Dst: rmdir
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1007,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1007,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1009,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1009,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1012,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1012,1
    - Dst: postremove
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1025,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1025,1
    - Dst: MESSAGE_QUEUE
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1026,1
    - Dst: READY_MESSAGE
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1026,1
    - Dst: S_ISREG
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1037,1
    - Dst: MESSAGE_QUEUE
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1039,1
    - Dst: READY_MESSAGE
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1040,1
    - Dst: time
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1041,1
    - Dst: postremove
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1042,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1042,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1056,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1056,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1057,1
    - Dst: mail_queue_id_ok
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1058,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1059,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1059,1
    - Dst: MESSAGE_QUEUE
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1062,1
    - Dst: MQID_GET_INUM
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1063,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1065,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1065,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1069,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1069,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1073,1
    - Dst: postrename
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1074,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1074,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1074,1
    - Dst: MESSAGE_QUEUE
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1078,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1080,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1080,1
    - Dst: mail_queue_id_ok
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1089,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1090,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1090,1
    - Dst: MESSAGE_QUEUE
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1112,1
    - Dst: MQID_GET_INUM
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1113,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1115,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1115,1
    - Dst: fix_queue_id
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1123,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1123,1
    - Dst: MESSAGE_QUEUE
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1138,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1139,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1140,1
    - Dst: postrename
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1141,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1141,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1141,1
    - Dst: MESSAGE_QUEUE
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1160,1
    - Dst: READY_MESSAGE
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1160,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1161,1
    - Dst: postexpire
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1162,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1162,1
    - Dst: MESSAGE_QUEUE
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1175,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1176,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1177,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1178,1
    - Dst: postrename
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1179,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1179,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1179,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1192,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1193,1
    - Dst: postrename
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1194,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1194,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1194,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1209,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1210,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1210,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1210,1
    - Dst: postrename
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1212,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1212,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1212,1
    - Dst: scan_dir_close
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1218,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1224,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1225,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1226,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 134
    argCount: 2
    argNames:
    - queues
    - action
    argTypes:
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 901
    functionDepth: 4
    functionLinenumber: 901
    functionLinenumberEnd: 1227
    functionName: super
    functionSourceFile: /src/postfix/postfix/src/postsuper/postsuper.c
    functionUses: 0
    functionsReached:
    - S_ISDIR
    - vstring_sprintf
    - MESSAGE_QUEUE
    - msg_info
    - scan_dir_open
    - MQID_GET_INUM
    - scan_dir_push
    - strlen
    - vstring_alloc
    - S_ISREG
    - postrename
    - fix_queue_id
    - postremove
    - mail_queue_id_ok
    - rmdir
    - scan_dir_close
    - postexpire
    - time
    - mail_queue_path
    - scan_dir_path
    - argv_split
    - lstat
    - vstring_free
    - postrmdir
    - msg_warn
    - find_queue_info
    - scan_dir_pop
    - argv_free
    - strcmp
    - READY_MESSAGE
    - vstring_strcpy
    - msg_fatal
    - scan_dir_next
    - STR
    linkageType: ''
    returnType: void
    signature: void super(const char **queues, int action)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1244,1
    - Dst: signal
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1245,1
    - Dst: signal
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1246,1
    - Dst: signal
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1247,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1249,1
    - Dst: _exit
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1231
    functionDepth: 1
    functionLinenumber: 1231
    functionLinenumberEnd: 1253
    functionName: interrupted
    functionSourceFile: /src/postfix/postfix/src/postsuper/postsuper.c
    functionUses: 0
    functionsReached:
    - _exit
    - signal
    - msg_warn
    linkageType: ''
    returnType: void
    signature: void interrupted(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: interrupted
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1257
    functionDepth: 2
    functionLinenumber: 1257
    functionLinenumberEnd: 1260
    functionName: fatal_warning
    functionSourceFile: /src/postfix/postfix/src/postsuper/postsuper.c
    functionUses: 0
    functionsReached:
    - interrupted
    linkageType: ''
    returnType: void
    signature: void fatal_warning(void)
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1302,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1310,1
    - Dst: close
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1311,1
    - Dst: open
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1311,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1312,1
    - Dst: safe_getenv
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1317,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1323,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1325,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1326,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1326,1
    - Dst: set_mail_conf_str
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1328,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1328,1
    - Dst: unsafe
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1342,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1343,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1344,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1345,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1356,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1359,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1370,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1371,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1372,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1375,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1379,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1383,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1387,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1391,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1398,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1418,1
    - Dst: mail_parm_split
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1420,1
    - Dst: update_env
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1421,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1422,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1424,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1424,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1426,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1427,1
    - Dst: set_ugid
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1440,1
    - Dst: signal
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1457,1
    - Dst: signal
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1458,1
    - Dst: signal
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1459,1
    - Dst: signal
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1460,1
    - Dst: signal
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1461,1
    - Dst: signal
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1462,1
    - Dst: msg_cleanup
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1463,1
    - Dst: super
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1488,1
    - Dst: super
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1497,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1506,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1507,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1515,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1518,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1527,1
    - Dst: super
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1528,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1529,1
    - Dst: operate_stream
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1530,1
    - Dst: delete_one
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1532,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1535,1
    - Dst: super
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1536,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1537,1
    - Dst: operate_stream
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1538,1
    - Dst: expire_one
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1540,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1543,1
    - Dst: super
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1544,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1545,1
    - Dst: operate_stream
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1546,1
    - Dst: exp_rel_one
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1548,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1551,1
    - Dst: super
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1552,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1553,1
    - Dst: operate_stream
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1554,1
    - Dst: hold_one
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1556,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1559,1
    - Dst: super
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1560,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1561,1
    - Dst: operate_stream
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1562,1
    - Dst: release_one
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1564,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1567,1
    - Dst: super
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1568,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1569,1
    - Dst: operate_stream
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1570,1
    - Dst: requeue_one
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1572,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1581,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1584,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1588,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1591,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1595,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1598,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1601,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postsuper/postsuper.c:1603,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 158
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1264
    functionDepth: 6
    functionLinenumber: 1264
    functionLinenumberEnd: 1604
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/postsuper/postsuper.c
    functionUses: 17
    functionsReached:
    - set_ugid
    - safe_getenv
    - msg_vstream_init
    - super
    - open
    - msg_info
    - GETOPT
    - unsafe
    - getuid
    - setenv
    - msg_panic
    - requeue_one
    - maillog_client_init
    - msg_error
    - exit
    - chdir
    - set_mail_conf_str
    - operate_stream
    - delete_one
    - mail_parm_split
    - update_env
    - close
    - mail_task
    - hold_one
    - exp_rel_one
    - fstat
    - signal
    - msg_cleanup
    - mail_conf_read
    - strrchr
    - release_one
    - msg_warn
    - expire_one
    - argv_free
    - umask
    - strcmp
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/error/error.c:163,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/error/error.c:169,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/error/error.c:171,1
    - Dst: mail_queue_open
      Src: /src/postfix/postfix/src/error/error.c:179,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/error/error.c:182,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/error/error.c:185,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/error/error.c:185,1
    - Dst: dsn_split
      Src: /src/postfix/postfix/src/error/error.c:192,1
    - Dst: DSN_SIMPLE
      Src: /src/postfix/postfix/src/error/error.c:193,1
    - Dst: DSN_STATUS
      Src: /src/postfix/postfix/src/error/error.c:193,1
    - Dst: append
      Src: /src/postfix/postfix/src/error/error.c:196,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/error/error.c:196,1
    - Dst: deliver_completed
      Src: /src/postfix/postfix/src/error/error.c:199,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/error/error.c:206,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/error/error.c:207,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - request
    - def_dsn
    argTypes:
    - DELIVER_REQUEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 149
    functionDepth: 4
    functionLinenumber: 149
    functionLinenumberEnd: 210
    functionName: deliver_message
    functionSourceFile: /src/postfix/postfix/src/error/error.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - VSTREAM_PATH
    - append
    - dsn_split
    - mail_queue_open
    - msg_info
    - DSN_STATUS
    - DSN_SIMPLE
    - BOUNCE_FLAGS
    - deliver_completed
    - vstream_fclose
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: "int deliver_message(DELIVER_REQUEST *request, const char *def_dsn,\n\t
      \        int (*append) (int, const char *, MSG_STATS *, RECIPIENT *,\n\t\t\t\t
      \       const char *, DSN *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - request
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: BOUNCE_FLAGS
    functionSourceFile: /src/postfix/postfix/src/error/error.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOUNCE_FLAGS(request)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/error/error.c:223,1
    - Dst: deliver_request_read
      Src: /src/postfix/postfix/src/error/error.c:233,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/error/error.c:234,1
    - Dst: deliver_message
      Src: /src/postfix/postfix/src/error/error.c:235,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/error/error.c:236,1
    - Dst: deliver_message
      Src: /src/postfix/postfix/src/error/error.c:237,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/error/error.c:239,1
    - Dst: deliver_request_done
      Src: /src/postfix/postfix/src/error/error.c:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - client_stream
    - service
    - argv
    argTypes:
    - VSTREAM*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 214
    functionDepth: 6
    functionLinenumber: 214
    functionLinenumberEnd: 242
    functionName: error_service
    functionSourceFile: /src/postfix/postfix/src/error/error.c
    functionUses: 0
    functionsReached:
    - deliver_message
    - deliver_request_read
    - strcmp
    - msg_fatal
    - deliver_request_done
    linkageType: ''
    returnType: void
    signature: void error_service(VSTREAM *client_stream, char *service, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flush_init
      Src: /src/postfix/postfix/src/error/error.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: pre_init
    functionSourceFile: /src/postfix/postfix/src/error/error.c
    functionUses: 0
    functionsReached:
    - flush_init
    linkageType: ''
    returnType: void
    signature: void pre_init(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: single_server_main
      Src: /src/postfix/postfix/src/error/error.c:263,1
    - Dst: CA_MAIL_SERVER_PRE_INIT
      Src: /src/postfix/postfix/src/error/error.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 266
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/error/error.c
    functionUses: 18
    functionsReached:
    - CA_MAIL_SERVER_PRE_INIT
    - single_server_main
    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: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/transport.c
    functionUses: 208
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:104,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - transport_maps_name
    - transport_maps
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: transport_pre_init
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/transport.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - maps_create
    linkageType: ''
    returnType: TRANSPORT_INFO
    signature: "TRANSPORT_INFO *transport_pre_init(const char *transport_maps_name,\n\t\t\t\t
      \          const char *transport_maps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: match_parent_style
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:119,1
    - Dst: transport_wildcard_init
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tp
    argTypes:
    - TRANSPORT_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: transport_post_init
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/transport.c
    functionUses: 0
    functionsReached:
    - match_parent_style
    - transport_wildcard_init
    linkageType: ''
    returnType: void
    signature: void transport_post_init(TRANSPORT_INFO *tp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: maps_free
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:128,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:130,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:132,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tp
    argTypes:
    - TRANSPORT_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: transport_free
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/transport.c
    functionUses: 0
    functionsReached:
    - myfree
    - maps_free
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void transport_free(TRANSPORT_INFO *tp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:150,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:158,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:160,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:161,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:161,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:162,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:162,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:163,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - new_channel
    - new_nexthop
    - rcpt_domain
    - channel
    - nexthop
    argTypes:
    - char*
    - char*
    - char*
    - VSTRING*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 167
    functionName: update_entry
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/transport.c
    functionUses: 0
    functionsReached:
    - strcmp
    - vstring_strcpy
    - STR
    linkageType: ''
    returnType: void
    signature: "void update_entry(const char *new_channel, const char *new_nexthop,\n\t\t\t
      \        const char *rcpt_domain, VSTRING *channel,\n\t\t\t         VSTRING
      *nexthop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:187,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:188,1
    - Dst: update_entry
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:189,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - value
    - rcpt_domain
    - channel
    - nexthop
    argTypes:
    - char*
    - char*
    - VSTRING*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 191
    functionName: parse_transport_entry
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/transport.c
    functionUses: 0
    functionsReached:
    - update_entry
    - split_at
    - myfree
    - mystrdup
    linkageType: ''
    returnType: void
    signature: "void parse_transport_entry(const char *value, const char *rcpt_domain,\n\t\t\t\t
      \         VSTRING *channel, VSTRING *nexthop)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:197,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:198,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:207,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:209,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:225,1
    - Dst: parse_transport_entry
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:226,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:231,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:232,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:232,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:235,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:236,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - tp
    argTypes:
    - TRANSPORT_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 241
    functionName: transport_wildcard_init
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/transport.c
    functionUses: 1
    functionsReached:
    - maps_find
    - parse_transport_entry
    - vstring_alloc
    - msg_info
    - event_time
    - vstring_str
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void transport_wildcard_init(TRANSPORT_INFO *tp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:259,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:273,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:274,1
    - Dst: mail_addr_find_strategy
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:276,1
    - Dst: parse_transport_entry
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:278,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:287,1
    - Dst: transport_wildcard_init
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:288,1
    - Dst: update_entry
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:293,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:293,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:293,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 5
    argNames:
    - tp
    - addr
    - rcpt_domain
    - channel
    - nexthop
    argTypes:
    - TRANSPORT_INFO*
    - char*
    - char*
    - VSTRING*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 245
    functionDepth: 4
    functionLinenumber: 245
    functionLinenumberEnd: 302
    functionName: transport_lookup
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/transport.c
    functionUses: 0
    functionsReached:
    - strrchr
    - msg_panic
    - msg_warn
    - parse_transport_entry
    - event_time
    - update_entry
    - mail_addr_find_strategy
    - transport_wildcard_init
    - STR
    linkageType: ''
    returnType: int
    signature: "int transport_lookup(TRANSPORT_INFO *tp, const char *addr,\n\t\t\t
      \        const char *rcpt_domain,\n\t\t\t         VSTRING *channel, VSTRING
      *nexthop)"
  - 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: 253
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 253
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/transport.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/transport.c
    functionUses: 14
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(const char *progname)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:324,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:325,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:326,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:340,1
    - Dst: usage
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:346,1
    - Dst: usage
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:350,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:357,1
    - Dst: UPDATE
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:358,1
    - Dst: UPDATE
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:359,1
    - Dst: UPDATE
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:360,1
    - Dst: UPDATE
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:361,1
    - Dst: transport_pre_init
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:363,1
    - Dst: transport_post_init
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:364,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:366,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:367,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:373,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:374,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:375,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:376,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:378,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:379,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:381,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:383,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:385,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:387,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:388,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:390,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:391,1
    - Dst: transport_lookup
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:396,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:403,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:405,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:405,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:406,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:407,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:407,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:408,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:409,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:412,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:412,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:413,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:414,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:418,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:421,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:422,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:423,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:426,1
    - Dst: transport_free
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:431,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:432,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:433,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:434,1
    - Dst: exit
      Src: /src/postfix/postfix/src/trivial-rewrite/transport.c:435,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 69
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 322
    functionDepth: 5
    functionLinenumber: 322
    functionLinenumberEnd: 436
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/transport.c
    functionUses: 18
    functionsReached:
    - GETOPT
    - transport_post_init
    - vstream_fflush
    - vstring_alloc
    - exit
    - mystrtok
    - UPDATE
    - vstream_printf
    - mail_conf_read
    - vstring_free
    - strrchr
    - msg_warn
    - vstring_fgets_nonl
    - transport_pre_init
    - transport_free
    - strcmp
    - vstring_strcpy
    - usage
    - msg_fatal
    - transport_lookup
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 356
    functionName: UPDATE
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/transport.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE(var, val)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:125,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:132,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:140,1
    - Dst: tok822_sub_keep_before
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:140,1
    - Dst: tok822_sub_append
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:141,1
    - Dst: tok822_alloc
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:141,1
    - Dst: tok822_find_type
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:149,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:151,1
    - Dst: tok822_sub_keep_after
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:151,1
    - Dst: tok822_rfind_type
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:156,1
    - Dst: tok822_find_type
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:162,1
    - Dst: tok822_sub_keep_before
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:163,1
    - Dst: tok822_cut_after
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:164,1
    - Dst: tok822_free
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:165,1
    - Dst: tok822_sub_prepend
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:166,1
    - Dst: tok822_alloc
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:166,1
    - Dst: tok822_sub_prepend
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:168,1
    - Dst: tok822_rfind_type
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:175,1
    - Dst: REW_PARAM_VALUE
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:183,1
    - Dst: REW_PARAM_VALUE
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:184,1
    - Dst: tok822_sub_append
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:185,1
    - Dst: tok822_alloc
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:185,1
    - Dst: tok822_sub_append
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:186,1
    - Dst: tok822_scan
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:186,1
    - Dst: REW_PARAM_VALUE
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:186,1
    - Dst: REW_PARAM_VALUE
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:201,1
    - Dst: REW_PARAM_VALUE
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:202,1
    - Dst: tok822_rfind_type
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:203,1
    - Dst: tok822_find_type
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:205,1
    - Dst: tok822_find_type
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:206,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:209,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:209,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:210,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:212,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:213,1
    - Dst: resolve_class
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:214,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:215,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:219,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:219,1
    - Dst: tok822_sub_append
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:223,1
    - Dst: tok822_alloc
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:223,1
    - Dst: tok822_sub_append
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:224,1
    - Dst: tok822_scan
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:224,1
    - Dst: REW_PARAM_VALUE
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:224,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:237,1
    - Dst: tok822_sub_keep_before
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:237,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 43
    argCount: 2
    argNames:
    - context
    - tree
    argTypes:
    - RWR_CONTEXT*
    - TOK822*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 238
    functionName: rewrite_tree
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/rewrite.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - tok822_alloc
    - tok822_free
    - tok822_sub_keep_before
    - tok822_rfind_type
    - resolve_class
    - VSTRING_LEN
    - tok822_cut_after
    - tok822_sub_keep_after
    - REW_PARAM_VALUE
    - tok822_scan
    - tok822_sub_append
    - msg_info
    - strcasecmp
    - tok822_sub_prepend
    - vstring_str
    - tok822_free_tree
    - tok822_find_type
    linkageType: ''
    returnType: void
    signature: void rewrite_tree(RWR_CONTEXT *context, TOK822 *tree)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:247,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:248,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:249,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:253,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:253,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:255,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:255,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:258,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:258,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:265,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:266,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:267,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:267,1
    - Dst: tok822_scan_addr
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:275,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:275,1
    - Dst: rewrite_tree
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:276,1
    - Dst: tok822_externalize
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:277,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:278,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:281,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:281,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:282,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:282,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:284,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:285,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:286,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:286,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:289,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:290,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 242
    functionDepth: 4
    functionLinenumber: 242
    functionLinenumberEnd: 294
    functionName: rewrite_proto
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/rewrite.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - SEND_ATTR_INT
    - SEND_ATTR_STR
    - attr_print
    - RECV_ATTR_STR
    - vstream_fflush
    - attr_scan
    - msg_info
    - strcmp
    - vstring_strcpy
    - rewrite_tree
    - tok822_externalize
    - vstring_str
    - tok822_free_tree
    - tok822_scan_addr
    linkageType: ''
    returnType: int
    signature: int rewrite_proto(VSTREAM *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:300,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:301,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/trivial-rewrite/rewrite.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: rewrite_init
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/rewrite.c
    functionUses: 0
    functionsReached:
    - vstring_alloc
    linkageType: ''
    returnType: void
    signature: void rewrite_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: REW_PARAM_VALUE
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REW_PARAM_VALUE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: RES_PARAM_VALUE
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RES_PARAM_VALUE(x)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: resolve_local
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:158,1
    - Dst: string_list_match
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:161,1
    - Dst: string_list_match
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:167,1
    - Dst: string_list_match
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:173,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - domain
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 151
    functionDepth: 4
    functionLinenumber: 151
    functionLinenumberEnd: 179
    functionName: resolve_class
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/resolve.c
    functionUses: 1
    functionsReached:
    - string_list_match
    - resolve_local
    linkageType: ''
    returnType: int
    signature: int resolve_class(const char *domain)
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:188,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:207,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:208,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:209,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:235,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:236,1
    - Dst: tok822_scan_addr
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:237,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:237,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:273,1
    - Dst: tok822_rfind_type
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:287,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:290,1
    - Dst: tok822_sub_keep_before
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:290,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:298,1
    - Dst: tok822_sub_keep_before
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:298,1
    - Dst: tok822_rfind_type
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:308,1
    - Dst: RESOLVE_LOCAL
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:309,1
    - Dst: tok822_sub_keep_before
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:316,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:318,1
    - Dst: tok822_rfind_type
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:328,1
    - Dst: tok822_rfind_type
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:329,1
    - Dst: tok822_rfind_type
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:330,1
    - Dst: rewrite_tree
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:331,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:345,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:345,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:346,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:347,1
    - Dst: tok822_internalize
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:350,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:352,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:352,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:353,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:354,1
    - Dst: tok822_free
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:356,1
    - Dst: tok822_scan
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:357,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:357,1
    - Dst: rewrite_tree
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:358,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:369,1
    - Dst: tok822_free
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:370,1
    - Dst: tok822_scan
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:375,1
    - Dst: tok822_sub_append
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:380,1
    - Dst: tok822_alloc
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:380,1
    - Dst: tok822_sub_append
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:381,1
    - Dst: tok822_scan
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:381,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:393,1
    - Dst: tok822_sub_append
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:403,1
    - Dst: tok822_sub_append
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:406,1
    - Dst: tok822_alloc
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:406,1
    - Dst: tok822_sub_append
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:407,1
    - Dst: tok822_scan
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:407,1
    - Dst: tok822_internalize
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:423,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:424,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:424,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:426,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:426,1
    - Dst: valid_mailhost_literal
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:428,1
    - Dst: valid_utf8_stringz
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:431,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:431,1
    - Dst: valid_utf8_hostname
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:433,1
    - Dst: valid_hostaddr
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:435,1
    - Dst: vstring_insert
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:436,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:436,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:437,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:438,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:438,1
    - Dst: resolve_local
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:439,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:449,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:468,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:468,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:468,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:468,1
    - Dst: string_list_match
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:495,1
    - Dst: string_list_match
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:498,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:499,1
    - Dst: domain_list_match
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:503,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:504,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:508,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:509,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:513,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:514,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:519,1
    - Dst: string_list_match
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:528,1
    - Dst: domain_list_match
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:531,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:532,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:536,1
    - Dst: RES_PARAM_VALUE
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:536,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:537,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:541,1
    - Dst: domain_list_match
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:550,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:551,1
    - Dst: RES_PARAM_VALUE
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:551,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:555,1
    - Dst: mail_addr_find
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:565,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:570,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:574,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:574,1
    - Dst: RES_PARAM_VALUE
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:575,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:579,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:583,1
    - Dst: RES_PARAM_VALUE
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:583,1
    - Dst: mail_addr_find
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:594,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:599,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:602,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:606,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:614,1
    - Dst: RES_PARAM_VALUE
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:615,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:616,1
    - Dst: RES_PARAM_VALUE
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:616,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:618,1
    - Dst: string_list_match
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:631,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:632,1
    - Dst: string_list_match
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:635,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:636,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:639,1
    - Dst: RES_PARAM_VALUE
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:639,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:640,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:653,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:653,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:654,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:659,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:661,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:662,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:667,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:668,1
    - Dst: transport_lookup
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:698,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:698,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:701,1
    - Dst: mail_addr_find
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:722,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:722,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:724,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:727,1
    - Dst: dsn_valid
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:728,1
    - Dst: dsn_split
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:729,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:730,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:732,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:734,1
    - Dst: DSN_STATUS
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:734,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:737,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:754,1
    CyclomaticComplexity: 116
    EdgeCount: 116
    ICount: 250
    argCount: 7
    argNames:
    - rp
    - sender
    - addr
    - channel
    - nexthop
    - nextrcpt
    - flags
    argTypes:
    - RES_CONTEXT*
    - char*
    - char*
    - VSTRING*
    - VSTRING*
    - VSTRING*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 183
    functionDepth: 5
    functionLinenumber: 183
    functionLinenumberEnd: 763
    functionName: resolve_addr
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/resolve.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - mail_addr_find
    - VSTRING_LEN
    - domain_list_match
    - dsn_valid
    - dsn_split
    - tok822_free
    - msg_panic
    - tok822_rfind_type
    - strlen
    - tok822_free_tree
    - vstring_alloc
    - string_list_match
    - transport_lookup
    - strcasecmp
    - vstring_strcat
    - rewrite_tree
    - strcspn
    - quote_822_local
    - vstring_str
    - split_at
    - strcasecmp_utf8
    - tok822_alloc
    - tok822_scan
    - myfree
    - valid_utf8_hostname
    - RES_PARAM_VALUE
    - valid_mailhost_literal
    - tok822_internalize
    - tok822_scan_addr
    - strrchr
    - vstring_free
    - msg_warn
    - tok822_sub_keep_before
    - vstring_insert
    - valid_hostaddr
    - tok822_sub_append
    - DSN_STATUS
    - strcmp
    - vstring_strcpy
    - resolve_local
    - RESOLVE_LOCAL
    - valid_utf8_stringz
    - mystrdup
    - STR
    linkageType: ''
    returnType: void
    signature: "void resolve_addr(RES_CONTEXT *rp, char *sender, char *addr,\n\t\t\t
      \        VSTRING *channel, VSTRING *nexthop,\n\t\t\t         VSTRING *nextrcpt,
      int *flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - domain
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: RESOLVE_LOCAL
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/resolve.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESOLVE_LOCAL(domain)
  - 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: 488
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 488
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/resolve.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x,y)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:779,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:780,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:781,1
    - Dst: resolve_addr
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:785,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:785,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:785,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:789,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:790,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:790,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:790,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:791,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:791,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:793,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:794,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:795,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:795,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:796,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:796,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:797,1
    - Dst: STR
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:797,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:798,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:801,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:802,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - context
    - stream
    argTypes:
    - RES_CONTEXT*
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 775
    functionDepth: 6
    functionLinenumber: 775
    functionLinenumberEnd: 806
    functionName: resolve_proto
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/resolve.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - SEND_ATTR_INT
    - SEND_ATTR_STR
    - attr_print
    - RECV_ATTR_STR
    - vstream_fflush
    - msg_info
    - attr_scan
    - resolve_addr
    - STR
    linkageType: ''
    returnType: int
    signature: int resolve_proto(RES_CONTEXT *context, VSTREAM *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:812,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:813,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:814,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:815,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:816,1
    - Dst: string_list_init
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:820,1
    - Dst: string_list_init
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:825,1
    - Dst: domain_list_init
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:830,1
    - Dst: match_parent_style
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:831,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/trivial-rewrite/resolve.c:836,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 810
    functionDepth: 2
    functionLinenumber: 810
    functionLinenumberEnd: 839
    functionName: resolve_init
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/resolve.c
    functionUses: 0
    functionsReached:
    - domain_list_init
    - vstring_alloc
    - maps_create
    - match_parent_style
    - string_list_init
    linkageType: ''
    returnType: void
    signature: void resolve_init(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:474,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:480,1
    - Dst: dict_changed_name
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:481,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:482,1
    - Dst: multi_server_drain
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:483,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:495,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:496,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:498,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:498,1
    - Dst: rewrite_proto
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:499,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:500,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:500,1
    - Dst: resolve_proto
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:501,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:502,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:502,1
    - Dst: resolve_proto
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:503,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:505,1
    - Dst: printable
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:505,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:505,1
    - Dst: multi_server_disconnect
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:509,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - stream
    - unused_service
    - argv
    argTypes:
    - VSTREAM*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 459
    functionDepth: 7
    functionLinenumber: 459
    functionLinenumberEnd: 510
    functionName: rewrite_service
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c
    functionUses: 0
    functionsReached:
    - multi_server_drain
    - printable
    - resolve_proto
    - vstring_str
    - msg_warn
    - multi_server_disconnect
    - RECV_ATTR_STR
    - rewrite_proto
    - msg_info
    - event_time
    - attr_scan
    - strcmp
    - msg_fatal
    - dict_changed_name
    linkageType: ''
    returnType: void
    signature: void rewrite_service(VSTREAM *stream, char *unused_service, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_changed_name
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:520,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:521,1
    - Dst: exit
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 524
    functionName: pre_accept
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c
    functionUses: 0
    functionsReached:
    - dict_changed_name
    - exit
    - msg_info
    linkageType: ''
    returnType: void
    signature: void pre_accept(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: attr_print
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:537,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:538,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - stream
    - unused_name
    - unused_argv
    - unused_attr
    argTypes:
    - VSTREAM*
    - char*
    - char**
    - HTABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 541
    functionName: post_accept
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c
    functionUses: 2
    functionsReached:
    - SEND_ATTR_STR
    - attr_print
    - vstream_fflush
    linkageType: ''
    returnType: void
    signature: "void post_accept(VSTREAM *stream, char *unused_name, char **unused_argv,\n\t\t\t
      \       HTABLE *unused_attr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_changed_name
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:547,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:548,1
    - Dst: exit
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:549,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - unused_event
    - unused_context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 552
    functionName: check_table_stats
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c
    functionUses: 0
    functionsReached:
    - dict_changed_name
    - event_request_timer
    - exit
    - msg_info
    linkageType: ''
    returnType: void
    signature: void check_table_stats(int unused_event, void *unused_context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:558,1
    - Dst: rewrite_init
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:559,1
    - Dst: resolve_init
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:560,1
    - Dst: RES_PARAM_VALUE
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:561,1
    - Dst: transport_pre_init
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:563,1
    - Dst: RES_PARAM_VALUE
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:564,1
    - Dst: RES_PARAM_VALUE
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:565,1
    - Dst: transport_pre_init
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:567,1
    - Dst: RES_PARAM_VALUE
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:568,1
    - Dst: RES_PARAM_VALUE
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:569,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:571,1
    - Dst: RES_PARAM_VALUE
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:572,1
    - Dst: RES_PARAM_VALUE
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:575,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:577,1
    - Dst: RES_PARAM_VALUE
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:578,1
    - Dst: RES_PARAM_VALUE
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:581,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:583,1
    - Dst: RES_PARAM_VALUE
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:584,1
    - Dst: RES_PARAM_VALUE
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:587,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:589,1
    - Dst: RES_PARAM_VALUE
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:590,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 593
    functionName: pre_jail_init
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c
    functionUses: 3
    functionsReached:
    - transport_pre_init
    - vstring_alloc
    - maps_create
    - rewrite_init
    - resolve_init
    - RES_PARAM_VALUE
    linkageType: ''
    returnType: void
    signature: void pre_jail_init(char *unused_name, char **unused_argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transport_post_init
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:600,1
    - Dst: transport_post_init
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:602,1
    - Dst: check_table_stats
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 597
    functionDepth: 3
    functionLinenumber: 597
    functionLinenumberEnd: 604
    functionName: post_jail_init
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c
    functionUses: 0
    functionsReached:
    - check_table_stats
    - transport_post_init
    linkageType: ''
    returnType: void
    signature: void post_jail_init(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: multi_server_main
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:661,1
    - Dst: CA_MAIL_SERVER_STR_TABLE
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:662,1
    - Dst: CA_MAIL_SERVER_BOOL_TABLE
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:663,1
    - Dst: CA_MAIL_SERVER_NBOOL_TABLE
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:664,1
    - Dst: CA_MAIL_SERVER_PRE_INIT
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:665,1
    - Dst: CA_MAIL_SERVER_POST_INIT
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:666,1
    - Dst: CA_MAIL_SERVER_PRE_ACCEPT
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:668,1
    - Dst: CA_MAIL_SERVER_POST_ACCEPT
      Src: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 672
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c
    functionUses: 19
    functionsReached:
    - multi_server_main
    - CA_MAIL_SERVER_PRE_ACCEPT
    - CA_MAIL_SERVER_STR_TABLE
    - CA_MAIL_SERVER_POST_INIT
    - CA_MAIL_SERVER_NBOOL_TABLE
    - CA_MAIL_SERVER_POST_ACCEPT
    - CA_MAIL_SERVER_PRE_INIT
    - CA_MAIL_SERVER_BOOL_TABLE
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/dns/dns_strtype.c:199,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/dns/dns_strtype.c:200,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/dns/dns_strtype.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: dns_strtype
    functionSourceFile: /src/postfix/postfix/src/dns/dns_strtype.c
    functionUses: 0
    functionsReached:
    - vstring_str
    - vstring_sprintf
    - vstring_alloc
    linkageType: ''
    returnType: char
    signature: char *dns_strtype(unsigned type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/dns/dns_strtype.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: dns_type
    functionSourceFile: /src/postfix/postfix/src/dns/dns_strtype.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: unsigned
    signature: unsigned dns_type(const char *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: TEST_HAVE_DNS_REPLY_PACKET
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_HAVE_DNS_REPLY_PACKET(r)
  - 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: 302
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 302
    functionName: SET_HAVE_DNS_REPLY_PACKET
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_HAVE_DNS_REPLY_PACKET(r, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 303
    functionName: SET_NO_DNS_REPLY_PACKET
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_NO_DNS_REPLY_PACKET(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - statp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: DNS_GET_H_ERRNO
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_GET_H_ERRNO(statp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - statp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 327
    functionName: DNS_RES_NINIT
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RES_NINIT(statp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - statp
    - ','
    - op
    - ','
    - dname
    - ','
    - class
    - ','
    - type
    - ','
    - data
    - ','
    - datalen
    - ','
    - newrr
    - ','
    - buf
    - ','
    - buflen
    - )
    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: 331
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: DNS_RES_NMKQUERY
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "DNS_RES_NMKQUERY(statp, op, dname, class, type, data, datalen, \\\n\t\tnewrr,
      buf, buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - statp
    - ','
    - dname
    - ','
    - class
    - ','
    - type
    - ','
    - answer
    - ','
    - anslen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: DNS_RES_NSEARCH
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RES_NSEARCH(statp, dname, class, type, answer, anslen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - statp
    - ','
    - msg
    - ','
    - msglen
    - ','
    - answer
    - ','
    - anslen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 335
    functionName: DNS_RES_NSEND
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RES_NSEND(statp, msg, msglen, answer, anslen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - statp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 336
    functionName: DNS_GET_H_ERRNO
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_GET_H_ERRNO(statp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - statp
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 340
    functionName: DNS_SET_H_ERRNO
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_SET_H_ERRNO(statp, err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - statp
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    functionName: DNS_SET_H_ERRNO
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_SET_H_ERRNO(statp, err)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DNS_RES_NMKQUERY
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:405,1
    - Dst: DNS_SET_H_ERRNO
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:409,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:411,1
    - Dst: DNS_RES_NSEND
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:413,1
    - Dst: DNS_SET_H_ERRNO
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:415,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:417,1
    - Dst: DNS_SET_H_ERRNO
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:422,1
    - Dst: DNS_SET_H_ERRNO
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:426,1
    - Dst: DNS_SET_H_ERRNO
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:428,1
    - Dst: DNS_SET_H_ERRNO
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:431,1
    - Dst: DNS_SET_H_ERRNO
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:434,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 5
    argNames:
    - name
    - class
    - type
    - answer
    - anslen
    argTypes:
    - char*
    - int
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 439
    functionName: dns_neg_query
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 0
    functionsReached:
    - DNS_RES_NMKQUERY
    - DNS_SET_H_ERRNO
    - DNS_RES_NSEND
    - msg_info
    linkageType: ''
    returnType: int
    signature: "int dns_neg_query(const char *name, int class, int type,\n\t\t\t         unsigned
      char *answer, int anslen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:467,1
    - Dst: DNS_RES_NSEARCH
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:468,1
    - Dst: DNS_GET_H_ERRNO
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:470,1
    - Dst: DNS_SET_H_ERRNO
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:471,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:472,1
    - Dst: DNS_SET_H_ERRNO
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:478,1
    - Dst: NOT_FOUND_H_ERRNO
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:480,1
    - Dst: DNS_GET_H_ERRNO
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:480,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 6
    argNames:
    - name
    - class
    - type
    - answer
    - anslen
    - keep_notfound
    argTypes:
    - char*
    - int
    - int
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 485
    functionName: dns_neg_search
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 0
    functionsReached:
    - DNS_GET_H_ERRNO
    - msg_warn
    - DNS_SET_H_ERRNO
    - NOT_FOUND_H_ERRNO
    - DNS_RES_NSEARCH
    - memset
    linkageType: ''
    returnType: int
    signature: "int dns_neg_search(const char *name, int class, int type,\n\t               unsigned
      char *answer, int anslen, int keep_notfound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - he
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 464
    functionName: NOT_FOUND_H_ERRNO
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOT_FOUND_H_ERRNO(he)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:501,1
    - Dst: DNS_RES_NINIT
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:509,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:511,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:522,1
    - Dst: DNS_WANT_DNSSEC_VALIDATION
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:529,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:538,1
    - Dst: dns_neg_query
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:559,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:563,1
    - Dst: dns_neg_search
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:565,1
    - Dst: dns_neg_search
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:569,1
    - Dst: DNS_SEC_STATS_SET
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:577,1
    - Dst: DNS_GET_H_ERRNO
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:578,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:580,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:582,1
    - Dst: dns_strerror
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:583,1
    - Dst: DNS_GET_H_ERRNO
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:583,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:585,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:586,1
    - Dst: dns_strerror
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:587,1
    - Dst: DNS_GET_H_ERRNO
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:587,1
    - Dst: DNS_GET_H_ERRNO
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:588,1
    - Dst: SET_NO_DNS_REPLY_PACKET
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:595,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:602,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:602,1
    - Dst: myrealloc
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:608,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:617,1
    - Dst: dns_strerror
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:618,1
    - Dst: DNS_GET_H_ERRNO
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:618,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:624,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:625,1
    - Dst: SET_HAVE_DNS_REPLY_PACKET
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:633,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:636,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:637,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:638,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:640,1
    - Dst: DNS_GET_H_ERRNO
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:647,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:652,1
    - Dst: dns_strerror
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:653,1
    - Dst: DNS_GET_H_ERRNO
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:653,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 84
    argCount: 6
    argNames:
    - name
    - type
    - flags
    - reply
    - why
    - lflags
    argTypes:
    - char*
    - int
    - unsigned
    - DNS_REPLY*
    - VSTRING*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 655
    functionName: dns_query
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - DNS_GET_H_ERRNO
    - dns_strerror
    - msg_warn
    - vstring_sprintf
    - SET_HAVE_DNS_REPLY_PACKET
    - dns_neg_search
    - DNS_RES_NINIT
    - dns_strtype
    - DNS_SEC_STATS_SET
    - msg_info
    - myrealloc
    - ntohs
    - vstring_strcpy
    - SET_NO_DNS_REPLY_PACKET
    - mymalloc
    - DNS_WANT_DNSSEC_VALIDATION
    - dns_neg_query
    linkageType: ''
    returnType: int
    signature: "int dns_query(const char *name, int type, unsigned flags,\n\t\t             DNS_REPLY
      *reply, VSTRING *why, unsigned lflags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dn_skipname
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - reply
    argTypes:
    - DNS_REPLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 679
    functionName: dns_skip_query
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 0
    functionsReached:
    - dn_skipname
    linkageType: ''
    returnType: int
    signature: int dns_skip_query(DNS_REPLY *reply)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GETSHORT
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:685,1
    - Dst: GETSHORT
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:686,1
    - Dst: GETLONG
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:687,1
    - Dst: GETSHORT
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:688,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pos
    - fixed
    argTypes:
    - unsigned char*
    - DNS_FIXED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 695
    functionName: dns_get_fixed
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 0
    functionsReached:
    - GETSHORT
    - msg_warn
    - GETLONG
    linkageType: ''
    returnType: int
    signature: int dns_get_fixed(unsigned char *pos, DNS_FIXED *fixed)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: valid_hostaddr
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:716,1
    - Dst: valid_hostname
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:719,1
    - Dst: dn_expand
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:732,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:735,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - name
    - location
    - type
    - reply
    argTypes:
    - char*
    - char*
    - unsigned
    - DNS_REPLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 739
    functionName: valid_rr_name
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - valid_hostname
    - valid_hostaddr
    - dns_strtype
    - dn_expand
    linkageType: ''
    returnType: int
    signature: "int valid_rr_name(const char *name, const char *location,\n\t\t\t
      \        unsigned type, DNS_REPLY *reply)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:767,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:768,1
    - Dst: dn_expand
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:776,1
    - Dst: valid_rr_name
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:778,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:780,1
    - Dst: GETSHORT
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:783,1
    - Dst: GETSHORT
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:784,1
    - Dst: GETSHORT
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:785,1
    - Dst: dn_expand
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:786,1
    - Dst: valid_rr_name
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:790,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:792,1
    - Dst: GETSHORT
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:795,1
    - Dst: dn_expand
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:796,1
    - Dst: valid_rr_name
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:801,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:803,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:807,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:811,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:813,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:819,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:823,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:825,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:838,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:842,1
    - Dst: ISPRINT
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:847,1
    - Dst: dn_skipname
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:878,1
    - Dst: dn_skipname
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:882,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:887,1
    - Dst: GETLONG
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:890,1
    - Dst: GETLONG
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:891,1
    - Dst: GETLONG
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:892,1
    - Dst: GETLONG
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:893,1
    - Dst: GETLONG
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:894,1
    - Dst: dns_rr_create
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:899,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 106
    argCount: 6
    argNames:
    - list
    - orig_name
    - reply
    - pos
    - rr_name
    - fixed
    argTypes:
    - DNS_RR**
    - char*
    - DNS_REPLY*
    - unsigned char*
    - char*
    - DNS_FIXED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 743
    functionDepth: 3
    functionLinenumber: 743
    functionLinenumberEnd: 902
    functionName: dns_get_rr
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - valid_rr_name
    - GETSHORT
    - msg_warn
    - strlen
    - ISPRINT
    - dn_skipname
    - dns_strtype
    - msg_info
    - dns_rr_create
    - memcpy
    - dn_expand
    - GETLONG
    linkageType: ''
    returnType: int
    signature: "int dns_get_rr(DNS_RR **list, const char *orig_name, DNS_REPLY *reply,\n\t\t
      \             unsigned char *pos, char *rr_name,\n\t\t              DNS_FIXED
      *fixed)"
  - 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: 762
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 762
    functionName: MIN2
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN2(a, b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:910,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:910,1
    - Dst: dn_expand
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:911,1
    - Dst: valid_rr_name
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:913,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - reply
    - pos
    - fixed
    - cname
    - c_len
    argTypes:
    - DNS_REPLY*
    - unsigned char*
    - DNS_FIXED*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 906
    functionDepth: 3
    functionLinenumber: 906
    functionLinenumberEnd: 916
    functionName: dns_get_alias
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - valid_rr_name
    - dn_expand
    - dns_strtype
    linkageType: ''
    returnType: int
    signature: "int dns_get_alias(DNS_REPLY *reply, unsigned char *pos,\n\t\t\t         DNS_FIXED
      *fixed, char *cname, int c_len)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: dns_skip_query
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:939,1
    - Dst: CORRUPT
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:964,1
    - Dst: dn_expand
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:965,1
    - Dst: CORRUPT
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:967,1
    - Dst: CORRUPT
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:974,1
    - Dst: dns_get_fixed
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:975,1
    - Dst: CORRUPT
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:976,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:977,1
    - Dst: valid_rr_name
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:979,1
    - Dst: CORRUPT
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:980,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:982,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:984,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:985,1
    - Dst: CORRUPT
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:992,1
    - Dst: dns_get_rr
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:995,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:999,1
    - Dst: DNS_RR_IS_TRUNCATED
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1000,1
    - Dst: CORRUPT
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1003,1
    - Dst: dns_get_alias
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1011,1
    - Dst: CORRUPT
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1012,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 59
    argCount: 8
    argNames:
    - orig_name
    - reply
    - type
    - rrlist
    - fqdn
    - cname
    - c_len
    - maybe_secure
    argTypes:
    - char*
    - DNS_REPLY*
    - int
    - DNS_RR**
    - VSTRING*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 920
    functionDepth: 4
    functionLinenumber: 920
    functionLinenumberEnd: 1029
    functionName: dns_get_answer
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 0
    functionsReached:
    - valid_rr_name
    - dns_rr_append
    - dns_strtype
    - msg_info
    - dns_get_fixed
    - dns_get_alias
    - CORRUPT
    - strcmp
    - vstring_strcpy
    - dns_skip_query
    - DNS_RR_IS_TRUNCATED
    - dn_expand
    - dns_get_rr
    linkageType: ''
    returnType: int
    signature: "int dns_get_answer(const char *orig_name, DNS_REPLY *reply, int type,\n\t
      \            DNS_RR **rrlist, VSTRING *fqdn, char *cname, int c_len,\n\t\t\t
      \         int *maybe_secure)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - status
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 954
    functionName: CORRUPT
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CORRUPT(status)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: valid_hostaddr
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1055,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1057,1
    - Dst: DNS_SET_H_ERRNO
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1062,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1069,1
    - Dst: valid_hostname
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1069,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1071,1
    - Dst: DNS_SET_H_ERRNO
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1076,1
    - Dst: dns_query
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1089,1
    - Dst: TEST_HAVE_DNS_REPLY_PACKET
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1100,1
    - Dst: dns_get_answer
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1103,1
    - Dst: DNS_WANT_DNSSEC_VALIDATION
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1106,1
    - Dst: DNS_SEC_STATS_TEST
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1107,1
    - Dst: dns_sec_probe
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1109,1
    - Dst: dns_get_answer
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1117,1
    - Dst: DNS_WANT_DNSSEC_VALIDATION
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1119,1
    - Dst: DNS_SEC_STATS_TEST
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1120,1
    - Dst: dns_sec_probe
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1122,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1126,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1128,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1132,1
    - Dst: DNS_SET_H_ERRNO
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1134,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1138,1
    - Dst: DNS_SET_H_ERRNO
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1140,1
    - Dst: dns_rr_filter_execute
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1144,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1146,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1149,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1150,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1155,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1158,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1165,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1180,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1181,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 78
    argCount: 8
    argNames:
    - name
    - type
    - flags
    - rrlist
    - fqdn
    - why
    - rcode
    - lflags
    argTypes:
    - char*
    - unsigned
    - unsigned
    - DNS_RR**
    - VSTRING*
    - VSTRING*
    - int*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1033
    functionDepth: 5
    functionLinenumber: 1033
    functionLinenumberEnd: 1183
    functionName: dns_lookup_x
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 0
    functionsReached:
    - dns_get_answer
    - vstring_sprintf
    - DNS_SEC_STATS_TEST
    - dns_sec_probe
    - valid_hostname
    - valid_hostaddr
    - dns_rr_free
    - msg_warn
    - DNS_SET_H_ERRNO
    - dns_strtype
    - dns_query
    - msg_info
    - strcmp
    - TEST_HAVE_DNS_REPLY_PACKET
    - dns_rr_filter_execute
    - DNS_WANT_DNSSEC_VALIDATION
    linkageType: ''
    returnType: int
    signature: "int dns_lookup_x(const char *name, unsigned type, unsigned flags,\n\t\t
      \            DNS_RR **rrlist, VSTRING *fqdn, VSTRING *why,\n\t\t             int
      *rcode, unsigned lflags)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1224,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1225,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1226,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1228,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1229,1
    - Dst: dns_str_resflags
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1229,1
    - Dst: dns_lookup_x
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1230,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1233,1
    - Dst: DNS_RR_IS_TRUNCATED
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1234,1
    - Dst: SAVE_HPREF_STATUS
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1254,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1256,1
    - Dst: RESTORE_HPREF_STATUS
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1258,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1260,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 41
    argCount: 7
    argNames:
    - name
    - flags
    - rrlist
    - fqdn
    - why
    - rcode
    - lflags
    argTypes:
    - char*
    - unsigned
    - DNS_RR**
    - VSTRING*
    - VSTRING*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1187
    functionDepth: 6
    functionLinenumber: 1187
    functionLinenumberEnd: 1262
    functionName: dns_lookup_rl
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - dns_rr_append
    - SAVE_HPREF_STATUS
    - va_arg
    - dns_str_resflags
    - dns_strtype
    - msg_info
    - RESTORE_HPREF_STATUS
    - DNS_RR_IS_TRUNCATED
    - dns_lookup_x
    - vstring_free
    linkageType: ''
    returnType: int
    signature: "int dns_lookup_rl(const char *name, unsigned flags, DNS_RR **rrlist,\n\t\t
      \             VSTRING *fqdn, VSTRING *why, int *rcode,\n\t\t              int
      lflags,...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1211
    functionName: SAVE_HPREF_STATUS
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAVE_HPREF_STATUS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1221
    functionName: RESTORE_HPREF_STATUS
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESTORE_HPREF_STATUS()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1283,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1284,1
    - Dst: dns_str_resflags
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1284,1
    - Dst: dns_lookup_x
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1285,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1288,1
    - Dst: DNS_RR_IS_TRUNCATED
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1289,1
    - Dst: SAVE_HPREF_STATUS
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1309,1
    - Dst: RESTORE_HPREF_STATUS
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1312,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1314,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 39
    argCount: 8
    argNames:
    - name
    - flags
    - rrlist
    - fqdn
    - why
    - rcode
    - lflags
    - types
    argTypes:
    - char*
    - unsigned
    - DNS_RR**
    - VSTRING*
    - VSTRING*
    - int*
    - int
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1266
    functionDepth: 6
    functionLinenumber: 1266
    functionLinenumberEnd: 1316
    functionName: dns_lookup_rv
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 0
    functionsReached:
    - dns_rr_append
    - SAVE_HPREF_STATUS
    - dns_str_resflags
    - dns_strtype
    - msg_info
    - RESTORE_HPREF_STATUS
    - DNS_RR_IS_TRUNCATED
    - dns_lookup_x
    - vstring_free
    linkageType: ''
    returnType: int
    signature: "int dns_lookup_rv(const char *name, unsigned flags, DNS_RR **rrlist,\n\t\t
      \             VSTRING *fqdn, VSTRING *why, int *rcode,\n\t\t              int
      lflags, unsigned *types)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNS_GET_H_ERRNO
      Src: /src/postfix/postfix/src/dns/dns_lookup.c:1322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1320
    functionDepth: 1
    functionLinenumber: 1320
    functionLinenumberEnd: 1323
    functionName: dns_get_h_errno
    functionSourceFile: /src/postfix/postfix/src/dns/dns_lookup.c
    functionUses: 0
    functionsReached:
    - DNS_GET_H_ERRNO
    linkageType: ''
    returnType: int
    signature: int dns_get_h_errno(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SOCK_ADDR_IN_ADDR
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:63,1
    - Dst: SOCK_ADDR_IN_PTR
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:66,1
    - Dst: memset
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:70,1
    - Dst: SOCK_ADDR_IN_PTR
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:70,1
    - Dst: SOCK_ADDR_IN_FAMILY
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:71,1
    - Dst: SOCK_ADDR_IN_PORT
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:72,1
    - Dst: SOCK_ADDR_IN_ADDR
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:73,1
    - Dst: IN_ADDR
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:73,1
    - Dst: SOCK_ADDR_IN6_ADDR
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:82,1
    - Dst: SOCK_ADDR_IN6_PTR
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:85,1
    - Dst: memset
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:89,1
    - Dst: SOCK_ADDR_IN6_PTR
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:89,1
    - Dst: SOCK_ADDR_IN6_FAMILY
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:90,1
    - Dst: SOCK_ADDR_IN6_PORT
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:91,1
    - Dst: SOCK_ADDR_IN6_ADDR
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:92,1
    - Dst: IN6_ADDR
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 4
    argNames:
    - rr
    - port
    - sa
    - sa_length
    argTypes:
    - DNS_RR*
    - unsigned
    - struct sockaddr*
    - SOCKADDR_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 104
    functionName: dns_rr_to_sa
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_to_sa.c
    functionUses: 0
    functionsReached:
    - SOCK_ADDR_IN_PORT
    - SOCK_ADDR_IN_PTR
    - IN_ADDR
    - SOCK_ADDR_IN_FAMILY
    - IN6_ADDR
    - SOCK_ADDR_IN_ADDR
    - SOCK_ADDR_IN6_FAMILY
    - memset
    - SOCK_ADDR_IN6_ADDR
    - SOCK_ADDR_IN6_PORT
    - SOCK_ADDR_IN6_PTR
    linkageType: ''
    returnType: int
    signature: "int dns_rr_to_sa(DNS_RR *rr, unsigned port, struct sockaddr *sa,\n\t\t
      \            SOCKADDR_SIZE *sa_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_to_sa.c
    functionUses: 15
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:137,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:138,1
    - Dst: usage
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:142,1
    - Dst: dns_type
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:143,1
    - Dst: usage
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:144,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:145,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:145,1
    - Dst: usage
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:146,1
    - Dst: dns_lookup
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:147,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:148,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:148,1
    - Dst: dns_rr_to_sa
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:150,1
    - Dst: htons
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:150,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:151,1
    - Dst: SOCKADDR_TO_HOSTADDR
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:152,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:153,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:155,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:157,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/dns/dns_rr_to_sa.c:159,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 161
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_to_sa.c
    functionUses: 19
    functionsReached:
    - vstring_str
    - htons
    - dns_rr_free
    - alldig
    - vstring_alloc
    - vstream_fflush
    - atoi
    - dns_lookup
    - usage
    - dns_type
    - SOCKADDR_TO_HOSTADDR
    - vstream_printf
    - msg_fatal
    - vstring_free
    - dns_rr_to_sa
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: maps_free
      Src: /src/postfix/postfix/src/dns/dns_rr_filter.c:88,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/dns/dns_rr_filter.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - title
    - map_names
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: dns_rr_filter_compile
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_filter.c
    functionUses: 0
    functionsReached:
    - maps_free
    - maps_create
    linkageType: ''
    returnType: void
    signature: void dns_rr_filter_compile(const char *title, const char *map_names)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/postfix/postfix/src/dns/dns_rr_filter.c:97,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/dns/dns_rr_filter.c:100,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/dns/dns_rr_filter.c:105,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/dns/dns_rr_filter.c:106,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/dns/dns_rr_filter.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - cmd
    - rr
    - rr_text
    argTypes:
    - char*
    - DNS_RR*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 114
    functionName: dns_rr_action
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_filter.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - ISSPACE
    - STREQUAL
    - msg_info
    - strcspn
    linkageType: ''
    returnType: DNS_RR
    signature: DNS_RR *dns_rr_action(const char *cmd, DNS_RR *rr, const char *rr_text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: STREQUAL
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_filter.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQUAL(x,y,l)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/dns/dns_rr_filter.c:131,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/dns/dns_rr_filter.c:133,1
    - Dst: dns_strrecord
      Src: /src/postfix/postfix/src/dns/dns_rr_filter.c:133,1
    - Dst: dns_rr_action
      Src: /src/postfix/postfix/src/dns/dns_rr_filter.c:136,1
    - Dst: STR
      Src: /src/postfix/postfix/src/dns/dns_rr_filter.c:136,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_filter.c:139,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - rrlist
    argTypes:
    - DNS_RR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 150
    functionName: dns_rr_filter_execute
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_filter.c
    functionUses: 1
    functionsReached:
    - dns_rr_free
    - maps_find
    - dns_rr_action
    - vstring_alloc
    - dns_strrecord
    - STR
    linkageType: ''
    returnType: int
    signature: int dns_rr_filter_execute(DNS_RR **rrlist)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DNS_WANT_DNSSEC_VALIDATION
      Src: /src/postfix/postfix/src/dns/dns_sec.c:91,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/dns/dns_sec.c:92,1
    - Dst: DNS_SEC_STATS_TEST
      Src: /src/postfix/postfix/src/dns/dns_sec.c:93,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/dns/dns_sec.c:94,1
    - Dst: DNS_SEC_STATS_TEST
      Src: /src/postfix/postfix/src/dns/dns_sec.c:96,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/dns/dns_sec.c:97,1
    - Dst: DNS_SEC_STATS_SET
      Src: /src/postfix/postfix/src/dns/dns_sec.c:102,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/dns/dns_sec.c:113,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/dns/dns_sec.c:114,1
    - Dst: dns_type
      Src: /src/postfix/postfix/src/dns/dns_sec.c:115,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/dns/dns_sec.c:116,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/dns/dns_sec.c:119,1
    - Dst: dns_lookup
      Src: /src/postfix/postfix/src/dns/dns_sec.c:120,1
    - Dst: DNS_SEC_STATS_TEST
      Src: /src/postfix/postfix/src/dns/dns_sec.c:121,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/dns/dns_sec.c:122,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/dns/dns_sec.c:124,1
    - Dst: DNS_SEC_STATS_TEST
      Src: /src/postfix/postfix/src/dns/dns_sec.c:129,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/dns/dns_sec.c:130,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_sec.c:134,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/dns/dns_sec.c:138,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/dns/dns_sec.c:139,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/dns/dns_sec.c:142,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/dns/dns_sec.c:143,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 1
    argNames:
    - rflags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 144
    functionName: dns_sec_probe
    functionSourceFile: /src/postfix/postfix/src/dns/dns_sec.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - split_at
    - DNS_SEC_STATS_TEST
    - msg_warn
    - dns_rr_free
    - vstring_str
    - vstring_alloc
    - DNS_SEC_STATS_SET
    - msg_info
    - myfree
    - dns_lookup
    - dns_type
    - DNS_WANT_DNSSEC_VALIDATION
    - msg_fatal
    - mystrdup
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dns_sec_probe(int rflags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/dns/dns_strerror.c:66,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/dns/dns_strerror.c:67,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/dns/dns_strerror.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - error
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: dns_strerror
    functionSourceFile: /src/postfix/postfix/src/dns/dns_strerror.c
    functionUses: 1
    functionsReached:
    - vstring_str
    - vstring_sprintf
    - vstring_alloc
    linkageType: ''
    returnType: char
    signature: char *dns_strerror(unsigned error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: GETSHORT
    functionSourceFile: /src/postfix/postfix/src/dns/dns.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETSHORT(s, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: GETLONG
    functionSourceFile: /src/postfix/postfix/src/dns/dns.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETLONG(l, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: DNS_RR_IS_TRUNCATED
    functionSourceFile: /src/postfix/postfix/src/dns/dns.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RR_IS_TRUNCATED(rr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - qname
    - ','
    - rname
    - ','
    - type
    - ','
    - class
    - ','
    - ttl
    - ','
    - pref
    - ','
    - data
    - ','
    - data_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: dns_rr_create_noport
    functionSourceFile: /src/postfix/postfix/src/dns/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "dns_rr_create_noport(qname, rname, type, class, ttl, pref, data, \\\n\t\t\t\tdata_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - qname
    - ','
    - rname
    - ','
    - type
    - ','
    - class
    - ','
    - ttl
    - ','
    - data
    - ','
    - data_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: dns_rr_create_nopref
    functionSourceFile: /src/postfix/postfix/src/dns/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_rr_create_nopref(qname, rname, type, class, ttl, data, data_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rr
    - ','
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: DNS_RR_EQ_SA
    functionSourceFile: /src/postfix/postfix/src/dns/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RR_EQ_SA(rr, sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rr
    - ','
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: DNS_RR_EQ_SA
    functionSourceFile: /src/postfix/postfix/src/dns/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RR_EQ_SA(rr, sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - rflags
    - ','
    - list
    - ','
    - fqdn
    - ','
    - why
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: dns_lookup
    functionSourceFile: /src/postfix/postfix/src/dns/dns.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_lookup(name, type, rflags, list, fqdn, why)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - rflags
    - ','
    - list
    - ','
    - fqdn
    - ','
    - why
    - ','
    - rcode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: dns_lookup_r
    functionSourceFile: /src/postfix/postfix/src/dns/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_lookup_r(name, type, rflags, list, fqdn, why, rcode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - name
    - ','
    - rflags
    - ','
    - list
    - ','
    - fqdn
    - ','
    - why
    - ','
    - lflags
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: dns_lookup_l
    functionSourceFile: /src/postfix/postfix/src/dns/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_lookup_l(name, rflags, list, fqdn, why, lflags, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - name
    - ','
    - rflags
    - ','
    - list
    - ','
    - fqdn
    - ','
    - why
    - ','
    - lflags
    - ','
    - ltype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: dns_lookup_v
    functionSourceFile: /src/postfix/postfix/src/dns/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_lookup_v(name, rflags, list, fqdn, why, lflags, ltype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rflags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 288
    functionName: DNS_WANT_DNSSEC_VALIDATION
    functionSourceFile: /src/postfix/postfix/src/dns/dns.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_WANT_DNSSEC_VALIDATION(rflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 363
    functionName: DNS_SEC_STATS_SET
    functionSourceFile: /src/postfix/postfix/src/dns/dns.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_SEC_STATS_SET(flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 364
    functionName: DNS_SEC_STATS_TEST
    functionSourceFile: /src/postfix/postfix/src/dns/dns.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_SEC_STATS_TEST(flags)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 217
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:35,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:36,1
    - Dst: dns_strrecord
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:37,1
    - Dst: STR
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - rr
    argTypes:
    - VSTRING*
    - DNS_RR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: print_dns_rr
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 0
    functionsReached:
    - dns_strrecord
    - vstring_sprintf
    - vstring_alloc
    - STR
    linkageType: ''
    returnType: char
    signature: char *print_dns_rr(VSTRING *buf, DNS_RR *rr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EQ_DNS_RR_RETURN
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:58,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:60,1
    - Dst: print_dns_rr
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:61,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:61,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:64,1
    - Dst: print_dns_rr
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:65,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:65,1
    - Dst: EQ_DNS_RR_RETURN
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:66,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:69,1
    - Dst: print_dns_rr
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:69,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:69,1
    - Dst: print_dns_rr
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:70,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:70,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:71,1
    - Dst: STR
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:71,1
    - Dst: STR
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:71,1
    - Dst: EQ_DNS_RR_RETURN
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:72,1
    - Dst: EQ_DNS_RR_RETURN
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:75,1
    - Dst: eq_dns_rr
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - got
    - want
    argTypes:
    - DNS_RR*
    - DNS_RR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 76
    functionName: eq_dns_rr
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 1
    functionsReached:
    - print_dns_rr
    - msg_warn
    - EQ_DNS_RR_RETURN
    - vstring_alloc
    - strcmp
    - eq_dns_rr
    - STR
    linkageType: ''
    returnType: int
    signature: int eq_dns_rr(DNS_RR *got, DNS_RR *want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: EQ_DNS_RR_RETURN
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EQ_DNS_RR_RETURN(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eq_dns_rr
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:80,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:82,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - got
    - want
    argTypes:
    - DNS_RR*
    - DNS_RR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: eq_dns_rr_free
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 0
    functionsReached:
    - dns_rr_free
    - eq_dns_rr
    linkageType: ''
    returnType: int
    signature: int eq_dns_rr_free(DNS_RR *got, DNS_RR *want)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_create
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:104,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:105,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:107,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:108,1
    - Dst: eq_dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 4
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: eq_dns_rr_qname_differ
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 0
    functionsReached:
    - dns_rr_copy
    - myfree
    - dns_rr_create
    - mystrdup
    - eq_dns_rr_free
    linkageType: ''
    returnType: int
    signature: int eq_dns_rr_qname_differ(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_create
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:114,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:115,1
    - Dst: eq_dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 4
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: eq_dns_rr_reply_differ
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 0
    functionsReached:
    - dns_rr_copy
    - dns_rr_create
    - eq_dns_rr_free
    linkageType: ''
    returnType: int
    signature: int eq_dns_rr_reply_differ(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:131,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:132,1
    - Dst: eq_dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 129
    functionDepth: 4
    functionLinenumber: 129
    functionLinenumberEnd: 136
    functionName: eq_dns_rr_flags_differ
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 0
    functionsReached:
    - dns_rr_create_noport
    - dns_rr_copy
    - eq_dns_rr_free
    linkageType: ''
    returnType: int
    signature: int eq_dns_rr_flags_differ(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:140,1
    - Dst: eq_dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 4
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: append_to_null_from_null
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 0
    functionsReached:
    - dns_rr_append
    - eq_dns_rr_free
    linkageType: ''
    returnType: int
    signature: int append_to_null_from_null(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:148,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:151,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:151,1
    - Dst: eq_dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 4
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: append_to_elem_from_null
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 0
    functionsReached:
    - dns_rr_create_noport
    - dns_rr_append
    - dns_rr_copy
    - eq_dns_rr_free
    linkageType: ''
    returnType: int
    signature: int append_to_elem_from_null(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:160,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:163,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:163,1
    - Dst: eq_dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 4
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: appent_to_null_from_elem
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 0
    functionsReached:
    - dns_rr_create_noport
    - dns_rr_append
    - dns_rr_copy
    - eq_dns_rr_free
    linkageType: ''
    returnType: int
    signature: int appent_to_null_from_elem(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:172,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:173,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:176,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:176,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:176,1
    - Dst: eq_dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 170
    functionDepth: 4
    functionLinenumber: 170
    functionLinenumberEnd: 181
    functionName: append_to_elem_from_elem
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 0
    functionsReached:
    - dns_rr_create_noport
    - dns_rr_append
    - dns_rr_copy
    - eq_dns_rr_free
    linkageType: ''
    returnType: int
    signature: int append_to_elem_from_elem(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:185,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:186,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:187,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:190,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:190,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:191,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:191,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:192,1
    - Dst: eq_dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 183
    functionDepth: 4
    functionLinenumber: 183
    functionLinenumberEnd: 197
    functionName: append_to_elem_from_list
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 0
    functionsReached:
    - dns_rr_create_noport
    - dns_rr_append
    - dns_rr_copy
    - eq_dns_rr_free
    linkageType: ''
    returnType: int
    signature: int append_to_elem_from_list(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:201,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:202,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:203,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:206,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:206,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:206,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:207,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:208,1
    - Dst: eq_dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 199
    functionDepth: 4
    functionLinenumber: 199
    functionLinenumberEnd: 213
    functionName: append_to_list_from_elem
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 0
    functionsReached:
    - dns_rr_create_noport
    - dns_rr_append
    - dns_rr_copy
    - eq_dns_rr_free
    linkageType: ''
    returnType: int
    signature: int append_to_list_from_elem(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:217,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:218,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:219,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:220,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:223,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:223,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:223,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:224,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:225,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:225,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:226,1
    - Dst: eq_dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 231
    functionName: append_to_list_from_list
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 0
    functionsReached:
    - dns_rr_create_noport
    - dns_rr_append
    - dns_rr_copy
    - eq_dns_rr_free
    linkageType: ''
    returnType: int
    signature: int append_to_list_from_list(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:235,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:236,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:237,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:238,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:239,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:239,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:239,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:240,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:240,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:240,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:246,1
    - Dst: eq_dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 233
    functionDepth: 4
    functionLinenumber: 233
    functionLinenumberEnd: 253
    functionName: append_propagates_flags
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 0
    functionsReached:
    - dns_rr_create_noport
    - dns_rr_append
    - dns_rr_copy
    - eq_dns_rr_free
    linkageType: ''
    returnType: int
    signature: int append_propagates_flags(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:257,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:258,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:259,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:260,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:265,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:265,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:265,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:269,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:269,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:270,1
    - Dst: eq_dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 255
    functionDepth: 4
    functionLinenumber: 255
    functionLinenumberEnd: 273
    functionName: append_to_list_from_list_truncate
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 0
    functionsReached:
    - dns_rr_create_noport
    - dns_rr_copy
    - eq_dns_rr_free
    - dns_rr_append
    linkageType: ''
    returnType: int
    signature: int append_to_list_from_list_truncate(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:277,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:278,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:279,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:280,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:285,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:285,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:289,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:290,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:291,1
    - Dst: eq_dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 275
    functionDepth: 4
    functionLinenumber: 275
    functionLinenumberEnd: 294
    functionName: append_to_list_from_elem_elem_truncate
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 0
    functionsReached:
    - dns_rr_create_noport
    - dns_rr_copy
    - eq_dns_rr_free
    - dns_rr_append
    linkageType: ''
    returnType: int
    signature: int append_to_list_from_elem_elem_truncate(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:298,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:299,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:300,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:305,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:305,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:309,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:309,1
    - Dst: eq_dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 296
    functionDepth: 4
    functionLinenumber: 296
    functionLinenumberEnd: 312
    functionName: append_to_list_from_elem_truncate
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 0
    functionsReached:
    - dns_rr_create_noport
    - dns_rr_copy
    - eq_dns_rr_free
    - dns_rr_append
    linkageType: ''
    returnType: int
    signature: int append_to_list_from_elem_truncate(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:316,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:317,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:318,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:323,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:323,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:327,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:327,1
    - Dst: eq_dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 314
    functionDepth: 4
    functionLinenumber: 314
    functionLinenumberEnd: 330
    functionName: append_to_elem_from_list_truncate
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 0
    functionsReached:
    - dns_rr_create_noport
    - dns_rr_copy
    - eq_dns_rr_free
    - dns_rr_append
    linkageType: ''
    returnType: int
    signature: int append_to_elem_from_list_truncate(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:334,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:335,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:336,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:341,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:341,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:341,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:343,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:343,1
    - Dst: eq_dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 332
    functionDepth: 4
    functionLinenumber: 332
    functionLinenumberEnd: 346
    functionName: append_to_list_from_elem_exact_fit
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 0
    functionsReached:
    - dns_rr_create_noport
    - dns_rr_copy
    - eq_dns_rr_free
    - dns_rr_append
    linkageType: ''
    returnType: int
    signature: int append_to_list_from_elem_exact_fit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:350,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:351,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:352,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:357,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:357,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:357,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:359,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:359,1
    - Dst: eq_dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 348
    functionDepth: 4
    functionLinenumber: 348
    functionLinenumberEnd: 362
    functionName: append_to_elem_from_list_exact_fit
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 0
    functionsReached:
    - dns_rr_create_noport
    - dns_rr_copy
    - eq_dns_rr_free
    - dns_rr_append
    linkageType: ''
    returnType: int
    signature: int append_to_elem_from_list_exact_fit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:366,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:367,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:368,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:372,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:372,1
    - Dst: dns_rr_remove
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:373,1
    - Dst: eq_dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 364
    functionDepth: 4
    functionLinenumber: 364
    functionLinenumberEnd: 376
    functionName: delete_middle_element
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 0
    functionsReached:
    - dns_rr_create_noport
    - dns_rr_copy
    - eq_dns_rr_free
    - dns_rr_remove
    linkageType: ''
    returnType: int
    signature: int delete_middle_element(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:380,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:381,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:382,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:386,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:386,1
    - Dst: dns_rr_remove
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:387,1
    - Dst: eq_dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 378
    functionDepth: 4
    functionLinenumber: 378
    functionLinenumberEnd: 390
    functionName: delete_first_element
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 0
    functionsReached:
    - dns_rr_create_noport
    - dns_rr_copy
    - eq_dns_rr_free
    - dns_rr_remove
    linkageType: ''
    returnType: int
    signature: int delete_first_element(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:394,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:395,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:396,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:400,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:400,1
    - Dst: dns_rr_remove
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:401,1
    - Dst: eq_dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 392
    functionDepth: 4
    functionLinenumber: 392
    functionLinenumberEnd: 404
    functionName: delete_last_element
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 0
    functionsReached:
    - dns_rr_create_noport
    - dns_rr_copy
    - eq_dns_rr_free
    - dns_rr_remove
    linkageType: ''
    returnType: int
    signature: int delete_last_element(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:408,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:409,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:410,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:414,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:414,1
    - Dst: dns_rr_detach
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:415,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:416,1
    - Dst: eq_dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 406
    functionDepth: 4
    functionLinenumber: 406
    functionLinenumberEnd: 419
    functionName: detach_middle_element
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 0
    functionsReached:
    - dns_rr_free
    - dns_rr_detach
    - dns_rr_copy
    - dns_rr_create_noport
    - eq_dns_rr_free
    linkageType: ''
    returnType: int
    signature: int detach_middle_element(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:423,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:424,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:425,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:429,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:429,1
    - Dst: dns_rr_detach
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:430,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:431,1
    - Dst: eq_dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 421
    functionDepth: 4
    functionLinenumber: 421
    functionLinenumberEnd: 434
    functionName: detach_first_element
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 0
    functionsReached:
    - dns_rr_free
    - dns_rr_detach
    - dns_rr_copy
    - dns_rr_create_noport
    - eq_dns_rr_free
    linkageType: ''
    returnType: int
    signature: int detach_first_element(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:438,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:439,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:440,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:444,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:444,1
    - Dst: dns_rr_detach
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:445,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:446,1
    - Dst: eq_dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 436
    functionDepth: 4
    functionLinenumber: 436
    functionLinenumberEnd: 449
    functionName: detach_last_element
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 0
    functionsReached:
    - dns_rr_free
    - dns_rr_detach
    - dns_rr_copy
    - dns_rr_create_noport
    - eq_dns_rr_free
    linkageType: ''
    returnType: int
    signature: int detach_last_element(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:507,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:510,1
    - Dst: sane_basename
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:510,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:513,1
    - Dst: TEST_CASE*::fn
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:514,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:516,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:518,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:523,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:524,1
    - Dst: exit
      Src: /src/postfix/postfix/src/dns/dns_rr_test.c:525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 526
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_test.c
    functionUses: 19
    functionsReached:
    - TEST_CASE*::fn
    - exit
    - vstring_alloc
    - msg_info
    - msg_vstream_init
    - sane_basename
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_sa_to_rr.c:58,1
    - Dst: SOCK_ADDR_IN_ADDR
      Src: /src/postfix/postfix/src/dns/dns_sa_to_rr.c:59,1
    - Dst: SOCK_ADDR_IN_ADDR
      Src: /src/postfix/postfix/src/dns/dns_sa_to_rr.c:60,1
    - Dst: dns_rr_create_noport
      Src: /src/postfix/postfix/src/dns/dns_sa_to_rr.c:63,1
    - Dst: SOCK_ADDR_IN6_ADDR
      Src: /src/postfix/postfix/src/dns/dns_sa_to_rr.c:64,1
    - Dst: SOCK_ADDR_IN6_ADDR
      Src: /src/postfix/postfix/src/dns/dns_sa_to_rr.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - hostname
    - pref
    - sa
    argTypes:
    - char*
    - unsigned
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 71
    functionName: dns_sa_to_rr
    functionSourceFile: /src/postfix/postfix/src/dns/dns_sa_to_rr.c
    functionUses: 0
    functionsReached:
    - SOCK_ADDR_IN6_ADDR
    - dns_rr_create_noport
    - SOCK_ADDR_IN_ADDR
    linkageType: ''
    returnType: DNS_RR
    signature: DNS_RR *dns_sa_to_rr(const char *hostname, unsigned pref, struct sockaddr
      *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/dns/dns_sa_to_rr.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/dns/dns_sa_to_rr.c
    functionUses: 16
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: compare_family
    functionSourceFile: /src/postfix/postfix/src/dns/dns_sa_to_rr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_family(const void *a, const void *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/postfix/postfix/src/dns/dns_sa_to_rr.c:110,1
    - Dst: inet_proto_init
      Src: /src/postfix/postfix/src/dns/dns_sa_to_rr.c:112,1
    - Dst: hostname_to_sockaddr
      Src: /src/postfix/postfix/src/dns/dns_sa_to_rr.c:115,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/dns/dns_sa_to_rr.c:116,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/dns/dns_sa_to_rr.c:116,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/dns/dns_sa_to_rr.c:119,1
    - Dst: qsort
      Src: /src/postfix/postfix/src/dns/dns_sa_to_rr.c:122,1
    - Dst: dns_sa_to_rr
      Src: /src/postfix/postfix/src/dns/dns_sa_to_rr.c:124,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/dns/dns_sa_to_rr.c:125,1
    - Dst: dns_rr_to_pa
      Src: /src/postfix/postfix/src/dns/dns_sa_to_rr.c:126,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/dns/dns_sa_to_rr.c:127,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/dns/dns_sa_to_rr.c:128,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/dns/dns_sa_to_rr.c:129,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_sa_to_rr.c:130,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/dns/dns_sa_to_rr.c:132,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/dns/dns_sa_to_rr.c:133,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 136
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/dns/dns_sa_to_rr.c
    functionUses: 19
    functionsReached:
    - dns_rr_free
    - vstream_fflush
    - qsort
    - myfree
    - dns_sa_to_rr
    - inet_proto_init
    - usage
    - dns_rr_to_pa
    - mymalloc
    - vstream_printf
    - msg_fatal
    - hostname_to_sockaddr
    - MAI_STRERROR
    - freeaddrinfo
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/dns/dns_str_resflags.c:127,1
    - Dst: str_long_name_mask_opt
      Src: /src/postfix/postfix/src/dns/dns_str_resflags.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mask
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: dns_str_resflags
    functionSourceFile: /src/postfix/postfix/src/dns/dns_str_resflags.c
    functionUses: 2
    functionsReached:
    - str_long_name_mask_opt
    - vstring_alloc
    linkageType: ''
    returnType: char
    signature: char *dns_str_resflags(unsigned long mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/dns/dns_rr.c:195,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/dns/dns_rr.c:196,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/dns/dns_rr.c:197,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/dns/dns_rr.c:206,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/dns/dns_rr.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 10
    argNames:
    - qname
    - rname
    - type
    - class
    - ttl
    - pref
    - weight
    - port
    - data
    - data_len
    argTypes:
    - char*
    - char*
    - ushort
    - ushort
    - unsigned int
    - unsigned
    - unsigned
    - unsigned
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 215
    functionName: dns_rr_create
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr.c
    functionUses: 3
    functionsReached:
    - mymalloc
    - mystrdup
    - memcpy
    linkageType: ''
    returnType: DNS_RR
    signature: "DNS_RR *dns_rr_create(const char *qname, const char *rname,\n\t\t
      \             ushort type, ushort class,\n\t\t              unsigned int ttl,
      unsigned pref,\n\t\t              unsigned weight, unsigned port,\n\t\t              const
      char *data, size_t data_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr.c:223,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/dns/dns_rr.c:224,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/dns/dns_rr.c:225,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/dns/dns_rr.c:227,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/dns/dns_rr.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - rr
    argTypes:
    - DNS_RR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 230
    functionName: dns_rr_free
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr.c
    functionUses: 32
    functionsReached:
    - myfree
    - dns_rr_free
    linkageType: ''
    returnType: void
    signature: void dns_rr_free(DNS_RR *rr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/dns/dns_rr.c:241,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/dns/dns_rr.c:243,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/dns/dns_rr.c:244,1
    - Dst: mymemdup
      Src: /src/postfix/postfix/src/dns/dns_rr.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - src
    argTypes:
    - DNS_RR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 249
    functionName: dns_rr_copy
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr.c
    functionUses: 22
    functionsReached:
    - mymalloc
    - mymemdup
    - mystrdup
    linkageType: ''
    returnType: DNS_RR
    signature: DNS_RR *dns_rr_copy(DNS_RR *src)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/dns/dns_rr.c:265,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/dns/dns_rr.c:268,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr.c:270,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr.c:271,1
    - Dst: dns_rr_append_with_limit
      Src: /src/postfix/postfix/src/dns/dns_rr.c:280,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - list
    - rr
    - limit
    argTypes:
    - DNS_RR*
    - DNS_RR*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 284
    functionName: dns_rr_append_with_limit
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr.c
    functionUses: 1
    functionsReached:
    - dns_rr_append_with_limit
    - msg_warn
    - dns_rr_free
    - dns_strtype
    linkageType: ''
    returnType: void
    signature: void dns_rr_append_with_limit(DNS_RR *list, DNS_RR *rr, int limit)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DNS_RR_IS_TRUNCATED
      Src: /src/postfix/postfix/src/dns/dns_rr.c:299,1
    - Dst: dns_rr_append_with_limit
      Src: /src/postfix/postfix/src/dns/dns_rr.c:300,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr.c:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - list
    - rr
    argTypes:
    - DNS_RR*
    - DNS_RR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 305
    functionName: dns_rr_append
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr.c
    functionUses: 17
    functionsReached:
    - dns_rr_free
    - DNS_RR_IS_TRUNCATED
    - dns_rr_append_with_limit
    linkageType: ''
    returnType: DNS_RR
    signature: DNS_RR *dns_rr_append(DNS_RR *list, DNS_RR *rr)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - DNS_RR*
    - DNS_RR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 322
    functionName: dns_rr_compare_pref_ipv6
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dns_rr_compare_pref_ipv6(DNS_RR *a, DNS_RR *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - DNS_RR*
    - DNS_RR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 339
    functionName: dns_rr_compare_pref_ipv4
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dns_rr_compare_pref_ipv4(DNS_RR *a, DNS_RR *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - DNS_RR*
    - DNS_RR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 348
    functionName: dns_rr_compare_pref_any
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dns_rr_compare_pref_any(DNS_RR *a, DNS_RR *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_compare_pref_ipv6
      Src: /src/postfix/postfix/src/dns/dns_rr.c:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - DNS_RR*
    - DNS_RR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: dns_rr_compare_pref
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr.c
    functionUses: 0
    functionsReached:
    - dns_rr_compare_pref_ipv6
    linkageType: ''
    returnType: int
    signature: int dns_rr_compare_pref(DNS_RR *a, DNS_RR *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_sort_user
      Src: /src/postfix/postfix/src/dns/dns_rr.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 367
    functionName: dns_rr_sort_callback
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr.c
    functionUses: 0
    functionsReached:
    - dns_rr_sort_user
    linkageType: ''
    returnType: int
    signature: int dns_rr_sort_callback(const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/dns/dns_rr.c:396,1
    - Dst: qsort
      Src: /src/postfix/postfix/src/dns/dns_rr.c:403,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/dns/dns_rr.c:416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - list
    argTypes:
    - DNS_RR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 419
    functionName: dns_rr_sort
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - myfree
    - qsort
    linkageType: ''
    returnType: DNS_RR
    signature: DNS_RR *dns_rr_sort(DNS_RR *list, int (*compar) (DNS_RR *, DNS_RR *))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/dns/dns_rr.c:442,1
    - Dst: myrand
      Src: /src/postfix/postfix/src/dns/dns_rr.c:452,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/dns/dns_rr.c:469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - list
    argTypes:
    - DNS_RR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 471
    functionName: dns_rr_shuffle
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - myrand
    - myfree
    linkageType: ''
    returnType: DNS_RR
    signature: DNS_RR *dns_rr_shuffle(DNS_RR *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_detach
      Src: /src/postfix/postfix/src/dns/dns_rr.c:477,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - list
    - record
    argTypes:
    - DNS_RR*
    - DNS_RR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 480
    functionName: dns_rr_remove
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr.c
    functionUses: 3
    functionsReached:
    - dns_rr_free
    - dns_rr_detach
    linkageType: ''
    returnType: DNS_RR
    signature: DNS_RR *dns_rr_remove(DNS_RR *list, DNS_RR *record)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/dns/dns_rr.c:487,1
    - Dst: dns_rr_detach
      Src: /src/postfix/postfix/src/dns/dns_rr.c:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - list
    - record
    argTypes:
    - DNS_RR*
    - DNS_RR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 496
    functionName: dns_rr_detach
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr.c
    functionUses: 5
    functionsReached:
    - msg_panic
    - dns_rr_detach
    linkageType: ''
    returnType: DNS_RR
    signature: DNS_RR *dns_rr_detach(DNS_RR *list, DNS_RR *record)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: myrand
      Src: /src/postfix/postfix/src/dns/dns_rr.c:532,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - array
    - count
    argTypes:
    - DNS_RR**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 549
    functionName: weight_order
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr.c
    functionUses: 0
    functionsReached:
    - myrand
    linkageType: ''
    returnType: void
    signature: void weight_order(DNS_RR **array, int count)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/dns/dns_rr.c:582,1
    - Dst: myrand
      Src: /src/postfix/postfix/src/dns/dns_rr.c:592,1
    - Dst: qsort
      Src: /src/postfix/postfix/src/dns/dns_rr.c:599,1
    - Dst: weight_order
      Src: /src/postfix/postfix/src/dns/dns_rr.c:612,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/dns/dns_rr.c:631,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - list
    argTypes:
    - DNS_RR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 553
    functionDepth: 2
    functionLinenumber: 553
    functionLinenumberEnd: 634
    functionName: dns_srv_rr_sort
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr.c
    functionUses: 0
    functionsReached:
    - myrand
    - qsort
    - myfree
    - weight_order
    - mymalloc
    linkageType: ''
    returnType: DNS_RR
    signature: DNS_RR *dns_srv_rr_sort(DNS_RR *list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop
      Src: /src/postfix/postfix/src/dns/dns_rr_to_pa.c:56,1
    - Dst: inet_ntop
      Src: /src/postfix/postfix/src/dns/dns_rr_to_pa.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - rr
    - hostaddr
    argTypes:
    - DNS_RR*
    - MAI_HOSTADDR_STR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: dns_rr_to_pa
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_to_pa.c
    functionUses: 1
    functionsReached:
    - inet_ntop
    linkageType: ''
    returnType: char
    signature: char *dns_rr_to_pa(DNS_RR *rr, MAI_HOSTADDR_STR *hostaddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/dns/dns_rr_to_pa.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_to_pa.c
    functionUses: 17
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/postfix/postfix/src/dns/dns_rr_to_pa.c:92,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/dns/dns_rr_to_pa.c:93,1
    - Dst: usage
      Src: /src/postfix/postfix/src/dns/dns_rr_to_pa.c:97,1
    - Dst: dns_type
      Src: /src/postfix/postfix/src/dns/dns_rr_to_pa.c:98,1
    - Dst: usage
      Src: /src/postfix/postfix/src/dns/dns_rr_to_pa.c:99,1
    - Dst: dns_lookup
      Src: /src/postfix/postfix/src/dns/dns_rr_to_pa.c:100,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/dns/dns_rr_to_pa.c:101,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/dns/dns_rr_to_pa.c:101,1
    - Dst: dns_rr_to_pa
      Src: /src/postfix/postfix/src/dns/dns_rr_to_pa.c:102,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/dns/dns_rr_to_pa.c:103,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/dns/dns_rr_to_pa.c:104,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/dns/dns_rr_to_pa.c:105,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_to_pa.c:107,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/dns/dns_rr_to_pa.c:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 111
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_to_pa.c
    functionUses: 19
    functionsReached:
    - vstring_str
    - dns_rr_free
    - vstream_fflush
    - vstring_alloc
    - dns_lookup
    - usage
    - dns_type
    - dns_rr_to_pa
    - vstream_printf
    - msg_fatal
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SOCK_ADDR_IN_ADDR
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:63,1
    - Dst: IN_ADDR
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:63,1
    - Dst: memcmp
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:67,1
    - Dst: SOCK_ADDR_IN6_ADDR
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:67,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - rr
    - sa
    argTypes:
    - DNS_RR*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: dns_rr_eq_sa
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - IN_ADDR
    - memcmp
    - SOCK_ADDR_IN_ADDR
    - SOCK_ADDR_IN6_ADDR
    linkageType: ''
    returnType: int
    signature: int dns_rr_eq_sa(DNS_RR *rr, struct sockaddr *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c
    functionUses: 18
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: compare_family
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_family(const void *a, const void *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:115,1
    - Dst: inet_proto_init
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:117,1
    - Dst: usage
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:121,1
    - Dst: hostaddr_to_sockaddr
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:123,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:124,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:124,1
    - Dst: dns_sa_to_rr
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:125,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:126,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:127,1
    - Dst: hostname_to_sockaddr
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:129,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:130,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:130,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:133,1
    - Dst: qsort
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:136,1
    - Dst: SOCKADDR_TO_HOSTADDR
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:138,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:140,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:141,1
    - Dst: dns_rr_eq_sa
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:142,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:144,1
    - Dst: DNS_RR_EQ_SA
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:145,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:148,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:149,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:150,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c:151,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 155
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c
    functionUses: 19
    functionsReached:
    - dns_rr_eq_sa
    - SOCKADDR_TO_HOSTADDR
    - dns_rr_free
    - vstream_fflush
    - freeaddrinfo
    - qsort
    - myfree
    - dns_sa_to_rr
    - inet_proto_init
    - usage
    - vstream_printf
    - mymalloc
    - DNS_RR_EQ_SA
    - msg_fatal
    - hostname_to_sockaddr
    - MAI_STRERROR
    - hostaddr_to_sockaddr
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:55,1
    - Dst: dns_strrecord
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - rr
    argTypes:
    - VSTRING*
    - DNS_RR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: print_rr
    functionSourceFile: /src/postfix/postfix/src/dns/test_dns_lookup.c
    functionUses: 0
    functionsReached:
    - dns_strrecord
    - vstream_printf
    linkageType: ''
    returnType: void
    signature: void print_rr(VSTRING *buf, DNS_RR *rr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/dns/test_dns_lookup.c
    functionUses: 19
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(char **argv)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:71,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:72,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:82,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:83,1
    - Dst: dns_rr_filter_compile
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:89,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:92,1
    - Dst: usage
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:104,1
    - Dst: usage
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:108,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:109,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:110,1
    - Dst: dns_type
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:112,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:113,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:115,1
    - Dst: dns_lookup_rv
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:118,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:121,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:121,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:124,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:124,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:125,1
    - Dst: print_rr
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:126,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:127,1
    - Dst: DNS_RR_IS_TRUNCATED
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:128,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:129,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:130,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:131,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:134,1
    - Dst: exit
      Src: /src/postfix/postfix/src/dns/test_dns_lookup.c:135,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 66
    functionDepth: 7
    functionLinenumber: 66
    functionLinenumberEnd: 136
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/dns/test_dns_lookup.c
    functionUses: 19
    functionsReached:
    - dns_rr_free
    - msg_vstream_init
    - atoi
    - dns_type
    - GETOPT
    - vstream_fflush
    - vstring_alloc
    - dns_rr_filter_compile
    - exit
    - DNS_RR_IS_TRUNCATED
    - print_rr
    - mymalloc
    - vstring_str
    - myfree
    - argv_split
    - vstream_printf
    - vstring_free
    - msg_warn
    - argv_free
    - dns_lookup_rv
    - usage
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/dns/dns_strrecord.c:56,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/dns/dns_strrecord.c:57,1
    - Dst: dns_rr_to_pa
      Src: /src/postfix/postfix/src/dns/dns_strrecord.c:63,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/dns/dns_strrecord.c:64,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/dns/dns_strrecord.c:65,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/dns/dns_strrecord.c:66,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/dns/dns_strrecord.c:75,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/dns/dns_strrecord.c:78,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/dns/dns_strrecord.c:81,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/dns/dns_strrecord.c:84,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/dns/dns_strrecord.c:96,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/dns/dns_strrecord.c:98,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/dns/dns_strrecord.c:100,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/dns/dns_strrecord.c:111,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/dns/dns_strrecord.c:112,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/dns/dns_strrecord.c:117,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/dns/dns_strrecord.c:118,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/dns/dns_strrecord.c:120,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 2
    argNames:
    - buf
    - rr
    argTypes:
    - VSTRING*
    - DNS_RR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 121
    functionName: dns_strrecord
    functionSourceFile: /src/postfix/postfix/src/dns/dns_strrecord.c
    functionUses: 3
    functionsReached:
    - vstring_sprintf
    - vstring_str
    - dns_strtype
    - dns_rr_to_pa
    - memcpy
    - vstring_sprintf_append
    - msg_fatal
    linkageType: ''
    returnType: char
    signature: char *dns_strrecord(VSTRING *buf, DNS_RR *rr)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postalias/postalias.c:312,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postalias/postalias.c:313,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postalias/postalias.c:314,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/postalias/postalias.c:318,1
    - Dst: CA_VSTREAM_CTL_PATH
      Src: /src/postfix/postfix/src/postalias/postalias.c:318,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postalias/postalias.c:321,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postalias/postalias.c:322,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/postalias/postalias.c:324,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postalias/postalias.c:325,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/postalias/postalias.c:327,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postalias/postalias.c:327,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postalias/postalias.c:328,1
    - Dst: S_ISREG
      Src: /src/postfix/postfix/src/postalias/postalias.c:333,1
    - Dst: umask
      Src: /src/postfix/postfix/src/postalias/postalias.c:334,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/postalias/postalias.c:341,1
    - Dst: geteuid
      Src: /src/postfix/postfix/src/postalias/postalias.c:342,1
    - Dst: getegid
      Src: /src/postfix/postfix/src/postalias/postalias.c:342,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/postalias/postalias.c:343,1
    - Dst: mkmap_open
      Src: /src/postfix/postfix/src/postalias/postalias.c:367,1
    - Dst: S_ISREG
      Src: /src/postfix/postfix/src/postalias/postalias.c:372,1
    - Dst: umask
      Src: /src/postfix/postfix/src/postalias/postalias.c:373,1
    - Dst: dict_isjmp
      Src: /src/postfix/postfix/src/postalias/postalias.c:380,1
    - Dst: dict_setjmp
      Src: /src/postfix/postfix/src/postalias/postalias.c:381,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/postalias/postalias.c:382,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postalias/postalias.c:383,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/postalias/postalias.c:383,1
    - Dst: readllines
      Src: /src/postfix/postfix/src/postalias/postalias.c:389,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/postalias/postalias.c:395,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postalias/postalias.c:395,1
    - Dst: valid_utf8_stringz
      Src: /src/postfix/postfix/src/postalias/postalias.c:396,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postalias/postalias.c:396,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postalias/postalias.c:397,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/postalias/postalias.c:399,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postalias/postalias.c:399,1
    - Dst: tok822_scan
      Src: /src/postfix/postfix/src/postalias/postalias.c:408,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postalias/postalias.c:408,1
    - Dst: tok822_find_type
      Src: /src/postfix/postfix/src/postalias/postalias.c:416,1
    - Dst: tok822_rfind_type
      Src: /src/postfix/postfix/src/postalias/postalias.c:418,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postalias/postalias.c:419,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/postalias/postalias.c:420,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/postalias/postalias.c:421,1
    - Dst: tok822_rfind_type
      Src: /src/postfix/postfix/src/postalias/postalias.c:431,1
    - Dst: tok822_rfind_type
      Src: /src/postfix/postfix/src/postalias/postalias.c:431,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postalias/postalias.c:432,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/postalias/postalias.c:433,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/postalias/postalias.c:434,1
    - Dst: tok822_cut_after
      Src: /src/postfix/postfix/src/postalias/postalias.c:448,1
    - Dst: tok822_unlink
      Src: /src/postfix/postfix/src/postalias/postalias.c:449,1
    - Dst: tok822_free
      Src: /src/postfix/postfix/src/postalias/postalias.c:450,1
    - Dst: tok822_internalize
      Src: /src/postfix/postfix/src/postalias/postalias.c:452,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/postalias/postalias.c:453,1
    - Dst: tok822_externalize
      Src: /src/postfix/postfix/src/postalias/postalias.c:455,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/postalias/postalias.c:456,1
    - Dst: mkmap_append
      Src: /src/postfix/postfix/src/postalias/postalias.c:461,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postalias/postalias.c:461,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postalias/postalias.c:461,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postalias/postalias.c:463,1
    - Dst: mkmap_append
      Src: /src/postfix/postfix/src/postalias/postalias.c:480,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postalias/postalias.c:482,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/postalias/postalias.c:493,1
    - Dst: time
      Src: /src/postfix/postfix/src/postalias/postalias.c:493,1
    - Dst: mkmap_append
      Src: /src/postfix/postfix/src/postalias/postalias.c:495,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postalias/postalias.c:495,1
    - Dst: mkmap_append
      Src: /src/postfix/postfix/src/postalias/postalias.c:496,1
    - Dst: mkmap_close
      Src: /src/postfix/postfix/src/postalias/postalias.c:502,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postalias/postalias.c:507,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postalias/postalias.c:508,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postalias/postalias.c:509,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/postalias/postalias.c:511,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 78
    argCount: 5
    argNames:
    - map_type
    - path_name
    - postalias_flags
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 292
    functionDepth: 4
    functionLinenumber: 292
    functionLinenumberEnd: 512
    functionName: postalias
    functionSourceFile: /src/postfix/postfix/src/postalias/postalias.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - vstream_control
    - getuid
    - tok822_find_type
    - tok822_free
    - mkmap_close
    - tok822_rfind_type
    - VSTREAM_PATH
    - vstring_alloc
    - S_ISREG
    - readllines
    - dict_setjmp
    - vstream_fopen
    - allascii
    - getegid
    - time
    - tok822_scan
    - tok822_externalize
    - fstat
    - mkmap_append
    - set_eugid
    - tok822_internalize
    - vstring_free
    - msg_warn
    - CA_VSTREAM_CTL_PATH
    - vstream_fseek
    - dict_isjmp
    - geteuid
    - tok822_cut_after
    - tok822_unlink
    - mkmap_open
    - vstream_fclose
    - umask
    - strcmp
    - vstream_fileno
    - msg_fatal
    - valid_utf8_stringz
    - tok822_free_tree
    - STR
    linkageType: ''
    returnType: void
    signature: "void postalias(char *map_type, char *path_name, int postalias_flags,\n\t\t
      \             int open_flags, int dict_flags)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postalias/postalias.c:520,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postalias/postalias.c:530,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/postalias/postalias.c:535,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/postalias/postalias.c:543,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/postalias/postalias.c:546,1
    - Dst: dict_open3
      Src: /src/postfix/postfix/src/postalias/postalias.c:547,1
    - Dst: dict_open3
      Src: /src/postfix/postfix/src/postalias/postalias.c:548,1
    - Dst: dict_get
      Src: /src/postfix/postfix/src/postalias/postalias.c:549,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postalias/postalias.c:549,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postalias/postalias.c:551,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postalias/postalias.c:552,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postalias/postalias.c:553,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postalias/postalias.c:556,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postalias/postalias.c:556,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postalias/postalias.c:561,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/postalias/postalias.c:566,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/postalias/postalias.c:573,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postalias/postalias.c:574,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postalias/postalias.c:575,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 4
    argNames:
    - in
    - maps
    - map_count
    - dict_flags
    argTypes:
    - VSTREAM*
    - char**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 578
    functionName: postalias_queries
    functionSourceFile: /src/postfix/postfix/src/postalias/postalias.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstring_get_nonl
    - msg_warn
    - vstream_fflush
    - vstring_alloc
    - dict_open3
    - myfree
    - vstream_printf
    - dict_close
    - mymalloc
    - split_at
    - msg_fatal
    - dict_get
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: "int postalias_queries(VSTREAM *in, char **maps, const int map_count,\n\t\t\t
      \            const int dict_flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dict_open3
      Src: /src/postfix/postfix/src/postalias/postalias.c:588,1
    - Dst: dict_get
      Src: /src/postfix/postfix/src/postalias/postalias.c:589,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postalias/postalias.c:591,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postalias/postalias.c:593,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postalias/postalias.c:596,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postalias/postalias.c:599,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/postalias/postalias.c:600,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/postalias/postalias.c:601,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - map_type
    - map_name
    - key
    - dict_flags
    argTypes:
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 603
    functionName: postalias_query
    functionSourceFile: /src/postfix/postfix/src/postalias/postalias.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - vstream_fflush
    - dict_open3
    - vstream_printf
    - dict_close
    - msg_fatal
    - dict_get
    linkageType: ''
    returnType: int
    signature: "int postalias_query(const char *map_type, const char *map_name,\n\t\t\t
      \          const char *key, int dict_flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postalias/postalias.c:611,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postalias/postalias.c:621,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/postalias/postalias.c:626,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/postalias/postalias.c:628,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postalias/postalias.c:629,1
    - Dst: dict_open3
      Src: /src/postfix/postfix/src/postalias/postalias.c:634,1
    - Dst: dict_open3
      Src: /src/postfix/postfix/src/postalias/postalias.c:635,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/postalias/postalias.c:641,1
    - Dst: dict_del
      Src: /src/postfix/postfix/src/postalias/postalias.c:643,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postalias/postalias.c:643,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postalias/postalias.c:645,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/postalias/postalias.c:655,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postalias/postalias.c:656,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postalias/postalias.c:657,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - in
    - maps
    - map_count
    - dict_flags
    argTypes:
    - VSTREAM*
    - char**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 660
    functionName: postalias_deletes
    functionSourceFile: /src/postfix/postfix/src/postalias/postalias.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstring_get_nonl
    - vstring_alloc
    - dict_open3
    - dict_del
    - myfree
    - strcmp
    - dict_close
    - mymalloc
    - split_at
    - msg_fatal
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: "int postalias_deletes(VSTREAM *in, char **maps, const int map_count,\n\t\t\t
      \            int dict_flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postalias/postalias.c:671,1
    - Dst: dict_open3
      Src: /src/postfix/postfix/src/postalias/postalias.c:675,1
    - Dst: dict_del
      Src: /src/postfix/postfix/src/postalias/postalias.c:676,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postalias/postalias.c:678,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/postalias/postalias.c:679,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - map_type
    - map_name
    - key
    - dict_flags
    argTypes:
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 681
    functionName: postalias_delete
    functionSourceFile: /src/postfix/postfix/src/postalias/postalias.c
    functionUses: 0
    functionsReached:
    - dict_open3
    - dict_del
    - strcmp
    - dict_close
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: "int postalias_delete(const char *map_type, const char *map_name,\n\t\t\t
      \           const char *key, int dict_flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dict_open3
      Src: /src/postfix/postfix/src/postalias/postalias.c:693,1
    - Dst: dict_seq
      Src: /src/postfix/postfix/src/postalias/postalias.c:695,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postalias/postalias.c:698,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postalias/postalias.c:701,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postalias/postalias.c:703,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postalias/postalias.c:706,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postalias/postalias.c:709,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/postalias/postalias.c:710,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/postalias/postalias.c:711,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - map_type
    - map_name
    - dict_flags
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 712
    functionName: postalias_seq
    functionSourceFile: /src/postfix/postfix/src/postalias/postalias.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - dict_seq
    - vstream_fflush
    - dict_open3
    - vstream_printf
    - dict_close
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: "void postalias_seq(const char *map_type, const char *map_name,\n\t\t\t
      \         int dict_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postalias/postalias.c:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - myname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 720
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/postalias/postalias.c
    functionUses: 20
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(char *myname)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/postfix/postfix/src/postalias/postalias.c:750,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/postalias/postalias.c:758,1
    - Dst: close
      Src: /src/postfix/postfix/src/postalias/postalias.c:759,1
    - Dst: open
      Src: /src/postfix/postfix/src/postalias/postalias.c:759,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postalias/postalias.c:760,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/postalias/postalias.c:766,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/postalias/postalias.c:773,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/postalias/postalias.c:775,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/postalias/postalias.c:776,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/postalias/postalias.c:776,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/postalias/postalias.c:786,1
    - Dst: usage
      Src: /src/postfix/postfix/src/postalias/postalias.c:789,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/postalias/postalias.c:796,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postalias/postalias.c:797,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postalias/postalias.c:801,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postalias/postalias.c:809,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postalias/postalias.c:825,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postalias/postalias.c:834,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/postalias/postalias.c:849,1
    - Dst: mail_parm_split
      Src: /src/postfix/postfix/src/postalias/postalias.c:851,1
    - Dst: update_env
      Src: /src/postfix/postfix/src/postalias/postalias.c:852,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postalias/postalias.c:853,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/postalias/postalias.c:855,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/postalias/postalias.c:855,1
    - Dst: mail_dict_init
      Src: /src/postfix/postfix/src/postalias/postalias.c:856,1
    - Dst: usage
      Src: /src/postfix/postfix/src/postalias/postalias.c:864,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postalias/postalias.c:865,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postalias/postalias.c:866,1
    - Dst: postalias_deletes
      Src: /src/postfix/postfix/src/postalias/postalias.c:866,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/postalias/postalias.c:870,1
    - Dst: postalias_delete
      Src: /src/postfix/postfix/src/postalias/postalias.c:871,1
    - Dst: postalias_delete
      Src: /src/postfix/postfix/src/postalias/postalias.c:874,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postalias/postalias.c:879,1
    - Dst: usage
      Src: /src/postfix/postfix/src/postalias/postalias.c:882,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postalias/postalias.c:883,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postalias/postalias.c:884,1
    - Dst: postalias_queries
      Src: /src/postfix/postfix/src/postalias/postalias.c:884,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/postalias/postalias.c:887,1
    - Dst: postalias_query
      Src: /src/postfix/postfix/src/postalias/postalias.c:888,1
    - Dst: postalias_query
      Src: /src/postfix/postfix/src/postalias/postalias.c:891,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postalias/postalias.c:895,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postalias/postalias.c:898,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/postalias/postalias.c:901,1
    - Dst: postalias_seq
      Src: /src/postfix/postfix/src/postalias/postalias.c:902,1
    - Dst: postalias_seq
      Src: /src/postfix/postfix/src/postalias/postalias.c:905,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postalias/postalias.c:908,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postalias/postalias.c:910,1
    - Dst: usage
      Src: /src/postfix/postfix/src/postalias/postalias.c:913,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/postalias/postalias.c:915,1
    - Dst: postalias
      Src: /src/postfix/postfix/src/postalias/postalias.c:916,1
    - Dst: postalias
      Src: /src/postfix/postfix/src/postalias/postalias.c:919,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postalias/postalias.c:924,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 138
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 724
    functionDepth: 5
    functionLinenumber: 724
    functionLinenumberEnd: 926
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/postalias/postalias.c
    functionUses: 19
    functionsReached:
    - msg_vstream_init
    - postalias_query
    - open
    - GETOPT
    - postalias_queries
    - postalias
    - setenv
    - maillog_client_init
    - exit
    - postalias_deletes
    - split_at
    - postalias_delete
    - getenv
    - postalias_seq
    - mail_parm_split
    - update_env
    - close
    - mail_task
    - fstat
    - mail_conf_read
    - strrchr
    - mail_dict_init
    - argv_free
    - umask
    - strcmp
    - usage
    - msg_fatal
    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: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/proxymap/proxymap.c
    functionUses: 222
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - 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: 312
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 312
    functionName: VSTREQ
    functionSourceFile: /src/postfix/postfix/src/proxymap/proxymap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREQ(x,y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COUNT_OF
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:327,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - type_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 332
    functionName: get_nested_dict_name
    functionSourceFile: /src/postfix/postfix/src/proxymap/proxymap.c
    functionUses: 0
    functionsReached:
    - strncmp
    - COUNT_OF
    linkageType: ''
    returnType: char
    signature: char *get_nested_dict_name(char *type_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 326
    functionName: COUNT_OF
    functionSourceFile: /src/postfix/postfix/src/proxymap/proxymap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COUNT_OF(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:356,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:359,1
    - Dst: PROXY_MAP_FIND_ERROR_RETURN
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:360,1
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:361,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:362,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:363,1
    - Dst: PROXY_MAP_PARAM_NAME
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:366,1
    - Dst: PROXY_MAP_FIND_ERROR_RETURN
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:367,1
    - Dst: dict_open
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:373,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:377,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:385,1
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:386,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:387,1
    - Dst: CAST_INT_TO_VOID_PTR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:388,1
    - Dst: CAST_ANY_PTR_TO_INT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:390,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - map_type_name
    - inst_flags
    - statp
    argTypes:
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 394
    functionName: proxy_map_find
    functionSourceFile: /src/postfix/postfix/src/proxymap/proxymap.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_warn
    - strchr
    - dict_open
    - htable_create
    - CAST_INT_TO_VOID_PTR
    - CAST_ANY_PTR_TO_INT
    - PROXY_MAP_FIND_ERROR_RETURN
    - PROXY_MAP_PARAM_NAME
    - htable_enter
    - htable_locate
    - strncmp
    linkageType: ''
    returnType: DICT
    signature: "DICT *proxy_map_find(const char *map_type_name, int inst_flags,\n\t\t\t
      \           int *statp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 353
    functionName: PROXY_MAP_FIND_ERROR_RETURN
    functionSourceFile: /src/postfix/postfix/src/proxymap/proxymap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_MAP_FIND_ERROR_RETURN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proxy_writer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 355
    functionName: PROXY_MAP_PARAM_NAME
    functionSourceFile: /src/postfix/postfix/src/proxymap/proxymap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROXY_MAP_PARAM_NAME(proxy_writer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:412,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:413,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:414,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:415,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:416,1
    - Dst: proxy_map_find
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:422,1
    - Dst: STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:422,1
    - Dst: dict_seq
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:427,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:443,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:444,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:445,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:446,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:447,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - client_stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 449
    functionName: proxymap_sequence_service
    functionSourceFile: /src/postfix/postfix/src/proxymap/proxymap.c
    functionUses: 0
    functionsReached:
    - dict_seq
    - SEND_ATTR_INT
    - SEND_ATTR_STR
    - attr_print
    - RECV_ATTR_STR
    - attr_scan
    - proxy_map_find
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: void
    signature: void proxymap_sequence_service(VSTREAM *client_stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:464,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:465,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:466,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:467,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:468,1
    - Dst: proxy_map_find
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:472,1
    - Dst: STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:472,1
    - Dst: dict_get
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:476,1
    - Dst: STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:476,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:490,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:491,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:492,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - client_stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 495
    functionName: proxymap_lookup_service
    functionSourceFile: /src/postfix/postfix/src/proxymap/proxymap.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_INT
    - SEND_ATTR_STR
    - attr_print
    - RECV_ATTR_STR
    - attr_scan
    - proxy_map_find
    - dict_get
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: void
    signature: void proxymap_lookup_service(VSTREAM *client_stream)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:516,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:517,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:518,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:519,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:520,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:521,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:525,1
    - Dst: STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:526,1
    - Dst: proxy_map_find
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:528,1
    - Dst: STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:528,1
    - Dst: dict_put
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:535,1
    - Dst: STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:535,1
    - Dst: STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:535,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:549,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:550,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:551,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - client_stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 553
    functionName: proxymap_update_service
    functionSourceFile: /src/postfix/postfix/src/proxymap/proxymap.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - dict_put
    - SEND_ATTR_INT
    - attr_print
    - RECV_ATTR_STR
    - attr_scan
    - proxy_map_find
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: void
    signature: void proxymap_update_service(VSTREAM *client_stream)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:571,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:572,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:573,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:574,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:575,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:579,1
    - Dst: STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:580,1
    - Dst: proxy_map_find
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:582,1
    - Dst: STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:582,1
    - Dst: dict_del
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:589,1
    - Dst: STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:589,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:603,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:604,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:605,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - client_stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 607
    functionName: proxymap_delete_service
    functionSourceFile: /src/postfix/postfix/src/proxymap/proxymap.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - SEND_ATTR_INT
    - attr_print
    - RECV_ATTR_STR
    - attr_scan
    - dict_del
    - proxy_map_find
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: void
    signature: void proxymap_delete_service(VSTREAM *client_stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:621,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:622,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:623,1
    - Dst: proxy_map_find
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:627,1
    - Dst: STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:627,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:638,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:639,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - client_stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 611
    functionDepth: 2
    functionLinenumber: 611
    functionLinenumberEnd: 642
    functionName: proxymap_open_service
    functionSourceFile: /src/postfix/postfix/src/proxymap/proxymap.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_INT
    - attr_print
    - RECV_ATTR_STR
    - attr_scan
    - proxy_map_find
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: void
    signature: void proxymap_open_service(VSTREAM *client_stream)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:654,1
    - Dst: vstream_fstat
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:659,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:660,1
    - Dst: CA_VSTREAM_CTL_TIMEOUT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:661,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:669,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:672,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:674,1
    - Dst: VSTREQ
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:676,1
    - Dst: proxymap_lookup_service
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:677,1
    - Dst: VSTREQ
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:678,1
    - Dst: proxymap_update_service
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:679,1
    - Dst: VSTREQ
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:680,1
    - Dst: proxymap_delete_service
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:681,1
    - Dst: VSTREQ
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:682,1
    - Dst: proxymap_sequence_service
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:683,1
    - Dst: VSTREQ
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:684,1
    - Dst: proxymap_open_service
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:685,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:687,1
    - Dst: STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:687,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:688,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:689,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:693,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:696,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - client_stream
    - unused_service
    - argv
    argTypes:
    - VSTREAM*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 646
    functionDepth: 3
    functionLinenumber: 646
    functionLinenumberEnd: 697
    functionName: proxymap_service
    functionSourceFile: /src/postfix/postfix/src/proxymap/proxymap.c
    functionUses: 0
    functionsReached:
    - vstream_fstat
    - proxymap_sequence_service
    - CA_VSTREAM_CTL_TIMEOUT
    - proxymap_open_service
    - proxymap_delete_service
    - msg_warn
    - proxymap_lookup_service
    - SEND_ATTR_INT
    - attr_print
    - RECV_ATTR_STR
    - vstream_fflush
    - attr_scan
    - vstream_control
    - STR
    - msg_fatal
    - proxymap_update_service
    - VSTREQ
    linkageType: ''
    returnType: void
    signature: "void proxymap_service(VSTREAM *client_stream, char *unused_service,\n\t\t\t
      \            char **argv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:704,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:706,1
    - Dst: dict_open
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - map
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 709
    functionName: dict_proxy_open
    functionSourceFile: /src/postfix/postfix/src/proxymap/proxymap.c
    functionUses: 0
    functionsReached:
    - dict_open
    - strncmp
    - msg_info
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_proxy_open(const char *map, int open_flags, int dict_flags)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mystrtokq
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:719,1
    - Dst: extpar
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:727,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:728,1
    - Dst: PROXY_MAP_PARAM_NAME
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:729,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:730,1
    - Dst: mystrtokq
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:734,1
    - Dst: get_nested_dict_name
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:738,1
    - Dst: extpar
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:744,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:745,1
    - Dst: PROXY_MAP_PARAM_NAME
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:746,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:747,1
    - Dst: authorize_proxied_maps
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:750,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:753,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:757,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:758,1
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:759,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:760,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:762,1
    - Dst: PROXY_MAP_PARAM_NAME
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:763,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 1
    argNames:
    - bp
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 713
    functionDepth: 2
    functionLinenumber: 713
    functionLinenumberEnd: 766
    functionName: authorize_proxied_maps
    functionSourceFile: /src/postfix/postfix/src/proxymap/proxymap.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - extpar
    - authorize_proxied_maps
    - strchr
    - msg_info
    - myfree
    - PROXY_MAP_PARAM_NAME
    - get_nested_dict_name
    - htable_locate
    - strncmp
    - htable_enter
    - mystrtokq
    linkageType: ''
    returnType: void
    signature: void authorize_proxied_maps(char *bp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:777,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:779,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:780,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:788,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:789,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:790,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:791,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:792,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:797,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:799,1
    - Dst: authorize_proxied_maps
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:800,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:801,1
    - Dst: setsid
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - service_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 770
    functionDepth: 3
    functionLinenumber: 770
    functionLinenumberEnd: 809
    functionName: post_jail_init
    functionSourceFile: /src/postfix/postfix/src/proxymap/proxymap.c
    functionUses: 0
    functionsReached:
    - authorize_proxied_maps
    - setsid
    - htable_create
    - vstring_alloc
    - myfree
    - strcmp
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: void
    signature: void post_jail_init(char *service_name, char **unused_argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_changed_name
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:817,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:818,1
    - Dst: exit
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:819,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 821
    functionName: pre_accept
    functionSourceFile: /src/postfix/postfix/src/proxymap/proxymap.c
    functionUses: 0
    functionsReached:
    - dict_changed_name
    - exit
    - msg_info
    linkageType: ''
    returnType: void
    signature: void pre_accept(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: attr_print
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:832,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:833,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - stream
    - unused_name
    - unused_argv
    - unused_attr
    argTypes:
    - VSTREAM*
    - char*
    - char**
    - HTABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 836
    functionName: post_accept
    functionSourceFile: /src/postfix/postfix/src/proxymap/proxymap.c
    functionUses: 2
    functionsReached:
    - SEND_ATTR_STR
    - attr_print
    - vstream_fflush
    linkageType: ''
    returnType: void
    signature: "void post_accept(VSTREAM *stream, char *unused_name, char **unused_argv,\n\t\t\t
      \       HTABLE *unused_attr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: multi_server_main
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:901,1
    - Dst: CA_MAIL_SERVER_STR_TABLE
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:902,1
    - Dst: CA_MAIL_SERVER_POST_INIT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:903,1
    - Dst: CA_MAIL_SERVER_PRE_ACCEPT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:904,1
    - Dst: CA_MAIL_SERVER_POST_ACCEPT
      Src: /src/postfix/postfix/src/proxymap/proxymap.c:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 842
    functionDepth: 1
    functionLinenumber: 842
    functionLinenumberEnd: 908
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/proxymap/proxymap.c
    functionUses: 20
    functionsReached:
    - multi_server_main
    - CA_MAIL_SERVER_PRE_ACCEPT
    - CA_MAIL_SERVER_STR_TABLE
    - CA_MAIL_SERVER_POST_INIT
    - CA_MAIL_SERVER_POST_ACCEPT
    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: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/postlogd/postlogd.c
    functionUses: 229
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/postlogd/postlogd.c
    functionUses: 63
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logwriter_write
      Src: /src/postfix/postfix/src/postlogd/postlogd.c:147,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postlogd/postlogd.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: postlogd_fallback
    functionSourceFile: /src/postfix/postfix/src/postlogd/postlogd.c
    functionUses: 0
    functionsReached:
    - logwriter_write
    - strlen
    linkageType: ''
    returnType: void
    signature: void postlogd_fallback(const char *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/postfix/postfix/src/postlogd/postlogd.c:158,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postlogd/postlogd.c:159,1
    - Dst: logwriter_write
      Src: /src/postfix/postfix/src/postlogd/postlogd.c:163,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/postlogd/postlogd.c:182,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/postlogd/postlogd.c:183,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/postlogd/postlogd.c:184,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/postlogd/postlogd.c:185,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/postlogd/postlogd.c:186,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/postlogd/postlogd.c:187,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/postlogd/postlogd.c:189,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postlogd/postlogd.c:190,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/postlogd/postlogd.c:199,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/postlogd/postlogd.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - sock
    - unused_service
    - unused_argv
    argTypes:
    - int
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 201
    functionName: postlogd_service
    functionSourceFile: /src/postfix/postfix/src/postlogd/postlogd.c
    functionUses: 0
    functionsReached:
    - logwriter_write
    - msg_warn
    - maillog_client_init
    - strspn
    - recv
    - mail_task
    - msg_info
    - mystrtok
    linkageType: ''
    returnType: void
    signature: "void postlogd_service(int sock, char *unused_service,\n\t\t\t             char
      **unused_argv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postlogd/postlogd.c:220,1
    - Dst: logwriter_open_or_die
      Src: /src/postfix/postfix/src/postlogd/postlogd.c:233,1
    - Dst: msg_logger_control
      Src: /src/postfix/postfix/src/postlogd/postlogd.c:239,1
    - Dst: CA_MSG_LOGGER_CTL_FALLBACK_FN
      Src: /src/postfix/postfix/src/postlogd/postlogd.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - unused_service_name
    - argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 243
    functionName: pre_jail_init
    functionSourceFile: /src/postfix/postfix/src/postlogd/postlogd.c
    functionUses: 3
    functionsReached:
    - msg_logger_control
    - msg_fatal
    - logwriter_open_or_die
    - CA_MSG_LOGGER_CTL_FALLBACK_FN
    linkageType: ''
    returnType: void
    signature: void pre_jail_init(char *unused_service_name, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 255
    functionName: post_jail_init
    functionSourceFile: /src/postfix/postfix/src/postlogd/postlogd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void post_jail_init(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dgram_server_main
      Src: /src/postfix/postfix/src/postlogd/postlogd.c:281,1
    - Dst: CA_MAIL_SERVER_TIME_TABLE
      Src: /src/postfix/postfix/src/postlogd/postlogd.c:282,1
    - Dst: CA_MAIL_SERVER_PRE_INIT
      Src: /src/postfix/postfix/src/postlogd/postlogd.c:283,1
    - Dst: CA_MAIL_SERVER_POST_INIT
      Src: /src/postfix/postfix/src/postlogd/postlogd.c:284,1
    - Dst: CA_MAIL_SERVER_WATCHDOG
      Src: /src/postfix/postfix/src/postlogd/postlogd.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 288
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/postlogd/postlogd.c
    functionUses: 21
    functionsReached:
    - dgram_server_main
    - CA_MAIL_SERVER_POST_INIT
    - CA_MAIL_SERVER_TIME_TABLE
    - CA_MAIL_SERVER_PRE_INIT
    - CA_MAIL_SERVER_WATCHDOG
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: name_mask
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:99,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:110,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:111,1
    - Dst: mail_addr_double_bounce
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:111,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:112,1
    - Dst: bounce_mail_init
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:117,1
    - Dst: dsb_create
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:126,1
    - Dst: rcpb_create
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:127,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:129,1
    - Dst: DSN_FROM_DSN_BUF
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:130,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:131,1
    - Dst: RECIPIENT_FROM_RCPT_BUF
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:132,1
    - Dst: bounce_one_service
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:133,1
    - Dst: rcpb_free
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:137,1
    - Dst: dsb_free
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:138,1
    - Dst: bounce_mail_free
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:139,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:149,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:150,1
    - Dst: bounce_log_read
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:151,1
    - Dst: verp_sender
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:165,1
    - Dst: post_mail_fopen_nowait
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:166,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:166,1
    - Dst: bounce_header
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:177,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:177,1
    - Dst: bounce_boilerplate
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:179,1
    - Dst: bounce_recipient_log
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:180,1
    - Dst: bounce_header_dsn
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:181,1
    - Dst: bounce_recipient_dsn
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:182,1
    - Dst: bounce_original
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:183,1
    - Dst: post_mail_fclose
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:185,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:187,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:188,1
    - Dst: bounce_delrcpt_one
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:203,1
    - Dst: post_mail_fopen_nowait
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:225,1
    - Dst: mail_addr_double_bounce
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:225,1
    - Dst: bounce_header
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:231,1
    - Dst: bounce_recipient_log
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:233,1
    - Dst: bounce_header_dsn
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:234,1
    - Dst: bounce_recipient_dsn
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:235,1
    - Dst: bounce_original
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:236,1
    - Dst: post_mail_fclose
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:237,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:239,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:240,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:245,1
    - Dst: mail_queue_remove
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:255,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:257,1
    - Dst: bounce_mail_free
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:262,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:263,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/bounce/bounce_notify_verp.c:264,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 57
    argCount: 11
    argNames:
    - flags
    - service
    - queue_name
    - queue_id
    - encoding
    - sendopts
    - recipient
    - dsn_envid
    - dsn_ret
    - verp_delims
    - ts
    argTypes:
    - int
    - char*
    - char*
    - char*
    - char*
    - int
    - char*
    - char*
    - int
    - char*
    - BOUNCE_TEMPLATES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 88
    functionDepth: 4
    functionLinenumber: 88
    functionLinenumberEnd: 267
    functionName: bounce_notify_verp
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_verp.c
    functionUses: 0
    functionsReached:
    - bounce_log_read
    - bounce_original
    - msg_info
    - bounce_recipient_dsn
    - bounce_mail_free
    - mail_queue_remove
    - dsb_simple
    - msg_fatal
    - msg_panic
    - post_mail_fclose
    - RECIPIENT_FROM_RCPT_BUF
    - vstring_alloc
    - bounce_header
    - strcasecmp_utf8
    - bounce_recipient_log
    - bounce_header_dsn
    - DSN_FROM_DSN_BUF
    - post_mail_fopen_nowait
    - name_mask
    - rcpb_create
    - rcpb_free
    - mail_addr_double_bounce
    - bounce_mail_init
    - vstring_free
    - verp_sender
    - msg_warn
    - bounce_one_service
    - bounce_delrcpt_one
    - dsb_create
    - vstring_strcpy
    - dsb_free
    - bounce_boilerplate
    - STR
    linkageType: ''
    returnType: int
    signature: "int bounce_notify_verp(int flags, char *service, char *queue_name,\n\t\t\t
      \          char *queue_id, char *encoding,\n\t\t\t           int sendopts, char
      *recipient,\n\t\t\t           char *dsn_envid, int dsn_ret,\n\t\t\t           char
      *verp_delims, BOUNCE_TEMPLATES *ts)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: name_mask
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:95,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:97,1
    - Dst: bounce_mail_init
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:123,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:149,1
    - Dst: mail_addr_double_bounce
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:149,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:150,1
    - Dst: post_mail_fopen_nowait
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:167,1
    - Dst: mail_addr_double_bounce
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:167,1
    - Dst: bounce_header
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:181,1
    - Dst: bounce_diagnostic_log
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:183,1
    - Dst: bounce_header_dsn
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:185,1
    - Dst: bounce_diagnostic_dsn
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:186,1
    - Dst: bounce_original
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:188,1
    - Dst: post_mail_fclose
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:189,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:191,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:192,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:194,1
    - Dst: if
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:207,1
    - Dst: post_mail_fopen_nowait
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:207,1
    - Dst: bounce_header
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:219,1
    - Dst: bounce_boilerplate
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:221,1
    - Dst: bounce_diagnostic_log
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:222,1
    - Dst: bounce_header_dsn
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:224,1
    - Dst: bounce_diagnostic_dsn
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:225,1
    - Dst: post_mail_fclose
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:228,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:230,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_warn_service.c:231,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 10
    argNames:
    - unused_flags
    - service
    - queue_name
    - queue_id
    - encoding
    - sendopts
    - recipient
    - dsn_envid
    - dsn_ret
    - ts
    argTypes:
    - int
    - char*
    - char*
    - char*
    - char*
    - int
    - char*
    - char*
    - int
    - BOUNCE_TEMPLATES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 237
    functionName: bounce_warn_service
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_warn_service.c
    functionUses: 0
    functionsReached:
    - bounce_header_dsn
    - msg_warn
    - post_mail_fopen_nowait
    - post_mail_fclose
    - name_mask
    - bounce_original
    - bounce_diagnostic_log
    - mail_addr_double_bounce
    - vstring_alloc
    - bounce_header
    - msg_info
    - vstream_fclose
    - if
    - bounce_diagnostic_dsn
    - bounce_boilerplate
    - bounce_mail_init
    - strcasecmp_utf8
    - STR
    linkageType: ''
    returnType: int
    signature: "int bounce_warn_service(int unused_flags, char *service, char *queue_name,\n\t\t\t
      \           char *queue_id, char *encoding,\n\t\t\t            int sendopts,
      char *recipient,\n\t\t\t            char *dsn_envid, int dsn_ret,\n\t\t\t            BOUNCE_TEMPLATES
      *ts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c
    functionUses: 231
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c
    functionUses: 63
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:58,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:60,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:61,1
    - Dst: hfrom_format_parse
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:64,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:69,1
    - Dst: vstream_memopen
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:70,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:71,1
    - Dst: bounce_templates_create
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:72,1
    - Dst: bounce_mail_init
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:73,1
    - Dst: bounce_header
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:76,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:78,1
    - Dst: bounce_diagnostic_log
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:79,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:81,1
    - Dst: bounce_header_dsn
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:82,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:83,1
    - Dst: bounce_diagnostic_dsn
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:84,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:86,1
    - Dst: bounce_original
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:87,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:88,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:89,1
    - Dst: bounce_mail_free
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:90,1
    - Dst: vstream_memopen
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:95,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:96,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:97,1
    - Dst: rec_get
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:98,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:101,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:101,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:101,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:104,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:104,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:104,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:107,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:109,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:111,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:112,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:113,1
    - Dst: exit
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:118,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 119
    functionName: test_driver
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c
    functionUses: 1
    functionsReached:
    - bounce_original
    - LEN
    - bounce_mail_free
    - bounce_diagnostic_dsn
    - msg_panic
    - hfrom_format_parse
    - vstream_fflush
    - vstring_alloc
    - chdir
    - vstream_memopen
    - bounce_header
    - exit
    - rec_get
    - bounce_header_dsn
    - bounce_templates_create
    - vstream_printf
    - bounce_mail_init
    - vstring_free
    - vstream_fclose
    - msg_fatal
    - bounce_diagnostic_log
    - STR
    linkageType: ''
    returnType: void
    signature: void test_driver(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_main
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:159,1
    - Dst: CA_TEST_MAIN_INT_TABLE
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:160,1
    - Dst: CA_TEST_MAIN_STR_TABLE
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:161,1
    - Dst: CA_TEST_MAIN_TIME_TABLE
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:162,1
    - Dst: CA_TEST_MAIN_NBOOL_TABLE
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:163,1
    - Dst: exit
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 134
    functionDepth: 5
    functionLinenumber: 134
    functionLinenumberEnd: 167
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c
    functionUses: 22
    functionsReached:
    - test_main
    - exit
    - CA_TEST_MAIN_STR_TABLE
    - CA_TEST_MAIN_TIME_TABLE
    - CA_TEST_MAIN_INT_TABLE
    - CA_TEST_MAIN_NBOOL_TABLE
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: VS_NEUTER
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VS_NEUTER(s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mail_command_server
      Src: /src/postfix/postfix/src/bounce/bounce.c:258,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/bounce/bounce.c:259,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:260,1
    - Dst: RECV_ATTR_FUNC
      Src: /src/postfix/postfix/src/bounce/bounce.c:261,1
    - Dst: RECV_ATTR_FUNC
      Src: /src/postfix/postfix/src/bounce/bounce.c:262,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce.c:264,1
    - Dst: mail_queue_id_ok
      Src: /src/postfix/postfix/src/bounce/bounce.c:271,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:271,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce.c:272,1
    - Dst: printable
      Src: /src/postfix/postfix/src/bounce/bounce.c:272,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:272,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:275,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:276,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:277,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:278,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:279,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:280,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:281,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:282,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:283,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:284,1
    - Dst: RECIPIENT_FROM_RCPT_BUF
      Src: /src/postfix/postfix/src/bounce/bounce.c:285,1
    - Dst: DSN_FROM_DSN_BUF
      Src: /src/postfix/postfix/src/bounce/bounce.c:286,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/bounce/bounce.c:294,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:295,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:296,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:296,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:297,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:298,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:299,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:299,1
    - Dst: bounce_cleanup_register
      Src: /src/postfix/postfix/src/bounce/bounce.c:306,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:306,1
    - Dst: bounce_append_service
      Src: /src/postfix/postfix/src/bounce/bounce.c:311,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - service_name
    - client
    argTypes:
    - char*
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 313
    functionName: bounce_append_proto
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce.c
    functionUses: 0
    functionsReached:
    - printable
    - VS_NEUTER
    - msg_warn
    - DSN_FROM_DSN_BUF
    - RECV_ATTR_FUNC
    - bounce_cleanup_register
    - RECIPIENT_FROM_RCPT_BUF
    - RECV_ATTR_STR
    - mail_command_server
    - msg_info
    - bounce_append_service
    - mail_queue_id_ok
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: int
    signature: int bounce_append_proto(char *service_name, VSTREAM *client)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mail_command_server
      Src: /src/postfix/postfix/src/bounce/bounce.c:330,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/bounce/bounce.c:331,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:332,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:333,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:334,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/bounce/bounce.c:335,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:336,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:337,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/bounce/bounce.c:338,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce.c:340,1
    - Dst: mail_queue_name_ok
      Src: /src/postfix/postfix/src/bounce/bounce.c:347,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:347,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce.c:348,1
    - Dst: printable
      Src: /src/postfix/postfix/src/bounce/bounce.c:348,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:348,1
    - Dst: mail_queue_id_ok
      Src: /src/postfix/postfix/src/bounce/bounce.c:351,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:351,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce.c:352,1
    - Dst: printable
      Src: /src/postfix/postfix/src/bounce/bounce.c:352,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:352,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:355,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:356,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:357,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/bounce/bounce.c:359,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:360,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:360,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:361,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:361,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:361,1
    - Dst: bounce_cleanup_register
      Src: /src/postfix/postfix/src/bounce/bounce.c:369,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:369,1
    - Dst: service
      Src: /src/postfix/postfix/src/bounce/bounce.c:374,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:374,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:375,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:375,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:376,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - service_name
    - client
    argTypes:
    - char*
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 378
    functionName: bounce_notify_proto
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce.c
    functionUses: 0
    functionsReached:
    - printable
    - VS_NEUTER
    - msg_warn
    - bounce_cleanup_register
    - RECV_ATTR_STR
    - mail_command_server
    - msg_info
    - service
    - mail_queue_id_ok
    - mail_queue_name_ok
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: int
    signature: "int bounce_notify_proto(char *service_name, VSTREAM *client,\n\t\t\t
      \       int (*service) (int, char *, char *, char *,\n\t\t\t\t           char
      *, int, char *, char *, int,\n\t\t\t\t\t\t        BOUNCE_TEMPLATES *))"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mail_command_server
      Src: /src/postfix/postfix/src/bounce/bounce.c:392,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/bounce/bounce.c:393,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:394,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:395,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:396,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/bounce/bounce.c:397,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:398,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:399,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/bounce/bounce.c:400,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:401,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce.c:403,1
    - Dst: mail_queue_name_ok
      Src: /src/postfix/postfix/src/bounce/bounce.c:410,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:410,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce.c:411,1
    - Dst: printable
      Src: /src/postfix/postfix/src/bounce/bounce.c:411,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:411,1
    - Dst: mail_queue_id_ok
      Src: /src/postfix/postfix/src/bounce/bounce.c:414,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:414,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce.c:415,1
    - Dst: printable
      Src: /src/postfix/postfix/src/bounce/bounce.c:415,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:415,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:418,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:419,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:420,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:421,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/bounce/bounce.c:422,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:422,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce.c:423,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:423,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/bounce/bounce.c:427,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:428,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:429,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:429,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:429,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:430,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:430,1
    - Dst: bounce_cleanup_register
      Src: /src/postfix/postfix/src/bounce/bounce.c:437,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:437,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:443,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/bounce/bounce.c:443,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:443,1
    - Dst: mail_addr_double_bounce
      Src: /src/postfix/postfix/src/bounce/bounce.c:444,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce.c:445,1
    - Dst: bounce_notify_service
      Src: /src/postfix/postfix/src/bounce/bounce.c:446,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:446,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:447,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:447,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:448,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:448,1
    - Dst: bounce_notify_verp
      Src: /src/postfix/postfix/src/bounce/bounce.c:451,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:451,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:452,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:452,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:453,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:453,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:454,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - service_name
    - client
    argTypes:
    - char*
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 382
    functionDepth: 5
    functionLinenumber: 382
    functionLinenumberEnd: 455
    functionName: bounce_verp_proto
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce.c
    functionUses: 0
    functionsReached:
    - printable
    - VS_NEUTER
    - msg_warn
    - bounce_notify_service
    - strlen
    - bounce_cleanup_register
    - RECV_ATTR_STR
    - mail_command_server
    - msg_info
    - mail_addr_double_bounce
    - bounce_notify_verp
    - mail_queue_id_ok
    - mail_queue_name_ok
    - strcasecmp_utf8
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: int
    signature: int bounce_verp_proto(char *service_name, VSTREAM *client)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mail_command_server
      Src: /src/postfix/postfix/src/bounce/bounce.c:469,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/bounce/bounce.c:470,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:471,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:472,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:473,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/bounce/bounce.c:474,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:475,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:476,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/bounce/bounce.c:477,1
    - Dst: RECV_ATTR_FUNC
      Src: /src/postfix/postfix/src/bounce/bounce.c:478,1
    - Dst: RECV_ATTR_FUNC
      Src: /src/postfix/postfix/src/bounce/bounce.c:479,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce.c:481,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/bounce/bounce.c:488,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce.c:489,1
    - Dst: mail_queue_name_ok
      Src: /src/postfix/postfix/src/bounce/bounce.c:493,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:493,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce.c:494,1
    - Dst: printable
      Src: /src/postfix/postfix/src/bounce/bounce.c:494,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:494,1
    - Dst: mail_queue_id_ok
      Src: /src/postfix/postfix/src/bounce/bounce.c:497,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:497,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce.c:498,1
    - Dst: printable
      Src: /src/postfix/postfix/src/bounce/bounce.c:498,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:498,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:501,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:502,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:503,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:504,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:505,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:506,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:507,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:508,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:509,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:510,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:511,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:512,1
    - Dst: VS_NEUTER
      Src: /src/postfix/postfix/src/bounce/bounce.c:513,1
    - Dst: RECIPIENT_FROM_RCPT_BUF
      Src: /src/postfix/postfix/src/bounce/bounce.c:514,1
    - Dst: DSN_FROM_DSN_BUF
      Src: /src/postfix/postfix/src/bounce/bounce.c:515,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/bounce/bounce.c:523,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:524,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:524,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:525,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:525,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:525,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:526,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:526,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:527,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:528,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:529,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:529,1
    - Dst: bounce_one_service
      Src: /src/postfix/postfix/src/bounce/bounce.c:534,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:534,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:534,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:535,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:535,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:536,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 2
    argNames:
    - service_name
    - client
    argTypes:
    - char*
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 538
    functionName: bounce_one_proto
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce.c
    functionUses: 0
    functionsReached:
    - printable
    - VS_NEUTER
    - msg_warn
    - DSN_FROM_DSN_BUF
    - RECV_ATTR_FUNC
    - bounce_one_service
    - RECIPIENT_FROM_RCPT_BUF
    - RECV_ATTR_STR
    - mail_command_server
    - msg_info
    - strcmp
    - mail_queue_id_ok
    - mail_queue_name_ok
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: int
    signature: int bounce_one_proto(char *service_name, VSTREAM *client)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce.c:552,1
    - Dst: mail_queue_name_ok
      Src: /src/postfix/postfix/src/bounce/bounce.c:553,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce.c:554,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/bounce/bounce.c:559,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/bounce/bounce.c:560,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/bounce/bounce.c:562,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/bounce/bounce.c:568,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/bounce/bounce.c:569,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce.c:570,1
    - Dst: bounce_verp_proto
      Src: /src/postfix/postfix/src/bounce/bounce.c:573,1
    - Dst: bounce_notify_proto
      Src: /src/postfix/postfix/src/bounce/bounce.c:575,1
    - Dst: bounce_notify_proto
      Src: /src/postfix/postfix/src/bounce/bounce.c:578,1
    - Dst: bounce_notify_proto
      Src: /src/postfix/postfix/src/bounce/bounce.c:581,1
    - Dst: bounce_append_proto
      Src: /src/postfix/postfix/src/bounce/bounce.c:584,1
    - Dst: bounce_one_proto
      Src: /src/postfix/postfix/src/bounce/bounce.c:586,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce.c:588,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/bounce/bounce.c:596,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/bounce/bounce.c:597,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/bounce/bounce.c:599,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/bounce/bounce.c:607,1
    - Dst: bounce_cleanup_log
      Src: /src/postfix/postfix/src/bounce/bounce.c:608,1
    - Dst: bounce_cleanup_unregister
      Src: /src/postfix/postfix/src/bounce/bounce.c:609,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 3
    argNames:
    - client
    - service_name
    - argv
    argTypes:
    - VSTREAM*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 542
    functionDepth: 6
    functionLinenumber: 542
    functionLinenumberEnd: 611
    functionName: bounce_service
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - bounce_notify_proto
    - bounce_one_proto
    - SEND_ATTR_STR
    - SEND_ATTR_INT
    - attr_print
    - vstream_fflush
    - vstream_ferror
    - attr_scan
    - bounce_cleanup_log
    - bounce_cleanup_unregister
    - bounce_verp_proto
    - mail_queue_name_ok
    - msg_fatal
    - RECV_ATTR_INT
    - bounce_append_proto
    linkageType: ''
    returnType: void
    signature: void bounce_service(VSTREAM *client, char *service_name, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bounce_templates_load
      Src: /src/postfix/postfix/src/bounce/bounce.c:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - context
    argTypes:
    - VSTREAM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 618
    functionName: load_helper
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce.c
    functionUses: 0
    functionsReached:
    - bounce_templates_load
    linkageType: ''
    returnType: void
    signature: void load_helper(VSTREAM *stream, void *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bounce_templates_create
      Src: /src/postfix/postfix/src/bounce/bounce.c:628,1
    - Dst: load_file
      Src: /src/postfix/postfix/src/bounce/bounce.c:635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 636
    functionName: pre_jail_init
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce.c
    functionUses: 3
    functionsReached:
    - bounce_templates_create
    - load_file
    linkageType: ''
    returnType: void
    signature: void pre_jail_init(char *unused_name, char **unused_argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hfrom_format_parse
      Src: /src/postfix/postfix/src/bounce/bounce.c:642,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/bounce/bounce.c:650,1
    - Dst: bounce_templates_dump
      Src: /src/postfix/postfix/src/bounce/bounce.c:651,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/bounce/bounce.c:652,1
    - Dst: exit
      Src: /src/postfix/postfix/src/bounce/bounce.c:653,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/bounce/bounce.c:655,1
    - Dst: bounce_templates_expand
      Src: /src/postfix/postfix/src/bounce/bounce.c:656,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/bounce/bounce.c:657,1
    - Dst: exit
      Src: /src/postfix/postfix/src/bounce/bounce.c:658,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/bounce/bounce.c:665,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/bounce/bounce.c:666,1
    - Dst: rcpb_create
      Src: /src/postfix/postfix/src/bounce/bounce.c:667,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/bounce/bounce.c:668,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/bounce/bounce.c:669,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/bounce/bounce.c:670,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/bounce/bounce.c:671,1
    - Dst: dsb_create
      Src: /src/postfix/postfix/src/bounce/bounce.c:672,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - service_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 640
    functionDepth: 2
    functionLinenumber: 640
    functionLinenumberEnd: 673
    functionName: post_jail_init
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce.c
    functionUses: 0
    functionsReached:
    - hfrom_format_parse
    - rcpb_create
    - vstream_fflush
    - exit
    - vstring_alloc
    - dsb_create
    - strcmp
    - bounce_templates_dump
    - bounce_templates_expand
    linkageType: ''
    returnType: void
    signature: void post_jail_init(char *service_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: single_server_main
      Src: /src/postfix/postfix/src/bounce/bounce.c:712,1
    - Dst: CA_MAIL_SERVER_INT_TABLE
      Src: /src/postfix/postfix/src/bounce/bounce.c:713,1
    - Dst: CA_MAIL_SERVER_STR_TABLE
      Src: /src/postfix/postfix/src/bounce/bounce.c:714,1
    - Dst: CA_MAIL_SERVER_TIME_TABLE
      Src: /src/postfix/postfix/src/bounce/bounce.c:715,1
    - Dst: CA_MAIL_SERVER_NBOOL_TABLE
      Src: /src/postfix/postfix/src/bounce/bounce.c:716,1
    - Dst: CA_MAIL_SERVER_PRE_INIT
      Src: /src/postfix/postfix/src/bounce/bounce.c:717,1
    - Dst: CA_MAIL_SERVER_POST_INIT
      Src: /src/postfix/postfix/src/bounce/bounce.c:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 721
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce.c
    functionUses: 23
    functionsReached:
    - CA_MAIL_SERVER_STR_TABLE
    - single_server_main
    - CA_MAIL_SERVER_POST_INIT
    - CA_MAIL_SERVER_NBOOL_TABLE
    - CA_MAIL_SERVER_INT_TABLE
    - CA_MAIL_SERVER_TIME_TABLE
    - CA_MAIL_SERVER_PRE_INIT
    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: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: STRING_AND_LEN
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_template.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRING_AND_LEN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_template.c
    functionUses: 237
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - BOUNCE_TEMPLATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 239
    functionName: bounce_template_create
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_template.c
    functionUses: 0
    functionsReached:
    - mymalloc
    linkageType: ''
    returnType: BOUNCE_TEMPLATE
    signature: BOUNCE_TEMPLATE *bounce_template_create(const BOUNCE_TEMPLATE *prototype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:246,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:247,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tp
    argTypes:
    - BOUNCE_TEMPLATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: bounce_template_free
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_template.c
    functionUses: 0
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void bounce_template_free(BOUNCE_TEMPLATE *tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:256,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tp
    argTypes:
    - BOUNCE_TEMPLATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 259
    functionName: bounce_template_reset
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_template.c
    functionUses: 0
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void bounce_template_reset(BOUNCE_TEMPLATE *tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bounce_template_reset
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:271,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:279,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - tp
    - origin
    - buffer
    argTypes:
    - BOUNCE_TEMPLATE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 282
    functionName: bounce_template_load
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_template.c
    functionUses: 0
    functionsReached:
    - mystrdup
    - bounce_template_reset
    linkageType: ''
    returnType: void
    signature: "void bounce_template_load(BOUNCE_TEMPLATE *tp, const char *origin,\n\t\t\t
      \            const char *buffer)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:300,1
    - Dst: GETLINE
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:321,1
    - Dst: is_header
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:321,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:322,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:325,1
    - Dst: CLEANUP_AND_RETURN
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:328,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:330,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:331,1
    - Dst: CLEANUP_AND_RETURN
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:334,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:336,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:338,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:340,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:342,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:344,1
    - Dst: CLEANUP_AND_RETURN
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:347,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:351,1
    - Dst: CLEANUP_AND_RETURN
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:354,1
    - Dst: allspace
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:361,1
    - Dst: GETLINE
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:362,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:364,1
    - Dst: CLEANUP_AND_RETURN
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:367,1
    - Dst: NON_ASCII
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:376,1
    - Dst: NON_ASCII
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:376,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:377,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:378,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:380,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:381,1
    - Dst: CLEANUP_AND_RETURN
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:382,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:392,1
    - Dst: myrealloc
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:396,1
    - Dst: GETLINE
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:400,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 1
    argNames:
    - tp
    argTypes:
    - BOUNCE_TEMPLATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 404
    functionName: bounce_template_parse_buffer
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_template.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - CLEANUP_AND_RETURN
    - msg_warn
    - ISSPACE
    - is_header
    - myrealloc
    - strcasecmp
    - GETLINE
    - allspace
    - NON_ASCII
    - mymalloc
    - allascii
    linkageType: ''
    returnType: void
    signature: void bounce_template_parse_buffer(BOUNCE_TEMPLATE *tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: CLEANUP_AND_RETURN
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_template.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEANUP_AND_RETURN()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - line
    - ','
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: GETLINE
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_template.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETLINE(line, buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 375
    functionName: NON_ASCII
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_template.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NON_ASCII(p)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:425,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:428,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:431,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:434,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:436,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:438,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:441,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:443,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:446,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:447,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:448,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:451,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:464,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:466,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:467,1
    - Dst: midna_domain_to_utf8
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:471,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:472,1
    - Dst: mail_conf_lookup_eval
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:483,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 3
    argNames:
    - key
    - unused_mode
    - context
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 484
    functionName: bounce_template_lookup
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_template.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - vstring_sprintf
    - midna_domain_to_utf8
    - mail_conf_lookup_eval
    - vstring_alloc
    - strcmp
    - strncmp
    - msg_fatal
    - allascii
    - STR
    linkageType: ''
    returnType: char
    signature: "char *bounce_template_lookup(const char *key, int unused_mode,\n\t\t\t\t\t
      \         void *context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bounce_template_parse_buffer
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:494,1
    - Dst: out_fn
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:496,1
    - Dst: out_fn
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:498,1
    - Dst: out_fn
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - out_fn
    - fp
    - tp
    - rcpt
    - postmaster_copy
    argTypes:
    - BOUNCE_XP_PRN_FN
    - VSTREAM*
    - BOUNCE_TEMPLATE*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 501
    functionName: bounce_template_headers
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_template.c
    functionUses: 0
    functionsReached:
    - out_fn
    - bounce_template_parse_buffer
    linkageType: ''
    returnType: void
    signature: "void bounce_template_headers(BOUNCE_XP_PRN_FN out_fn, VSTREAM *fp,\n\t\t\t\t
      \       BOUNCE_TEMPLATE *tp,\n\t\t\t\t        const char *rcpt,\n\t\t\t\t        int
      postmaster_copy)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:508,1
    - Dst: bounce_template_parse_buffer
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:513,1
    - Dst: mac_expand
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:516,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:519,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:522,1
    - Dst: out_fn
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:524,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:524,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - out_fn
    - fp
    - tp
    argTypes:
    - BOUNCE_XP_PUT_FN
    - VSTREAM*
    - BOUNCE_TEMPLATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 527
    functionName: bounce_template_expand
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_template.c
    functionUses: 0
    functionsReached:
    - bounce_template_parse_buffer
    - vstring_alloc
    - mac_expand
    - out_fn
    - msg_fatal
    - vstring_free
    - STR
    linkageType: ''
    returnType: void
    signature: "void bounce_template_expand(BOUNCE_XP_PUT_FN out_fn, VSTREAM *fp,\n\t\t\t
      \              BOUNCE_TEMPLATE *tp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bounce_template_parse_buffer
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:536,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:538,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:539,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:541,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:543,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:545,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_template.c:547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - fp
    - tp
    argTypes:
    - VSTREAM*
    - BOUNCE_TEMPLATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 548
    functionName: bounce_template_dump
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_template.c
    functionUses: 0
    functionsReached:
    - bounce_template_parse_buffer
    - vstream_fprintf
    linkageType: ''
    returnType: void
    signature: void bounce_template_dump(VSTREAM *fp, BOUNCE_TEMPLATE *tp)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:246,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:255,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:257,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:260,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:261,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:270,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:271,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:275,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:284,1
    - Dst: translit
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:285,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:293,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:294,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:295,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:295,1
    - Dst: mail_queue_open
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:305,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:308,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:321,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:321,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:323,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:324,1
    - Dst: rec_get
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:326,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:333,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:333,1
    - Dst: atol
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:347,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:347,1
    - Dst: quote_822_local_flags
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:355,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:356,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:357,1
    - Dst: mail_addr_mail_daemon
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:358,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:367,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:368,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:370,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:379,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:383,1
    - Dst: extpar
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:385,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:386,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:388,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:390,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:400,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:402,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:411,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 85
    argCount: 9
    argNames:
    - service
    - queue_name
    - queue_id
    - encoding
    - sendopts
    - dsn_envid
    - rcpt_buf
    - dsn_buf
    - log_handle
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - int
    - char*
    - RCPT_BUF*
    - DSN_BUF*
    - BOUNCE_LOG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 223
    functionDepth: 4
    functionLinenumber: 223
    functionLinenumberEnd: 421
    functionName: bounce_mail_alloc
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - VSTRING_LEN
    - mail_addr_mail_daemon
    - mail_queue_open
    - translit
    - VSTREAM_PATH
    - vstring_alloc
    - sscanf
    - rec_get
    - quote_822_local_flags
    - mymalloc
    - myflock
    - extpar
    - myfree
    - atol
    - strncmp
    - msg_warn
    - vstream_ftell
    - vstream_fseek
    - event_time
    - strcmp
    - vstream_fileno
    - msg_fatal
    - mystrdup
    - STR
    linkageType: ''
    returnType: BOUNCE_INFO
    signature: "BOUNCE_INFO *bounce_mail_alloc(const char *service,\n\t\t\t\t              const
      char *queue_name,\n\t\t\t\t              const char *queue_id,\n\t\t\t\t              const
      char *encoding,\n\t\t\t\t              int sendopts,\n\t\t\t\t              const
      char *dsn_envid,\n\t\t\t\t              RCPT_BUF *rcpt_buf,\n\t\t\t\t              DSN_BUF
      *dsn_buf,\n\t\t\t\t              BOUNCE_TEMPLATE *template,\n\t\t\t\t              BOUNCE_LOG
      *log_handle)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bounce_log_open
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:446,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:448,1
    - Dst: rcpb_create
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:452,1
    - Dst: dsb_create
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:453,1
    - Dst: bounce_mail_alloc
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - service
    - queue_name
    - queue_id
    - encoding
    - sendopts
    - dsn_envid
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 425
    functionDepth: 5
    functionLinenumber: 425
    functionLinenumberEnd: 459
    functionName: bounce_mail_init
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util.c
    functionUses: 3
    functionsReached:
    - rcpb_create
    - bounce_log_open
    - dsb_create
    - bounce_mail_alloc
    - msg_fatal
    linkageType: ''
    returnType: BOUNCE_INFO
    signature: "BOUNCE_INFO *bounce_mail_init(const char *service,\n\t\t\t              const
      char *queue_name,\n\t\t\t              const char *queue_id,\n\t\t\t              const
      char *encoding,\n\t\t\t              int sendopts,\n\t\t\t              const
      char *dsn_envid,\n\t\t\t              BOUNCE_TEMPLATE *template)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bounce_mail_alloc
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - queue_name
    - queue_id
    - encoding
    - sendopts
    - dsn_envid
    - rcpt_buf
    - dsn_buf
    argTypes:
    - char*
    - char*
    - char*
    - int
    - char*
    - RCPT_BUF*
    - DSN_BUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 463
    functionDepth: 5
    functionLinenumber: 463
    functionLinenumberEnd: 481
    functionName: bounce_mail_one_init
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util.c
    functionUses: 0
    functionsReached:
    - bounce_mail_alloc
    linkageType: ''
    returnType: BOUNCE_INFO
    signature: "BOUNCE_INFO *bounce_mail_one_init(const char *queue_name,\n\t\t\t\t
      \         const char *queue_id,\n\t\t\t\t          const char *encoding,\n\t\t\t\t
      \         int sendopts,\n\t\t\t\t          const char *dsn_envid,\n\t\t\t\t
      \         RCPT_BUF *rcpt_buf,\n\t\t\t\t          DSN_BUF *dsn_buf,\n\t\t\t\t
      \         BOUNCE_TEMPLATE *template)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bounce_log_close
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:488,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:489,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:491,1
    - Dst: rcpb_free
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:492,1
    - Dst: dsb_free
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:493,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:495,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:496,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:499,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:500,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:501,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:502,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:503,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - bounce_info
    argTypes:
    - BOUNCE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 504
    functionName: bounce_mail_free
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util.c
    functionUses: 2
    functionsReached:
    - bounce_log_close
    - msg_warn
    - rcpb_free
    - vstream_fclose
    - myfree
    - dsb_free
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void bounce_mail_free(BOUNCE_INFO *bounce_info)
  - 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: 518
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 518
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(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: 519
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 519
    functionName: STRNE
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRNE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 570
    functionName: NOT_US_ASCII
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOT_US_ASCII(tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 573
    functionName: NOT_7BIT_MIME
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOT_7BIT_MIME(bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bounce_template_expand
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:600,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bounce
    - bounce_info
    argTypes:
    - VSTREAM*
    - BOUNCE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 594
    functionDepth: 3
    functionLinenumber: 594
    functionLinenumberEnd: 602
    functionName: bounce_boilerplate
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util.c
    functionUses: 2
    functionsReached:
    - vstream_ferror
    - bounce_template_expand
    linkageType: ''
    returnType: int
    signature: int bounce_boilerplate(VSTREAM *bounce, BOUNCE_INFO *bounce_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - str
    - len
    - indent
    - context
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 611
    functionName: bounce_print
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util.c
    functionUses: 0
    functionsReached:
    - post_mail_fprintf
    linkageType: ''
    returnType: void
    signature: void bounce_print(const char *str, int len, int indent, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:623,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:624,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:625,1
    - Dst: line_wrap
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:626,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - bounce
    - bounce_info
    - format
    argTypes:
    - VSTREAM*
    - BOUNCE_INFO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 628
    functionName: bounce_print_wrap
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - line_wrap
    - vstring_vsprintf
    - STR
    linkageType: ''
    returnType: void
    signature: "void bounce_print_wrap(VSTREAM *bounce, BOUNCE_INFO *bounce_info,\n\t\t\t
      \             const char *format,...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: post_mail_fputs
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:645,1
    - Dst: NON_NULL_EMPTY
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:646,1
    - Dst: bounce_print_wrap
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:647,1
    - Dst: bounce_print_wrap
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:650,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bounce
    - bounce_info
    argTypes:
    - VSTREAM*
    - BOUNCE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 632
    functionDepth: 2
    functionLinenumber: 632
    functionLinenumberEnd: 654
    functionName: bounce_recipient_log
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util.c
    functionUses: 1
    functionsReached:
    - NON_NULL_EMPTY
    - post_mail_fputs
    - vstream_ferror
    - bounce_print_wrap
    linkageType: ''
    returnType: int
    signature: int bounce_recipient_log(VSTREAM *bounce, BOUNCE_INFO *bounce_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 644
    functionName: NON_NULL_EMPTY
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NON_NULL_EMPTY(s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bounce_log_rewind
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:674,1
    - Dst: IS_FAILURE_TEMPLATE
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:675,1
    - Dst: post_mail_fputs
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:676,1
    - Dst: post_mail_fputs
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:677,1
    - Dst: bounce_log_read
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:681,1
    - Dst: bounce_recipient_log
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:686,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:691,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - bounce
    - bounce_info
    - notify_filter
    argTypes:
    - VSTREAM*
    - BOUNCE_INFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 658
    functionDepth: 3
    functionLinenumber: 658
    functionLinenumberEnd: 692
    functionName: bounce_diagnostic_log
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util.c
    functionUses: 2
    functionsReached:
    - bounce_log_read
    - bounce_log_rewind
    - post_mail_fputs
    - vstream_ferror
    - IS_FAILURE_TEMPLATE
    - bounce_recipient_log
    linkageType: ''
    returnType: int
    signature: "int bounce_diagnostic_log(VSTREAM *bounce, BOUNCE_INFO *bounce_info,\n\t\t\t
      \             int notify_filter)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: post_mail_fputs
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:702,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:703,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:704,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:707,1
    - Dst: NOT_7BIT_MIME
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:711,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:714,1
    - Dst: post_mail_fputs
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:723,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:724,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:726,1
    - Dst: NON_NULL_EMPTY
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:728,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:729,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:732,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:739,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:740,1
    - Dst: IS_UTF8_ADDRESS
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:743,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:743,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:744,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:746,1
    - Dst: mail_date
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:747,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:748,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - bounce
    - bounce_info
    argTypes:
    - VSTREAM*
    - BOUNCE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 696
    functionDepth: 2
    functionLinenumber: 696
    functionLinenumberEnd: 749
    functionName: bounce_header_dsn
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util.c
    functionUses: 3
    functionsReached:
    - IS_UTF8_ADDRESS
    - NOT_7BIT_MIME
    - mail_date
    - VSTRING_LEN
    - post_mail_fputs
    - vstream_ferror
    - NON_NULL_EMPTY
    - post_mail_fprintf
    - STR
    linkageType: ''
    returnType: int
    signature: int bounce_header_dsn(VSTREAM *bounce, BOUNCE_INFO *bounce_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 737
    functionName: IS_UTF8_ADDRESS
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_UTF8_ADDRESS(str)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: post_mail_fputs
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:758,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:760,1
    - Dst: IS_UTF8_ADDRESS
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:762,1
    - Dst: NON_NULL_EMPTY
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:784,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:785,1
    - Dst: NON_NULL_EMPTY
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:786,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:788,1
    - Dst: IS_UTF8_ADDRESS
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:790,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:793,1
    - Dst: IS_FAILURE_TEMPLATE
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:794,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:796,1
    - Dst: NON_NULL_EMPTY
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:797,1
    - Dst: NON_NULL_EMPTY
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:797,1
    - Dst: bounce_print_wrap
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:798,1
    - Dst: NON_NULL_EMPTY
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:800,1
    - Dst: NON_NULL_EMPTY
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:800,1
    - Dst: bounce_print_wrap
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:801,1
    - Dst: bounce_print_wrap
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:804,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:808,1
    - Dst: mail_date
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:809,1
    - Dst: IS_DELAY_TEMPLATE
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:811,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:812,1
    - Dst: mail_date
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:813,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:814,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - bounce
    - bounce_info
    argTypes:
    - VSTREAM*
    - BOUNCE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 753
    functionDepth: 2
    functionLinenumber: 753
    functionLinenumberEnd: 815
    functionName: bounce_recipient_dsn
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util.c
    functionUses: 1
    functionsReached:
    - IS_UTF8_ADDRESS
    - mail_date
    - post_mail_fputs
    - vstream_ferror
    - IS_DELAY_TEMPLATE
    - NON_NULL_EMPTY
    - IS_FAILURE_TEMPLATE
    - post_mail_fprintf
    - bounce_print_wrap
    linkageType: ''
    returnType: int
    signature: int bounce_recipient_dsn(VSTREAM *bounce, BOUNCE_INFO *bounce_info)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bounce_log_rewind
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:835,1
    - Dst: IS_FAILURE_TEMPLATE
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:836,1
    - Dst: bounce_log_read
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:839,1
    - Dst: bounce_recipient_dsn
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:844,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:849,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - bounce
    - bounce_info
    - notify_filter
    argTypes:
    - VSTREAM*
    - BOUNCE_INFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 819
    functionDepth: 3
    functionLinenumber: 819
    functionLinenumberEnd: 850
    functionName: bounce_diagnostic_dsn
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util.c
    functionUses: 2
    functionsReached:
    - bounce_log_read
    - bounce_log_rewind
    - vstream_ferror
    - IS_FAILURE_TEMPLATE
    - bounce_recipient_dsn
    linkageType: ''
    returnType: int
    signature: "int bounce_diagnostic_dsn(VSTREAM *bounce, BOUNCE_INFO *bounce_info,\n\t\t\t
      \             int notify_filter)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: post_mail_fputs
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:876,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:877,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:878,1
    - Dst: IS_UNDELIVERED_TEMPLATE
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:879,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:885,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:889,1
    - Dst: NOT_7BIT_MIME
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:892,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:893,1
    - Dst: post_mail_fputs
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:895,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:900,1
    - Dst: post_mail_fputs
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:902,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:903,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:914,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:914,1
    - Dst: rec_get
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:922,1
    - Dst: IS_HEADER
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:926,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:926,1
    - Dst: REC_PUT_BUF
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:928,1
    - Dst: post_mail_fputs
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:938,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:939,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 3
    argNames:
    - bounce
    - bounce_info
    - headers_only
    argTypes:
    - VSTREAM*
    - BOUNCE_INFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 854
    functionDepth: 2
    functionLinenumber: 854
    functionLinenumberEnd: 942
    functionName: bounce_original
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util.c
    functionUses: 3
    functionsReached:
    - NOT_7BIT_MIME
    - vstring_str
    - vstream_fseek
    - REC_PUT_BUF
    - post_mail_fputs
    - vstream_ferror
    - IS_HEADER
    - IS_UNDELIVERED_TEMPLATE
    - rec_get
    - post_mail_fprintf
    - STR
    linkageType: ''
    returnType: int
    signature: "int bounce_original(VSTREAM *bounce, BOUNCE_INFO *bounce_info,\n\t\t\t
      \       int headers_only)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - template
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 875
    functionName: IS_UNDELIVERED_TEMPLATE
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_UNDELIVERED_TEMPLATE(template)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 921
    functionName: IS_HEADER
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_HEADER(s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bounce_log_rewind
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:952,1
    - Dst: bounce_log_read
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:953,1
    - Dst: deliver_completed
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:956,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - bounce_info
    argTypes:
    - BOUNCE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 946
    functionDepth: 3
    functionLinenumber: 946
    functionLinenumberEnd: 957
    functionName: bounce_delrcpt
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util.c
    functionUses: 0
    functionsReached:
    - bounce_log_read
    - deliver_completed
    - bounce_log_rewind
    linkageType: ''
    returnType: void
    signature: void bounce_delrcpt(BOUNCE_INFO *bounce_info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deliver_completed
      Src: /src/postfix/postfix/src/bounce/bounce_notify_util.c:966,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - bounce_info
    argTypes:
    - BOUNCE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 961
    functionDepth: 2
    functionLinenumber: 961
    functionLinenumberEnd: 967
    functionName: bounce_delrcpt_one
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_util.c
    functionUses: 1
    functionsReached:
    - deliver_completed
    linkageType: ''
    returnType: void
    signature: void bounce_delrcpt_one(BOUNCE_INFO *bounce_info)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: name_mask
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:95,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:97,1
    - Dst: bounce_mail_init
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:133,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:160,1
    - Dst: mail_addr_double_bounce
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:160,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:161,1
    - Dst: post_mail_fopen_nowait
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:178,1
    - Dst: mail_addr_double_bounce
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:178,1
    - Dst: bounce_header
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:192,1
    - Dst: bounce_diagnostic_log
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:194,1
    - Dst: bounce_header_dsn
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:196,1
    - Dst: bounce_diagnostic_dsn
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:197,1
    - Dst: bounce_original
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:199,1
    - Dst: post_mail_fclose
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:200,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:202,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:203,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:206,1
    - Dst: if
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:219,1
    - Dst: post_mail_fopen_nowait
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:219,1
    - Dst: bounce_header
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:231,1
    - Dst: bounce_boilerplate
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:233,1
    - Dst: bounce_diagnostic_log
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:234,1
    - Dst: bounce_header_dsn
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:236,1
    - Dst: bounce_diagnostic_dsn
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:237,1
    - Dst: post_mail_fclose
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:241,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:243,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:244,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:247,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:263,1
    - Dst: mail_addr_double_bounce
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:263,1
    - Dst: post_mail_fopen_nowait
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:273,1
    - Dst: mail_addr_double_bounce
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:273,1
    - Dst: bounce_header
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:280,1
    - Dst: bounce_diagnostic_log
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:282,1
    - Dst: bounce_header_dsn
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:284,1
    - Dst: bounce_diagnostic_dsn
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:285,1
    - Dst: bounce_original
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:287,1
    - Dst: post_mail_fclose
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:288,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:290,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:291,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:294,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_notify_service.c:300,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 44
    argCount: 10
    argNames:
    - flags
    - service
    - queue_name
    - queue_id
    - encoding
    - sendopts
    - recipient
    - dsn_envid
    - dsn_ret
    - ts
    argTypes:
    - int
    - char*
    - char*
    - char*
    - char*
    - int
    - char*
    - char*
    - int
    - BOUNCE_TEMPLATES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 85
    functionDepth: 6
    functionLinenumber: 85
    functionLinenumberEnd: 303
    functionName: bounce_notify_service
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_notify_service.c
    functionUses: 1
    functionsReached:
    - bounce_header_dsn
    - msg_warn
    - post_mail_fopen_nowait
    - post_mail_fclose
    - name_mask
    - bounce_original
    - bounce_diagnostic_log
    - mail_addr_double_bounce
    - vstring_alloc
    - bounce_header
    - msg_info
    - vstream_fclose
    - if
    - bounce_diagnostic_dsn
    - bounce_boilerplate
    - bounce_mail_init
    - strcasecmp_utf8
    - STR
    linkageType: ''
    returnType: int
    signature: "int bounce_notify_service(int flags, char *service, char *queue_name,\n\t\t\t
      \             char *queue_id, char *encoding,\n\t\t\t              int sendopts,
      char *recipient,\n\t\t\t              char *dsn_envid, int dsn_ret,\n\t\t\t
      \             BOUNCE_TEMPLATES *ts)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: name_mask
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:95,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:97,1
    - Dst: bounce_mail_one_init
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:102,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:130,1
    - Dst: mail_addr_double_bounce
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:130,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:131,1
    - Dst: post_mail_fopen_nowait
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:147,1
    - Dst: mail_addr_double_bounce
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:147,1
    - Dst: bounce_header
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:160,1
    - Dst: bounce_recipient_log
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:162,1
    - Dst: bounce_header_dsn
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:163,1
    - Dst: bounce_recipient_dsn
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:164,1
    - Dst: bounce_original
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:165,1
    - Dst: post_mail_fclose
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:166,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:168,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:169,1
    - Dst: post_mail_fopen_nowait
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:185,1
    - Dst: bounce_header
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:196,1
    - Dst: bounce_boilerplate
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:198,1
    - Dst: bounce_recipient_log
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:199,1
    - Dst: bounce_header_dsn
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:200,1
    - Dst: bounce_recipient_dsn
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:201,1
    - Dst: bounce_original
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:202,1
    - Dst: post_mail_fclose
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:204,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:206,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:207,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:221,1
    - Dst: mail_addr_double_bounce
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:221,1
    - Dst: post_mail_fopen_nowait
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:230,1
    - Dst: mail_addr_double_bounce
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:230,1
    - Dst: bounce_header
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:236,1
    - Dst: bounce_recipient_log
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:238,1
    - Dst: bounce_header_dsn
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:239,1
    - Dst: bounce_recipient_dsn
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:240,1
    - Dst: bounce_original
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:241,1
    - Dst: post_mail_fclose
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:242,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:244,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:245,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_one_service.c:248,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 41
    argCount: 11
    argNames:
    - flags
    - queue_name
    - queue_id
    - encoding
    - sendopts
    - orig_sender
    - dsn_envid
    - dsn_ret
    - rcpt_buf
    - dsn_buf
    - ts
    argTypes:
    - int
    - char*
    - char*
    - char*
    - int
    - char*
    - char*
    - int
    - RCPT_BUF*
    - DSN_BUF*
    - BOUNCE_TEMPLATES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 85
    functionDepth: 6
    functionLinenumber: 85
    functionLinenumberEnd: 251
    functionName: bounce_one_service
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_one_service.c
    functionUses: 2
    functionsReached:
    - bounce_header_dsn
    - msg_warn
    - post_mail_fopen_nowait
    - post_mail_fclose
    - name_mask
    - bounce_original
    - mail_addr_double_bounce
    - bounce_mail_one_init
    - vstring_alloc
    - bounce_header
    - msg_info
    - bounce_recipient_dsn
    - bounce_boilerplate
    - bounce_recipient_log
    - strcasecmp_utf8
    - STR
    linkageType: ''
    returnType: int
    signature: "int bounce_one_service(int flags, char *queue_name, char *queue_id,\n\t\t\t
      \          char *encoding, int sendopts,\n\t\t\t           char *orig_sender,
      char *dsn_envid,\n\t\t\t           int dsn_ret, RCPT_BUF *rcpt_buf,\n\t\t\t
      \          DSN_BUF *dsn_buf, BOUNCE_TEMPLATES *ts)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: name_mask
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:92,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:106,1
    - Dst: mail_addr_double_bounce
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:106,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:107,1
    - Dst: mail_addr_double_bounce
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:113,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:115,1
    - Dst: mail_queue_remove
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:117,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:118,1
    - Dst: bounce_mail_init
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:142,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:161,1
    - Dst: bounce_mail_free
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:163,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:178,1
    - Dst: post_mail_fopen_nowait
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:179,1
    - Dst: bounce_header
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:185,1
    - Dst: bounce_boilerplate
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:187,1
    - Dst: bounce_diagnostic_log
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:188,1
    - Dst: bounce_header_dsn
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:190,1
    - Dst: bounce_diagnostic_dsn
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:191,1
    - Dst: bounce_original
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:193,1
    - Dst: post_mail_fclose
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:194,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:196,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:197,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:199,1
    - Dst: mail_queue_remove
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:209,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:211,1
    - Dst: bounce_mail_free
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:216,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/bounce/bounce_trace_service.c:217,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 10
    argNames:
    - flags
    - service
    - queue_name
    - queue_id
    - encoding
    - sendopts
    - recipient
    - dsn_envid
    - unused_dsn_ret
    - ts
    argTypes:
    - int
    - char*
    - char*
    - char*
    - char*
    - int
    - char*
    - char*
    - int
    - BOUNCE_TEMPLATES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 82
    functionDepth: 6
    functionLinenumber: 82
    functionLinenumberEnd: 220
    functionName: bounce_trace_service
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_trace_service.c
    functionUses: 0
    functionsReached:
    - bounce_original
    - msg_info
    - bounce_mail_free
    - mail_queue_remove
    - bounce_diagnostic_dsn
    - msg_fatal
    - post_mail_fclose
    - vstring_alloc
    - bounce_header
    - strcasecmp_utf8
    - bounce_header_dsn
    - post_mail_fopen_nowait
    - name_mask
    - mail_addr_double_bounce
    - bounce_mail_init
    - vstring_free
    - vstream_fclose
    - bounce_boilerplate
    - bounce_diagnostic_log
    - STR
    linkageType: ''
    returnType: int
    signature: "int bounce_trace_service(int flags, char *service, char *queue_name,\n\t\t\t
      \            char *queue_id, char *encoding,\n\t\t\t             int sendopts,\n\t\t\t
      \            char *recipient, char *dsn_envid,\n\t\t\t             int unused_dsn_ret,\n\t\t\t
      \            BOUNCE_TEMPLATES *ts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: IS_FAILURE_TEMPLATE
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_template.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_FAILURE_TEMPLATE(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: IS_DELAY_TEMPLATE
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_template.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_DELAY_TEMPLATE(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: IS_SUCCESS_TEMPLATE
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_SUCCESS_TEMPLATE(t)
  - 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: bounce_template_encoding
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bounce_template_encoding(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: bounce_template_charset
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bounce_template_charset(t)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:68,1
    - Dst: mail_queue_open
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:79,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:82,1
    - Dst: deliver_flock
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:88,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:88,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:89,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:108,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:109,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:114,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:116,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:117,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:117,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:120,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:121,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:121,1
    - Dst: NOT_NULL_EMPTY
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:122,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:123,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:124,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:125,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:125,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:127,1
    - Dst: NOT_NULL_EMPTY
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:128,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:129,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:131,1
    - Dst: NOT_NULL_EMPTY
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:133,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:134,1
    - Dst: NOT_NULL_EMPTY
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:135,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:136,1
    - Dst: NOT_NULL_EMPTY
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:137,1
    - Dst: NOT_NULL_EMPTY
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:137,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:138,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:139,1
    - Dst: NOT_NULL_EMPTY
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:141,1
    - Dst: NOT_NULL_EMPTY
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:141,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:142,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:143,1
    - Dst: NOT_NULL_EMPTY
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:145,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:146,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:147,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:149,1
    - Dst: fsync
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:149,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:149,1
    - Dst: ftruncate
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:151,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:151,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:152,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:154,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:163,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:164,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/bounce/bounce_append_service.c:166,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 5
    argNames:
    - unused_flags
    - service
    - queue_id
    - rcpt
    - dsn
    argTypes:
    - int
    - char*
    - char*
    - RECIPIENT*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 65
    functionDepth: 4
    functionLinenumber: 65
    functionLinenumberEnd: 168
    functionName: bounce_append_service
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_append_service.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - vstream_fprintf
    - vstream_fseek
    - vstring_free
    - vstream_fflush
    - vstring_alloc
    - mail_queue_open
    - deliver_flock
    - NOT_NULL_EMPTY
    - vstream_fclose
    - vstream_fputs
    - vstream_fileno
    - quote_822_local
    - msg_fatal
    - fsync
    - strcasecmp_utf8
    - ftruncate
    - STR
    linkageType: ''
    returnType: int
    signature: "int bounce_append_service(int unused_flags, char *service, char *queue_id,\n\t\t\t
      \             RECIPIENT *rcpt, DSN *dsn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: NOT_NULL_EMPTY
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_append_service.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOT_NULL_EMPTY(s)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_append_service.c
    functionUses: 247
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bounce_cleanup_log
      Src: /src/postfix/postfix/src/bounce/bounce_cleanup.c:94,1
    - Dst: bounce_cleanup_func
      Src: /src/postfix/postfix/src/bounce/bounce_cleanup.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 101
    functionName: bounce_cleanup_callback
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_cleanup.c
    functionUses: 0
    functionsReached:
    - bounce_cleanup_func
    - bounce_cleanup_log
    linkageType: ''
    returnType: void
    signature: void bounce_cleanup_callback(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/bounce/bounce_cleanup.c:113,1
    - Dst: unlink
      Src: /src/postfix/postfix/src/bounce/bounce_cleanup.c:119,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/bounce/bounce_cleanup.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 120
    functionName: bounce_cleanup_log
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_cleanup.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - vstring_str
    - unlink
    linkageType: ''
    returnType: void
    signature: void bounce_cleanup_log(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/postfix/postfix/src/bounce/bounce_cleanup.c:131,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/bounce/bounce_cleanup.c:131,1
    - Dst: _exit
      Src: /src/postfix/postfix/src/bounce/bounce_cleanup.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: bounce_cleanup_sig
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_cleanup.c
    functionUses: 0
    functionsReached:
    - _exit
    - vstring_str
    - unlink
    linkageType: ''
    returnType: void
    signature: void bounce_cleanup_sig(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/bounce/bounce_cleanup.c:145,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/bounce/bounce_cleanup.c:151,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/bounce/bounce_cleanup.c:152,1
    - Dst: msg_cleanup
      Src: /src/postfix/postfix/src/bounce/bounce_cleanup.c:153,1
    - Dst: signal
      Src: /src/postfix/postfix/src/bounce/bounce_cleanup.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - service
    - queue_id
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 155
    functionName: bounce_cleanup_register
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_cleanup.c
    functionUses: 3
    functionsReached:
    - msg_panic
    - vstring_alloc
    - signal
    - msg_cleanup
    - mail_queue_path
    linkageType: ''
    returnType: void
    signature: void bounce_cleanup_register(char *service, char *queue_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/bounce/bounce_cleanup.c:167,1
    - Dst: signal
      Src: /src/postfix/postfix/src/bounce/bounce_cleanup.c:173,1
    - Dst: msg_cleanup
      Src: /src/postfix/postfix/src/bounce/bounce_cleanup.c:174,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/bounce/bounce_cleanup.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 177
    functionName: bounce_cleanup_unregister
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_cleanup.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - signal
    - msg_cleanup
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void bounce_cleanup_unregister(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: bounce_cleanup_registered
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_service.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bounce_cleanup_registered()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_templates.c
    functionUses: 247
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:233,1
    - Dst: bounce_template_create
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:234,1
    - Dst: bounce_template_create
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:235,1
    - Dst: bounce_template_create
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:236,1
    - Dst: bounce_template_create
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 239
    functionName: bounce_templates_create
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_templates.c
    functionUses: 2
    functionsReached:
    - mymalloc
    - bounce_template_create
    linkageType: ''
    returnType: BOUNCE_TEMPLATES
    signature: BOUNCE_TEMPLATES *bounce_templates_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bounce_template_free
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:245,1
    - Dst: bounce_template_free
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:246,1
    - Dst: bounce_template_free
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:247,1
    - Dst: bounce_template_free
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:248,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - bs
    argTypes:
    - BOUNCE_TEMPLATES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: bounce_templates_free
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_templates.c
    functionUses: 0
    functionsReached:
    - myfree
    - bounce_template_free
    linkageType: ''
    returnType: void
    signature: void bounce_templates_free(BOUNCE_TEMPLATES *bs)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:272,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:274,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:276,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:276,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:276,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:279,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:279,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:280,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:281,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:281,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:284,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:287,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:288,1
    - Dst: ISALNUM
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:289,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:290,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:291,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:293,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:294,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:295,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:297,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:298,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:299,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:300,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:302,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:302,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:302,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:304,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:305,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:306,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:306,1
    - Dst: vstream_feof
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:308,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:309,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:310,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:311,1
    - Dst: STR
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:312,1
    - Dst: MATCH_TMPL_NAME
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:318,1
    - Dst: bounce_template_load
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:319,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:319,1
    - Dst: MATCH_TMPL_NAME
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:320,1
    - Dst: bounce_template_load
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:321,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:321,1
    - Dst: MATCH_TMPL_NAME
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:322,1
    - Dst: bounce_template_load
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:323,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:323,1
    - Dst: MATCH_TMPL_NAME
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:324,1
    - Dst: bounce_template_load
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:325,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:325,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:327,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:329,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:331,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:333,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:334,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:335,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 2
    argNames:
    - fp
    - ts
    argTypes:
    - VSTREAM*
    - BOUNCE_TEMPLATES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 337
    functionName: bounce_templates_load
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_templates.c
    functionUses: 1
    functionsReached:
    - split_nameval
    - ISSPACE
    - VSTRING_LEN
    - VSTRING_RESET
    - bounce_template_load
    - vstring_get_nonl
    - VSTREAM_PATH
    - vstring_alloc
    - vstring_strcat
    - vstream_feof
    - ISALNUM
    - MATCH_TMPL_NAME
    - vstring_free
    - msg_warn
    - strspn
    - strcmp
    - vstring_strcpy
    - msg_fatal
    - STR
    linkageType: ''
    returnType: void
    signature: void bounce_templates_load(VSTREAM *fp, BOUNCE_TEMPLATES *ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tname
    - ','
    - tname_len
    - ','
    - mname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: MATCH_TMPL_NAME
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_templates.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_TMPL_NAME(tname, tname_len, mname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fp
    - text
    argTypes:
    - VSTREAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: bounce_plain_out
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_templates.c
    functionUses: 0
    functionsReached:
    - vstream_fprintf
    linkageType: ''
    returnType: int
    signature: int bounce_plain_out(VSTREAM *fp, const char *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:354,1
    - Dst: bounce_template_expand
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:355,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:356,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:359,1
    - Dst: bounce_template_expand
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:360,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:361,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:364,1
    - Dst: bounce_template_expand
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:365,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:366,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:369,1
    - Dst: bounce_template_expand
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:370,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - fp
    - ts
    argTypes:
    - VSTREAM*
    - BOUNCE_TEMPLATES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 349
    functionDepth: 3
    functionLinenumber: 349
    functionLinenumberEnd: 372
    functionName: bounce_templates_expand
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_templates.c
    functionUses: 1
    functionsReached:
    - bounce_template_expand
    - vstream_fprintf
    linkageType: ''
    returnType: void
    signature: void bounce_templates_expand(VSTREAM *fp, BOUNCE_TEMPLATES *ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:381,1
    - Dst: bounce_template_dump
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:382,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:383,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:386,1
    - Dst: bounce_template_dump
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:387,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:388,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:391,1
    - Dst: bounce_template_dump
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:392,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:393,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:396,1
    - Dst: bounce_template_dump
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:397,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/bounce/bounce_templates.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - fp
    - ts
    argTypes:
    - VSTREAM*
    - BOUNCE_TEMPLATES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 399
    functionName: bounce_templates_dump
    functionSourceFile: /src/postfix/postfix/src/bounce/bounce_templates.c
    functionUses: 1
    functionsReached:
    - bounce_template_dump
    - vstream_fprintf
    linkageType: ''
    returnType: void
    signature: void bounce_templates_dump(VSTREAM *fp, BOUNCE_TEMPLATES *ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postkick/postkick.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - myname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/postkick/postkick.c
    functionUses: 21
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(char *myname)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/postfix/postfix/src/postkick/postkick.c:142,1
    - Dst: close
      Src: /src/postfix/postfix/src/postkick/postkick.c:143,1
    - Dst: open
      Src: /src/postfix/postfix/src/postkick/postkick.c:143,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postkick/postkick.c:144,1
    - Dst: safe_getenv
      Src: /src/postfix/postfix/src/postkick/postkick.c:149,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/postkick/postkick.c:156,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/postkick/postkick.c:158,1
    - Dst: set_mail_conf_str
      Src: /src/postfix/postfix/src/postkick/postkick.c:159,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postkick/postkick.c:159,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/postkick/postkick.c:169,1
    - Dst: usage
      Src: /src/postfix/postfix/src/postkick/postkick.c:172,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/postkick/postkick.c:174,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postkick/postkick.c:175,1
    - Dst: usage
      Src: /src/postfix/postfix/src/postkick/postkick.c:183,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/postkick/postkick.c:191,1
    - Dst: mail_parm_split
      Src: /src/postfix/postfix/src/postkick/postkick.c:193,1
    - Dst: update_env
      Src: /src/postfix/postfix/src/postkick/postkick.c:194,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postkick/postkick.c:195,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/postkick/postkick.c:196,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postkick/postkick.c:197,1
    - Dst: mail_trigger
      Src: /src/postfix/postfix/src/postkick/postkick.c:202,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postkick/postkick.c:202,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postkick/postkick.c:203,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postkick/postkick.c:205,1
    - Dst: event_drain
      Src: /src/postfix/postfix/src/postkick/postkick.c:218,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postkick/postkick.c:219,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 120
    functionDepth: 4
    functionLinenumber: 120
    functionLinenumberEnd: 221
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/postkick/postkick.c
    functionUses: 23
    functionsReached:
    - safe_getenv
    - msg_vstream_init
    - open
    - GETOPT
    - setenv
    - strlen
    - exit
    - chdir
    - set_mail_conf_str
    - mail_parm_split
    - update_env
    - close
    - event_drain
    - fstat
    - mail_trigger
    - mail_conf_read
    - strrchr
    - msg_warn
    - argv_free
    - usage
    - msg_fatal
    - mystrdup
    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: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/postqueue/showq_json.c
    functionUses: 248
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/postqueue/showq_json.c
    functionUses: 67
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:80,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:81,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:82,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:83,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:84,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:96,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:98,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:99,1
    - Dst: RECV_ATTR_LONG
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:100,1
    - Dst: RECV_ATTR_LONG
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:101,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:102,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:103,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:105,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:106,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:107,1
    - Dst: QUOTE_JSON
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:108,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:108,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:109,1
    - Dst: QUOTE_JSON
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:110,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:110,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:111,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:112,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:113,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:114,1
    - Dst: QUOTE_JSON
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:115,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:115,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:122,1
    - Dst: attr_scan_more
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:123,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:125,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:126,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:127,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:129,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:130,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:132,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:133,1
    - Dst: QUOTE_JSON
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:134,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:134,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:135,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:136,1
    - Dst: QUOTE_JSON
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:137,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:137,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:138,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:140,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:142,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:143,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:144,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:145,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - showq_stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 146
    functionName: format_json
    functionSourceFile: /src/postfix/postfix/src/postqueue/showq_json.c
    functionUses: 0
    functionsReached:
    - RECV_ATTR_LONG
    - vstream_fflush
    - vstring_alloc
    - RECV_ATTR_STR
    - attr_scan
    - msg_fatal_status
    - LEN
    - QUOTE_JSON
    - vstream_printf
    - attr_scan_more
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: void
    signature: void format_json(VSTREAM *showq_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - res
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: QUOTE_JSON
    functionSourceFile: /src/postfix/postfix/src/postqueue/showq_json.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUOTE_JSON(res, src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan_more
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:158,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:159,1
    - Dst: format_json
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:160,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/showq_json.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - showq_stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: showq_json
    functionSourceFile: /src/postfix/postfix/src/postqueue/showq_json.c
    functionUses: 0
    functionsReached:
    - format_json
    - attr_scan_more
    - vstream_ferror
    - msg_fatal_status
    linkageType: ''
    returnType: void
    signature: void showq_json(VSTREAM *showq_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/postqueue/showq_compat.c
    functionUses: 249
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:91,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:102,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:103,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:104,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:105,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:106,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:112,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:114,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:115,1
    - Dst: RECV_ATTR_LONG
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:116,1
    - Dst: RECV_ATTR_LONG
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:117,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:118,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:119,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:121,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:128,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:128,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:129,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:129,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:130,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:131,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:131,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:132,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:134,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:136,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:137,1
    - Dst: asctime
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:138,1
    - Dst: localtime
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:138,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:139,1
    - Dst: attr_scan_more
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:146,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:147,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:149,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:150,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:152,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:161,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:161,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:162,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:163,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:163,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:165,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:167,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:169,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:171,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:174,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:175,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 1
    argNames:
    - showq_stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 177
    functionName: showq_message
    functionSourceFile: /src/postfix/postfix/src/postqueue/showq_compat.c
    functionUses: 0
    functionsReached:
    - RECV_ATTR_LONG
    - localtime
    - strlen
    - vstring_alloc
    - RECV_ATTR_STR
    - attr_scan
    - msg_fatal_status
    - myfree
    - vstring_strcat
    - strcmp
    - vstring_strcpy
    - vstream_printf
    - asctime
    - attr_scan_more
    - mystrdup
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long showq_message(VSTREAM *showq_stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan_more
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:191,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:193,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:195,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:197,1
    - Dst: showq_message
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:199,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:201,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:203,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:208,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:214,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:216,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:220,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/showq_compat.c:221,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - showq_stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 222
    functionName: showq_compat
    functionSourceFile: /src/postfix/postfix/src/postqueue/showq_compat.c
    functionUses: 0
    functionsReached:
    - showq_message
    - vstream_fflush
    - msg_fatal_status
    - vstream_printf
    - attr_scan_more
    linkageType: ''
    returnType: void
    signature: void showq_compat(VSTREAM *showq_stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:346,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:347,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:349,1
    - Dst: showq_compat
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:352,1
    - Dst: showq_json
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:355,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - mode
    - showq
    argTypes:
    - int
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 360
    functionName: showq_client
    functionSourceFile: /src/postfix/postfix/src/postqueue/postqueue.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - showq_json
    - showq_compat
    - msg_fatal_status
    - attr_scan
    - RECV_ATTR_STREQ
    linkageType: ''
    returnType: void
    signature: void showq_client(int mode, VSTREAM *showq)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:369,1
    - Dst: check_user_acl_byuid
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:372,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:374,1
    - Dst: mail_connect
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:381,1
    - Dst: showq_client
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:382,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:383,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:384,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:392,1
    - Dst: geteuid
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:401,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:406,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:409,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:411,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:412,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:414,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:415,1
    - Dst: vstream_popen
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:416,1
    - Dst: CA_VSTREAM_POPEN_ARGV
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:417,1
    - Dst: showq_client
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:421,1
    - Dst: vstream_pclose
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:422,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:424,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:425,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:427,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:438,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 364
    functionDepth: 4
    functionLinenumber: 364
    functionLinenumberEnd: 443
    functionName: show_queue
    functionSourceFile: /src/postfix/postfix/src/postqueue/postqueue.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - argv_terminate
    - check_user_acl_byuid
    - showq_client
    - mail_connect
    - geteuid
    - vstream_fclose
    - msg_fatal_status
    - argv_free
    - myfree
    - argv_alloc
    - vstream_popen
    - argv_add
    - vstream_pclose
    - concatenate
    - CA_VSTREAM_POPEN_ARGV
    - getuid
    linkageType: ''
    returnType: void
    signature: void show_queue(int mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:450,1
    - Dst: check_user_acl_byuid
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:453,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:455,1
    - Dst: mail_flush_deferred
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:462,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:463,1
    - Dst: mail_flush_maildrop
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:465,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:466,1
    - Dst: event_drain
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:468,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 469
    functionName: flush_queue
    functionSourceFile: /src/postfix/postfix/src/postqueue/postqueue.c
    functionUses: 0
    functionsReached:
    - check_user_acl_byuid
    - msg_fatal_status
    - mail_flush_maildrop
    - event_drain
    - mail_flush_deferred
    - getuid
    linkageType: ''
    returnType: void
    signature: void flush_queue(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:477,1
    - Dst: check_user_acl_byuid
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:480,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:482,1
    - Dst: flush_init
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:486,1
    - Dst: flush_send_site
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:488,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:490,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:492,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:494,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:497,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - site
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 473
    functionDepth: 3
    functionLinenumber: 473
    functionLinenumberEnd: 504
    functionName: flush_site
    functionSourceFile: /src/postfix/postfix/src/postqueue/postqueue.c
    functionUses: 0
    functionsReached:
    - flush_init
    - check_user_acl_byuid
    - exit
    - msg_fatal_status
    - flush_send_site
    - getuid
    linkageType: ''
    returnType: void
    signature: void flush_site(const char *site)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:512,1
    - Dst: check_user_acl_byuid
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:515,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:517,1
    - Dst: flush_send_file
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:521,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:523,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:525,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:527,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:530,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - queue_id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 508
    functionDepth: 3
    functionLinenumber: 508
    functionLinenumberEnd: 533
    functionName: flush_file
    functionSourceFile: /src/postfix/postfix/src/postqueue/postqueue.c
    functionUses: 0
    functionsReached:
    - check_user_acl_byuid
    - flush_send_file
    - exit
    - msg_fatal_status
    - getuid
    linkageType: ''
    returnType: void
    signature: void flush_file(const char *queue_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 540
    functionName: unavailable
    functionSourceFile: /src/postfix/postfix/src/postqueue/postqueue.c
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void unavailable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/postqueue/postqueue.c
    functionUses: 22
    functionsReached:
    - msg_fatal_status
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(void)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:572,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:580,1
    - Dst: close
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:581,1
    - Dst: open
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:581,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:582,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:590,1
    - Dst: msg_cleanup
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:591,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:592,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:592,1
    - Dst: set_mail_conf_str
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:593,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:593,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:606,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:609,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:610,1
    - Dst: usage
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:614,1
    - Dst: usage
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:619,1
    - Dst: usage
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:625,1
    - Dst: usage
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:630,1
    - Dst: usage
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:635,1
    - Dst: geteuid
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:640,1
    - Dst: usage
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:644,1
    - Dst: usage
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:648,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:653,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:655,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:655,1
    - Dst: mail_dict_init
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:656,1
    - Dst: get_mail_conf_str_table
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:657,1
    - Dst: mail_parm_split
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:664,1
    - Dst: clean_env
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:665,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:666,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:668,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:669,1
    - Dst: signal
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:671,1
    - Dst: valid_mailhost_literal
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:681,1
    - Dst: valid_hostname
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:683,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:686,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:688,1
    - Dst: mail_queue_id_ok
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:691,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:692,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:694,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:702,1
    - Dst: show_queue
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:706,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:707,1
    - Dst: flush_site
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:710,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:711,1
    - Dst: flush_file
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:714,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:715,1
    - Dst: flush_queue
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:718,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:719,1
    - Dst: usage
      Src: /src/postfix/postfix/src/postqueue/postqueue.c:722,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 102
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 553
    functionDepth: 5
    functionLinenumber: 553
    functionLinenumberEnd: 725
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/postqueue/postqueue.c
    functionUses: 23
    functionsReached:
    - msg_vstream_init
    - open
    - show_queue
    - GETOPT
    - setenv
    - clean_env
    - msg_panic
    - strlen
    - maillog_client_init
    - exit
    - chdir
    - set_mail_conf_str
    - get_mail_conf_str_table
    - mail_queue_id_ok
    - valid_hostname
    - mail_parm_split
    - close
    - mail_task
    - flush_file
    - msg_fatal_status
    - fstat
    - signal
    - msg_cleanup
    - valid_mailhost_literal
    - mail_conf_read
    - flush_site
    - mail_dict_init
    - geteuid
    - argv_free
    - umask
    - usage
    - mystrdup
    - flush_queue
    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: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/showq/showq.c
    functionUses: 250
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/showq/showq.c:166,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/showq/showq.c:167,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/showq/showq.c:205,1
    - Dst: rec_get
      Src: /src/postfix/postfix/src/showq/showq.c:205,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/showq/showq.c:206,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/showq/showq.c:208,1
    - Dst: printable
      Src: /src/postfix/postfix/src/showq/showq.c:208,1
    - Dst: atol
      Src: /src/postfix/postfix/src/showq/showq.c:213,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/showq/showq.c:217,1
    - Dst: atol
      Src: /src/postfix/postfix/src/showq/showq.c:218,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/showq/showq.c:220,1
    - Dst: printable
      Src: /src/postfix/postfix/src/showq/showq.c:222,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/showq/showq.c:230,1
    - Dst: printable
      Src: /src/postfix/postfix/src/showq/showq.c:232,1
    - Dst: STR
      Src: /src/postfix/postfix/src/showq/showq.c:232,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/showq/showq.c:234,1
    - Dst: STR
      Src: /src/postfix/postfix/src/showq/showq.c:236,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/showq/showq.c:239,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/showq/showq.c:240,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/showq/showq.c:241,1
    - Dst: SEND_ATTR_LONG
      Src: /src/postfix/postfix/src/showq/showq.c:242,1
    - Dst: SEND_ATTR_LONG
      Src: /src/postfix/postfix/src/showq/showq.c:244,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/showq/showq.c:245,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/showq/showq.c:247,1
    - Dst: STR
      Src: /src/postfix/postfix/src/showq/showq.c:248,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/showq/showq.c:253,1
    - Dst: STR
      Src: /src/postfix/postfix/src/showq/showq.c:255,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/showq/showq.c:260,1
    - Dst: printable
      Src: /src/postfix/postfix/src/showq/showq.c:262,1
    - Dst: STR
      Src: /src/postfix/postfix/src/showq/showq.c:262,1
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/showq/showq.c:264,1
    - Dst: STR
      Src: /src/postfix/postfix/src/showq/showq.c:264,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/showq/showq.c:265,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/showq/showq.c:266,1
    - Dst: STR
      Src: /src/postfix/postfix/src/showq/showq.c:267,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/showq/showq.c:268,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/showq/showq.c:272,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/showq/showq.c:273,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/showq/showq.c:273,1
    - Dst: bounce_log_open
      Src: /src/postfix/postfix/src/showq/showq.c:293,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/showq/showq.c:295,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/showq/showq.c:296,1
    - Dst: rcpb_create
      Src: /src/postfix/postfix/src/showq/showq.c:298,1
    - Dst: dsb_create
      Src: /src/postfix/postfix/src/showq/showq.c:300,1
    - Dst: showq_reasons
      Src: /src/postfix/postfix/src/showq/showq.c:301,1
    - Dst: bounce_log_close
      Src: /src/postfix/postfix/src/showq/showq.c:302,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/showq/showq.c:303,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 63
    argCount: 7
    argNames:
    - client
    - queue
    - id
    - qfile
    - size
    - mtime
    - mode
    argTypes:
    - VSTREAM*
    - char*
    - char*
    - VSTREAM*
    - long
    - time_t
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 162
    functionDepth: 5
    functionLinenumber: 162
    functionLinenumberEnd: 307
    functionName: showq_report
    functionSourceFile: /src/postfix/postfix/src/showq/showq.c
    functionUses: 0
    functionsReached:
    - htable_create
    - attr_print
    - vstream_ferror
    - msg_info
    - bounce_log_open
    - msg_panic
    - bounce_log_close
    - VSTREAM_PATH
    - showq_reasons
    - vstring_alloc
    - rec_get
    - htable_locate
    - quote_822_local
    - vstring_str
    - rcpb_create
    - SEND_ATTR_INT
    - atol
    - SEND_ATTR_LONG
    - printable
    - msg_warn
    - vstream_fseek
    - strspn
    - SEND_ATTR_STR
    - dsb_create
    - msg_fatal
    - STR
    linkageType: ''
    returnType: void
    signature: "void showq_report(VSTREAM *client, char *queue, char *id,\n\t\t\t
      \        VSTREAM *qfile, long size, time_t mtime,\n\t\t\t         mode_t mode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bounce_log_read
      Src: /src/postfix/postfix/src/showq/showq.c:317,1
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/showq/showq.c:324,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/showq/showq.c:325,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/showq/showq.c:327,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/showq/showq.c:328,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/showq/showq.c:329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - client
    - bp
    - rcpt_buf
    - dsn_buf
    - dup_filter
    argTypes:
    - VSTREAM*
    - BOUNCE_LOG*
    - RCPT_BUF*
    - DSN_BUF*
    - HTABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 332
    functionName: showq_reasons
    functionSourceFile: /src/postfix/postfix/src/showq/showq.c
    functionUses: 1
    functionsReached:
    - bounce_log_read
    - SEND_ATTR_STR
    - attr_print
    - htable_enter
    - htable_locate
    linkageType: ''
    returnType: void
    signature: "void showq_reasons(VSTREAM *client, BOUNCE_LOG *bp, RCPT_BUF *rcpt_buf,\n\t\t\t
      \         DSN_BUF *dsn_buf, HTABLE *dup_filter)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/showq/showq.c:363,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/showq/showq.c:368,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/showq/showq.c:369,1
    - Dst: scan_dir_open
      Src: /src/postfix/postfix/src/showq/showq.c:378,1
    - Dst: struct queue_info*::scan_next
      Src: /src/postfix/postfix/src/showq/showq.c:381,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/showq/showq.c:389,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/showq/showq.c:390,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/showq/showq.c:393,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/showq/showq.c:395,1
    - Dst: mail_open_ok
      Src: /src/postfix/postfix/src/showq/showq.c:396,1
    - Dst: mail_queue_open
      Src: /src/postfix/postfix/src/showq/showq.c:398,1
    - Dst: showq_report
      Src: /src/postfix/postfix/src/showq/showq.c:399,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/showq/showq.c:401,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/showq/showq.c:402,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/showq/showq.c:404,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/showq/showq.c:407,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/showq/showq.c:410,1
    - Dst: scan_dir_close
      Src: /src/postfix/postfix/src/showq/showq.c:411,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/showq/showq.c:413,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - client
    - unused_service
    - argv
    argTypes:
    - VSTREAM*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 337
    functionDepth: 6
    functionLinenumber: 337
    functionLinenumberEnd: 414
    functionName: showq_service
    functionSourceFile: /src/postfix/postfix/src/showq/showq.c
    functionUses: 0
    functionsReached:
    - struct queue_info*::scan_next
    - msg_warn
    - scan_dir_close
    - SEND_ATTR_STR
    - showq_report
    - attr_print
    - vstream_fflush
    - mail_queue_open
    - vstream_fclose
    - scan_dir_open
    - myfree
    - strcmp
    - mail_open_ok
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: void
    signature: void showq_service(VSTREAM *client, char *unused_service, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: single_server_main
      Src: /src/postfix/postfix/src/showq/showq.c:436,1
    - Dst: CA_MAIL_SERVER_INT_TABLE
      Src: /src/postfix/postfix/src/showq/showq.c:437,1
    - Dst: CA_MAIL_SERVER_STR_TABLE
      Src: /src/postfix/postfix/src/showq/showq.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 440
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/showq/showq.c
    functionUses: 24
    functionsReached:
    - CA_MAIL_SERVER_STR_TABLE
    - CA_MAIL_SERVER_INT_TABLE
    - single_server_main
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postmap/postmap.c:407,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/postmap/postmap.c:411,1
    - Dst: CA_VSTREAM_CTL_PATH
      Src: /src/postfix/postfix/src/postmap/postmap.c:411,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postmap/postmap.c:414,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmap/postmap.c:415,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/postmap/postmap.c:417,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmap/postmap.c:418,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/postmap/postmap.c:420,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postmap/postmap.c:420,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmap/postmap.c:421,1
    - Dst: S_ISREG
      Src: /src/postfix/postfix/src/postmap/postmap.c:426,1
    - Dst: umask
      Src: /src/postfix/postfix/src/postmap/postmap.c:427,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/postmap/postmap.c:434,1
    - Dst: geteuid
      Src: /src/postfix/postfix/src/postmap/postmap.c:435,1
    - Dst: getegid
      Src: /src/postfix/postfix/src/postmap/postmap.c:435,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/postmap/postmap.c:436,1
    - Dst: mkmap_open
      Src: /src/postfix/postfix/src/postmap/postmap.c:461,1
    - Dst: S_ISREG
      Src: /src/postfix/postfix/src/postmap/postmap.c:466,1
    - Dst: umask
      Src: /src/postfix/postfix/src/postmap/postmap.c:467,1
    - Dst: dict_isjmp
      Src: /src/postfix/postfix/src/postmap/postmap.c:474,1
    - Dst: dict_setjmp
      Src: /src/postfix/postfix/src/postmap/postmap.c:475,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/postmap/postmap.c:476,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmap/postmap.c:477,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/postmap/postmap.c:477,1
    - Dst: readllines
      Src: /src/postfix/postfix/src/postmap/postmap.c:484,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/postmap/postmap.c:491,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postmap/postmap.c:491,1
    - Dst: valid_utf8_stringz
      Src: /src/postfix/postfix/src/postmap/postmap.c:492,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postmap/postmap.c:492,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postmap/postmap.c:493,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/postmap/postmap.c:495,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postmap/postmap.c:495,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postmap/postmap.c:503,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/postmap/postmap.c:507,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postmap/postmap.c:515,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/postmap/postmap.c:517,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postmap/postmap.c:517,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/postmap/postmap.c:522,1
    - Dst: trimblanks
      Src: /src/postfix/postfix/src/postmap/postmap.c:524,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postmap/postmap.c:532,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postmap/postmap.c:539,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/postmap/postmap.c:540,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postmap/postmap.c:543,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postmap/postmap.c:544,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/postmap/postmap.c:545,1
    - Dst: dict_file_to_b64
      Src: /src/postfix/postfix/src/postmap/postmap.c:555,1
    - Dst: dict_file_get_error
      Src: /src/postfix/postfix/src/postmap/postmap.c:556,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postmap/postmap.c:557,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/postmap/postmap.c:558,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postmap/postmap.c:559,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/postmap/postmap.c:562,1
    - Dst: mkmap_append
      Src: /src/postfix/postfix/src/postmap/postmap.c:569,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmap/postmap.c:571,1
    - Dst: mkmap_close
      Src: /src/postfix/postfix/src/postmap/postmap.c:580,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postmap/postmap.c:585,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/postmap/postmap.c:587,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 80
    argCount: 5
    argNames:
    - map_type
    - path_name
    - postmap_flags
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 588
    functionName: postmap
    functionSourceFile: /src/postfix/postfix/src/postmap/postmap.c
    functionUses: 0
    functionsReached:
    - ISSPACE
    - vstream_control
    - dict_file_get_error
    - getuid
    - mkmap_close
    - VSTREAM_PATH
    - strlen
    - vstring_alloc
    - S_ISREG
    - readllines
    - dict_setjmp
    - vstring_str
    - vstream_fopen
    - allascii
    - getegid
    - myfree
    - fstat
    - mkmap_append
    - trimblanks
    - set_eugid
    - vstring_free
    - dict_file_to_b64
    - msg_warn
    - CA_VSTREAM_CTL_PATH
    - vstream_fseek
    - dict_isjmp
    - geteuid
    - mkmap_open
    - vstream_fclose
    - umask
    - strcmp
    - vstream_fileno
    - msg_fatal
    - valid_utf8_stringz
    - STR
    linkageType: ''
    returnType: void
    signature: "void postmap(char *map_type, char *path_name, int postmap_flags,\n\t\t
      \           int open_flags, int dict_flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: split_at
      Src: /src/postfix/postfix/src/postmap/postmap.c:608,1
    - Dst: dict_open3
      Src: /src/postfix/postfix/src/postmap/postmap.c:609,1
    - Dst: dict_open3
      Src: /src/postfix/postfix/src/postmap/postmap.c:610,1
    - Dst: dict_get
      Src: /src/postfix/postfix/src/postmap/postmap.c:611,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postmap/postmap.c:613,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postmap/postmap.c:615,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postmap/postmap.c:618,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmap/postmap.c:623,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - ptr
    - unused_rec_type
    - keybuf
    - unused_len
    - unused_offset
    argTypes:
    - void*
    - int
    - char*
    - ssize_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 626
    functionName: postmap_body
    functionSourceFile: /src/postfix/postfix/src/postmap/postmap.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - dict_open3
    - vstream_printf
    - split_at
    - msg_fatal
    - dict_get
    linkageType: ''
    returnType: void
    signature: "void postmap_body(void *ptr, int unused_rec_type,\n\t\t\t         const
      char *keybuf,\n\t\t\t         ssize_t unused_len,\n\t\t\t         off_t unused_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: postmap_body
      Src: /src/postfix/postfix/src/postmap/postmap.c:639,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postmap/postmap.c:639,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/postmap/postmap.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ptr
    - unused_header_class
    - unused_header_info
    - header_buf
    - offset
    argTypes:
    - void*
    - int
    - HEADER_OPTS*
    - VSTRING*
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 640
    functionName: postmap_header
    functionSourceFile: /src/postfix/postfix/src/postmap/postmap.c
    functionUses: 0
    functionsReached:
    - postmap_body
    - LEN
    - STR
    linkageType: ''
    returnType: void
    signature: "void postmap_header(void *ptr, int unused_header_class,\n\t\t\t           const
      HEADER_OPTS *unused_header_info,\n\t\t\t           VSTRING *header_buf,\n\t\t\t
      \          off_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 652
    functionName: postmap_head_end
    functionSourceFile: /src/postfix/postfix/src/postmap/postmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void postmap_head_end(void *ptr)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postmap/postmap.c:661,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postmap/postmap.c:671,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/postmap/postmap.c:676,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/postmap/postmap.c:685,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/postmap/postmap.c:688,1
    - Dst: dict_open3
      Src: /src/postfix/postfix/src/postmap/postmap.c:689,1
    - Dst: dict_open3
      Src: /src/postfix/postfix/src/postmap/postmap.c:690,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postmap/postmap.c:693,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postmap/postmap.c:696,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postmap/postmap.c:697,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postmap/postmap.c:698,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postmap/postmap.c:701,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postmap/postmap.c:701,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmap/postmap.c:709,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmap/postmap.c:712,1
    - Dst: mime_state_alloc
      Src: /src/postfix/postfix/src/postmap/postmap.c:732,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/postmap/postmap.c:747,1
    - Dst: mime_state_update
      Src: /src/postfix/postfix/src/postmap/postmap.c:749,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postmap/postmap.c:750,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/postmap/postmap.c:750,1
    - Dst: mime_state_update
      Src: /src/postfix/postfix/src/postmap/postmap.c:756,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmap/postmap.c:758,1
    - Dst: mime_state_detail
      Src: /src/postfix/postfix/src/postmap/postmap.c:759,1
    - Dst: mime_state_free
      Src: /src/postfix/postfix/src/postmap/postmap.c:760,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/postmap/postmap.c:765,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/postmap/postmap.c:772,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postmap/postmap.c:773,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postmap/postmap.c:774,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 5
    argNames:
    - in
    - maps
    - map_count
    - postmap_flags
    - dict_flags
    argTypes:
    - VSTREAM*
    - char**
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 656
    functionDepth: 4
    functionLinenumber: 656
    functionLinenumberEnd: 777
    functionName: postmap_queries
    functionSourceFile: /src/postfix/postfix/src/postmap/postmap.c
    functionUses: 0
    functionsReached:
    - mime_state_detail
    - LEN
    - msg_panic
    - vstring_get_nonl
    - vstream_fflush
    - vstring_alloc
    - dict_open3
    - mymalloc
    - split_at
    - myfree
    - vstream_printf
    - vstring_free
    - mime_state_alloc
    - msg_warn
    - mime_state_update
    - mime_state_free
    - dict_close
    - msg_fatal
    - STR
    linkageType: ''
    returnType: int
    signature: "int postmap_queries(VSTREAM *in, char **maps, const int map_count,\n\t\t\t
      \          const int postmap_flags,\n\t\t\t           const int dict_flags)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dict_open3
      Src: /src/postfix/postfix/src/postmap/postmap.c:787,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postmap/postmap.c:792,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postmap/postmap.c:794,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postmap/postmap.c:797,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmap/postmap.c:803,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmap/postmap.c:806,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/postmap/postmap.c:809,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/postmap/postmap.c:810,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - map_type
    - map_name
    - key
    - dict_flags
    argTypes:
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 812
    functionName: postmap_query
    functionSourceFile: /src/postfix/postfix/src/postmap/postmap.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - vstream_fflush
    - dict_open3
    - vstream_printf
    - dict_close
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: "int postmap_query(const char *map_type, const char *map_name,\n\t\t\t
      \        const char *key, int dict_flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postmap/postmap.c:820,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postmap/postmap.c:830,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/postmap/postmap.c:835,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/postmap/postmap.c:837,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postmap/postmap.c:838,1
    - Dst: dict_open3
      Src: /src/postfix/postfix/src/postmap/postmap.c:843,1
    - Dst: dict_open3
      Src: /src/postfix/postfix/src/postmap/postmap.c:844,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/postmap/postmap.c:850,1
    - Dst: dict_del
      Src: /src/postfix/postfix/src/postmap/postmap.c:852,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postmap/postmap.c:852,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmap/postmap.c:854,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/postmap/postmap.c:864,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postmap/postmap.c:865,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postmap/postmap.c:866,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - in
    - maps
    - map_count
    - dict_flags
    argTypes:
    - VSTREAM*
    - char**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 869
    functionName: postmap_deletes
    functionSourceFile: /src/postfix/postfix/src/postmap/postmap.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstring_get_nonl
    - vstring_alloc
    - dict_open3
    - dict_del
    - myfree
    - strcmp
    - dict_close
    - mymalloc
    - split_at
    - msg_fatal
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: "int postmap_deletes(VSTREAM *in, char **maps, const int map_count,\n\t\t\t
      \          int dict_flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postmap/postmap.c:880,1
    - Dst: dict_open3
      Src: /src/postfix/postfix/src/postmap/postmap.c:884,1
    - Dst: dict_del
      Src: /src/postfix/postfix/src/postmap/postmap.c:885,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmap/postmap.c:887,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/postmap/postmap.c:888,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - map_type
    - map_name
    - key
    - dict_flags
    argTypes:
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 890
    functionName: postmap_delete
    functionSourceFile: /src/postfix/postfix/src/postmap/postmap.c
    functionUses: 0
    functionsReached:
    - dict_open3
    - dict_del
    - strcmp
    - dict_close
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: "int postmap_delete(const char *map_type, const char *map_name,\n\t\t\t
      \         const char *key, int dict_flags)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dict_open3
      Src: /src/postfix/postfix/src/postmap/postmap.c:902,1
    - Dst: dict_seq
      Src: /src/postfix/postfix/src/postmap/postmap.c:904,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postmap/postmap.c:907,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postmap/postmap.c:910,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postmap/postmap.c:912,1
    - Dst: dict_file_from_b64
      Src: /src/postfix/postfix/src/postmap/postmap.c:919,1
    - Dst: dict_file_get_error
      Src: /src/postfix/postfix/src/postmap/postmap.c:920,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postmap/postmap.c:921,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postmap/postmap.c:923,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postmap/postmap.c:927,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postmap/postmap.c:929,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmap/postmap.c:932,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/postmap/postmap.c:933,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/postmap/postmap.c:934,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - map_type
    - map_name
    - dict_flags
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 935
    functionName: postmap_seq
    functionSourceFile: /src/postfix/postfix/src/postmap/postmap.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - dict_seq
    - vstream_fflush
    - dict_open3
    - myfree
    - dict_file_from_b64
    - vstream_printf
    - dict_close
    - msg_fatal
    - dict_file_get_error
    - STR
    linkageType: ''
    returnType: void
    signature: "void postmap_seq(const char *map_type, const char *map_name,\n\t\t\t
      \       int dict_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmap/postmap.c:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - myname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 939
    functionDepth: 1
    functionLinenumber: 939
    functionLinenumberEnd: 943
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/postmap/postmap.c
    functionUses: 23
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(char *myname)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/postfix/postfix/src/postmap/postmap.c:974,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/postmap/postmap.c:982,1
    - Dst: close
      Src: /src/postfix/postfix/src/postmap/postmap.c:983,1
    - Dst: open
      Src: /src/postfix/postfix/src/postmap/postmap.c:983,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmap/postmap.c:984,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/postmap/postmap.c:990,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/postmap/postmap.c:997,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/postmap/postmap.c:999,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/postmap/postmap.c:1000,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/postmap/postmap.c:1000,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/postmap/postmap.c:1010,1
    - Dst: usage
      Src: /src/postfix/postfix/src/postmap/postmap.c:1013,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/postmap/postmap.c:1023,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmap/postmap.c:1024,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmap/postmap.c:1028,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmap/postmap.c:1042,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmap/postmap.c:1061,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmap/postmap.c:1070,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/postmap/postmap.c:1088,1
    - Dst: mail_parm_split
      Src: /src/postfix/postfix/src/postmap/postmap.c:1090,1
    - Dst: update_env
      Src: /src/postfix/postfix/src/postmap/postmap.c:1091,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postmap/postmap.c:1092,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/postmap/postmap.c:1094,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/postmap/postmap.c:1094,1
    - Dst: mail_dict_init
      Src: /src/postfix/postfix/src/postmap/postmap.c:1095,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postmap/postmap.c:1096,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postmap/postmap.c:1098,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postmap/postmap.c:1102,1
    - Dst: usage
      Src: /src/postfix/postfix/src/postmap/postmap.c:1113,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postmap/postmap.c:1114,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postmap/postmap.c:1115,1
    - Dst: postmap_deletes
      Src: /src/postfix/postfix/src/postmap/postmap.c:1115,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/postmap/postmap.c:1119,1
    - Dst: postmap_delete
      Src: /src/postfix/postfix/src/postmap/postmap.c:1120,1
    - Dst: postmap_delete
      Src: /src/postfix/postfix/src/postmap/postmap.c:1123,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postmap/postmap.c:1128,1
    - Dst: usage
      Src: /src/postfix/postfix/src/postmap/postmap.c:1131,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postmap/postmap.c:1132,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postmap/postmap.c:1133,1
    - Dst: postmap_queries
      Src: /src/postfix/postfix/src/postmap/postmap.c:1133,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/postmap/postmap.c:1136,1
    - Dst: postmap_query
      Src: /src/postfix/postfix/src/postmap/postmap.c:1137,1
    - Dst: postmap_query
      Src: /src/postfix/postfix/src/postmap/postmap.c:1140,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postmap/postmap.c:1144,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postmap/postmap.c:1147,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/postmap/postmap.c:1150,1
    - Dst: postmap_seq
      Src: /src/postfix/postfix/src/postmap/postmap.c:1151,1
    - Dst: postmap_seq
      Src: /src/postfix/postfix/src/postmap/postmap.c:1154,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postmap/postmap.c:1157,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postmap/postmap.c:1159,1
    - Dst: usage
      Src: /src/postfix/postfix/src/postmap/postmap.c:1162,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/postmap/postmap.c:1164,1
    - Dst: postmap
      Src: /src/postfix/postfix/src/postmap/postmap.c:1165,1
    - Dst: postmap
      Src: /src/postfix/postfix/src/postmap/postmap.c:1168,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postmap/postmap.c:1173,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 159
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 947
    functionDepth: 5
    functionLinenumber: 947
    functionLinenumberEnd: 1175
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/postmap/postmap.c
    functionUses: 24
    functionsReached:
    - msg_vstream_init
    - open
    - GETOPT
    - setenv
    - maillog_client_init
    - postmap_deletes
    - exit
    - split_at
    - getenv
    - postmap_seq
    - mail_parm_split
    - update_env
    - close
    - mail_task
    - postmap_query
    - fstat
    - postmap
    - mail_conf_read
    - strrchr
    - postmap_queries
    - msg_warn
    - postmap_delete
    - mail_dict_init
    - argv_free
    - umask
    - strcmp
    - usage
    - msg_fatal
    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: 283
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 283
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/verify/verify.c
    functionUses: 258
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - 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: 284
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 284
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/verify/verify.c
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    functionName: STATUS_FROM_RAW_ENTRY
    functionSourceFile: /src/postfix/postfix/src/verify/verify.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATUS_FROM_RAW_ENTRY(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/verify/verify.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - buf
    - status
    - probed
    - updated
    - text
    argTypes:
    - VSTRING*
    - int
    - long
    - long
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: verify_make_entry
    functionSourceFile: /src/postfix/postfix/src/verify/verify.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    linkageType: ''
    returnType: void
    signature: "void verify_make_entry(VSTRING *buf, int status, long probed,\n\t\t\t
      \             long updated, const char *text)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: split_at
      Src: /src/postfix/postfix/src/verify/verify.c:325,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/verify/verify.c:326,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/verify/verify.c:327,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/verify/verify.c:328,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/verify/verify.c:329,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/verify/verify.c:330,1
    - Dst: atol
      Src: /src/postfix/postfix/src/verify/verify.c:331,1
    - Dst: atol
      Src: /src/postfix/postfix/src/verify/verify.c:332,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/verify/verify.c:333,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/verify/verify.c:348,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 10
    argCount: 5
    argNames:
    - buf
    - status
    - probed
    - updated
    - text
    argTypes:
    - char*
    - int*
    - long*
    - long*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 350
    functionName: verify_parse_entry
    functionSourceFile: /src/postfix/postfix/src/verify/verify.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - alldig
    - atol
    - atoi
    - split_at
    linkageType: ''
    returnType: int
    signature: "int verify_parse_entry(char *buf, int *status, long *probed,\n\t\t\t
      \             long *updated, char **text)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - addr_status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 363
    functionName: verify_stat2name
    functionSourceFile: /src/postfix/postfix/src/verify/verify.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *verify_stat2name(int addr_status)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/verify/verify.c:369,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/verify/verify.c:370,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/verify/verify.c:372,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/verify/verify.c:378,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/verify/verify.c:379,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/verify/verify.c:380,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/verify/verify.c:381,1
    - Dst: translit
      Src: /src/postfix/postfix/src/verify/verify.c:384,1
    - Dst: STR
      Src: /src/postfix/postfix/src/verify/verify.c:384,1
    - Dst: verify_stat2name
      Src: /src/postfix/postfix/src/verify/verify.c:385,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/verify/verify.c:386,1
    - Dst: STR
      Src: /src/postfix/postfix/src/verify/verify.c:387,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/verify/verify.c:388,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/verify/verify.c:389,1
    - Dst: dict_cache_lookup
      Src: /src/postfix/postfix/src/verify/verify.c:400,1
    - Dst: STR
      Src: /src/postfix/postfix/src/verify/verify.c:400,1
    - Dst: STATUS_FROM_RAW_ENTRY
      Src: /src/postfix/postfix/src/verify/verify.c:401,1
    - Dst: time
      Src: /src/postfix/postfix/src/verify/verify.c:403,1
    - Dst: printable
      Src: /src/postfix/postfix/src/verify/verify.c:404,1
    - Dst: STR
      Src: /src/postfix/postfix/src/verify/verify.c:404,1
    - Dst: verify_make_entry
      Src: /src/postfix/postfix/src/verify/verify.c:405,1
    - Dst: STR
      Src: /src/postfix/postfix/src/verify/verify.c:405,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/verify/verify.c:407,1
    - Dst: STR
      Src: /src/postfix/postfix/src/verify/verify.c:408,1
    - Dst: STR
      Src: /src/postfix/postfix/src/verify/verify.c:408,1
    - Dst: dict_cache_update
      Src: /src/postfix/postfix/src/verify/verify.c:409,1
    - Dst: STR
      Src: /src/postfix/postfix/src/verify/verify.c:409,1
    - Dst: STR
      Src: /src/postfix/postfix/src/verify/verify.c:409,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/verify/verify.c:411,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/verify/verify.c:412,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/verify/verify.c:416,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/verify/verify.c:417,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/verify/verify.c:418,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - client_stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 419
    functionName: verify_update_service
    functionSourceFile: /src/postfix/postfix/src/verify/verify.c
    functionUses: 0
    functionsReached:
    - printable
    - msg_warn
    - STATUS_FROM_RAW_ENTRY
    - verify_stat2name
    - SEND_ATTR_INT
    - time
    - attr_print
    - vstring_alloc
    - RECV_ATTR_STR
    - attr_scan
    - msg_info
    - vstring_free
    - verify_make_entry
    - dict_cache_update
    - translit
    - dict_cache_lookup
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: void
    signature: void verify_update_service(VSTREAM *client_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - unused_status
    - unused_context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: verify_post_mail_fclose_action
    functionSourceFile: /src/postfix/postfix/src/verify/verify.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void verify_post_mail_fclose_action(int unused_status,\n\t\t\t\t\t
      \          void *unused_context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: post_mail_fclose_async
      Src: /src/postfix/postfix/src/verify/verify.c:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - stream
    - context
    argTypes:
    - VSTREAM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 440
    functionName: verify_post_mail_action
    functionSourceFile: /src/postfix/postfix/src/verify/verify.c
    functionUses: 0
    functionsReached:
    - post_mail_fclose_async
    linkageType: ''
    returnType: void
    signature: void verify_post_mail_action(VSTREAM *stream, void *context)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/verify/verify.c:446,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/verify/verify.c:455,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/verify/verify.c:456,1
    - Dst: time
      Src: /src/postfix/postfix/src/verify/verify.c:458,1
    - Dst: translit
      Src: /src/postfix/postfix/src/verify/verify.c:483,1
    - Dst: STR
      Src: /src/postfix/postfix/src/verify/verify.c:483,1
    - Dst: dict_cache_lookup
      Src: /src/postfix/postfix/src/verify/verify.c:484,1
    - Dst: STR
      Src: /src/postfix/postfix/src/verify/verify.c:484,1
    - Dst: dict_cache_error
      Src: /src/postfix/postfix/src/verify/verify.c:485,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/verify/verify.c:491,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/verify/verify.c:492,1
    - Dst: verify_parse_entry
      Src: /src/postfix/postfix/src/verify/verify.c:493,1
    - Dst: STR
      Src: /src/postfix/postfix/src/verify/verify.c:493,1
    - Dst: POSITIVE_ENTRY_EXPIRED
      Src: /src/postfix/postfix/src/verify/verify.c:496,1
    - Dst: NEGATIVE_ENTRY_EXPIRED
      Src: /src/postfix/postfix/src/verify/verify.c:497,1
    - Dst: dict_cache_delete
      Src: /src/postfix/postfix/src/verify/verify.c:503,1
    - Dst: STR
      Src: /src/postfix/postfix/src/verify/verify.c:503,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/verify/verify.c:506,1
    - Dst: STR
      Src: /src/postfix/postfix/src/verify/verify.c:507,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/verify/verify.c:512,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/verify/verify.c:513,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/verify/verify.c:514,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/verify/verify.c:515,1
    - Dst: dict_cache_error
      Src: /src/postfix/postfix/src/verify/verify.c:534,1
    - Dst: POSITIVE_REFRESH_NEEDED
      Src: /src/postfix/postfix/src/verify/verify.c:535,1
    - Dst: NEGATIVE_REFRESH_NEEDED
      Src: /src/postfix/postfix/src/verify/verify.c:536,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/verify/verify.c:538,1
    - Dst: STR
      Src: /src/postfix/postfix/src/verify/verify.c:539,1
    - Dst: post_mail_fopen_async
      Src: /src/postfix/postfix/src/verify/verify.c:540,1
    - Dst: make_verify_sender_addr
      Src: /src/postfix/postfix/src/verify/verify.c:540,1
    - Dst: STR
      Src: /src/postfix/postfix/src/verify/verify.c:540,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/verify/verify.c:549,1
    - Dst: verify_make_entry
      Src: /src/postfix/postfix/src/verify/verify.c:550,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/verify/verify.c:552,1
    - Dst: STR
      Src: /src/postfix/postfix/src/verify/verify.c:553,1
    - Dst: dict_cache_update
      Src: /src/postfix/postfix/src/verify/verify.c:554,1
    - Dst: STR
      Src: /src/postfix/postfix/src/verify/verify.c:554,1
    - Dst: STR
      Src: /src/postfix/postfix/src/verify/verify.c:554,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/verify/verify.c:558,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/verify/verify.c:560,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/verify/verify.c:562,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 1
    argNames:
    - client_stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 563
    functionName: verify_query_service
    functionSourceFile: /src/postfix/postfix/src/verify/verify.c
    functionUses: 0
    functionsReached:
    - POSITIVE_REFRESH_NEEDED
    - attr_print
    - RECV_ATTR_STR
    - msg_info
    - dict_cache_error
    - translit
    - verify_parse_entry
    - NEGATIVE_REFRESH_NEEDED
    - vstring_alloc
    - attr_scan
    - POSITIVE_ENTRY_EXPIRED
    - time
    - SEND_ATTR_INT
    - dict_cache_delete
    - verify_make_entry
    - NEGATIVE_ENTRY_EXPIRED
    - dict_cache_lookup
    - vstring_free
    - SEND_ATTR_STR
    - post_mail_fopen_async
    - dict_cache_update
    - vstring_strcpy
    - make_verify_sender_addr
    - STR
    linkageType: ''
    returnType: void
    signature: void verify_query_service(VSTREAM *client_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr_status
    - ','
    - updated
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 478
    functionName: POSITIVE_ENTRY_EXPIRED
    functionSourceFile: /src/postfix/postfix/src/verify/verify.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POSITIVE_ENTRY_EXPIRED(addr_status, updated)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr_status
    - ','
    - updated
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 480
    functionName: NEGATIVE_ENTRY_EXPIRED
    functionSourceFile: /src/postfix/postfix/src/verify/verify.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEGATIVE_ENTRY_EXPIRED(addr_status, updated)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr_status
    - ','
    - updated
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 531
    functionName: POSITIVE_REFRESH_NEEDED
    functionSourceFile: /src/postfix/postfix/src/verify/verify.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POSITIVE_REFRESH_NEEDED(addr_status, updated)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr_status
    - ','
    - updated
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 533
    functionName: NEGATIVE_REFRESH_NEEDED
    functionSourceFile: /src/postfix/postfix/src/verify/verify.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEGATIVE_REFRESH_NEEDED(addr_status, updated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_time
      Src: /src/postfix/postfix/src/verify/verify.c:575,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/verify/verify.c:581,1
    - Dst: verify_parse_entry
      Src: /src/postfix/postfix/src/verify/verify.c:582,1
    - Dst: STR
      Src: /src/postfix/postfix/src/verify/verify.c:582,1
    - Dst: POS_OR_NEG_ENTRY_EXPIRED
      Src: /src/postfix/postfix/src/verify/verify.c:585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - addr
    - raw_data
    - context
    argTypes:
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 586
    functionName: verify_cache_validator
    functionSourceFile: /src/postfix/postfix/src/verify/verify.c
    functionUses: 0
    functionsReached:
    - POS_OR_NEG_ENTRY_EXPIRED
    - event_time
    - vstring_strcpy
    - verify_parse_entry
    - STR
    linkageType: ''
    returnType: int
    signature: "int verify_cache_validator(const char *addr, const char *raw_data,\n\t\t\t\t
      \         void *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stat
    - ','
    - stamp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 580
    functionName: POS_OR_NEG_ENTRY_EXPIRED
    functionSourceFile: /src/postfix/postfix/src/verify/verify.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POS_OR_NEG_ENTRY_EXPIRED(stat, stamp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/verify/verify.c:593,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/verify/verify.c:599,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/verify/verify.c:606,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/verify/verify.c:608,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/verify/verify.c:610,1
    - Dst: STR
      Src: /src/postfix/postfix/src/verify/verify.c:610,1
    - Dst: verify_update_service
      Src: /src/postfix/postfix/src/verify/verify.c:611,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/verify/verify.c:612,1
    - Dst: STR
      Src: /src/postfix/postfix/src/verify/verify.c:612,1
    - Dst: verify_query_service
      Src: /src/postfix/postfix/src/verify/verify.c:613,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/verify/verify.c:615,1
    - Dst: STR
      Src: /src/postfix/postfix/src/verify/verify.c:615,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/verify/verify.c:616,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/verify/verify.c:617,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/verify/verify.c:621,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/verify/verify.c:622,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - client_stream
    - unused_service
    - argv
    argTypes:
    - VSTREAM*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 590
    functionDepth: 3
    functionLinenumber: 590
    functionLinenumberEnd: 623
    functionName: verify_service
    functionSourceFile: /src/postfix/postfix/src/verify/verify.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - verify_query_service
    - verify_update_service
    - SEND_ATTR_INT
    - attr_print
    - vstring_alloc
    - RECV_ATTR_STR
    - attr_scan
    - vstream_fflush
    - STREQ
    - msg_fatal
    - vstring_free
    - STR
    linkageType: ''
    returnType: void
    signature: "void verify_service(VSTREAM *client_stream, char *unused_service,\n\t\t\t
      \          char **argv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_cache_close
      Src: /src/postfix/postfix/src/verify/verify.c:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 638
    functionName: verify_dump
    functionSourceFile: /src/postfix/postfix/src/verify/verify.c
    functionUses: 0
    functionsReached:
    - dict_cache_close
    linkageType: ''
    returnType: void
    signature: void verify_dump(char *unused_name, char **unused_argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dict_cache_control
      Src: /src/postfix/postfix/src/verify/verify.c:664,1
    - Dst: CA_DICT_CACHE_CTL_FLAGS
      Src: /src/postfix/postfix/src/verify/verify.c:665,1
    - Dst: CA_DICT_CACHE_CTL_INTERVAL
      Src: /src/postfix/postfix/src/verify/verify.c:666,1
    - Dst: CA_DICT_CACHE_CTL_VALIDATOR
      Src: /src/postfix/postfix/src/verify/verify.c:667,1
    - Dst: CA_DICT_CACHE_CTL_CONTEXT
      Src: /src/postfix/postfix/src/verify/verify.c:668,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/verify/verify.c:668,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 671
    functionName: post_jail_init
    functionSourceFile: /src/postfix/postfix/src/verify/verify.c
    functionUses: 0
    functionsReached:
    - CA_DICT_CACHE_CTL_FLAGS
    - CA_DICT_CACHE_CTL_CONTEXT
    - CA_DICT_CACHE_CTL_VALIDATOR
    - vstring_alloc
    - dict_cache_control
    - CA_DICT_CACHE_CTL_INTERVAL
    linkageType: ''
    returnType: void
    signature: void post_jail_init(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsid
      Src: /src/postfix/postfix/src/verify/verify.c:684,1
    - Dst: SAVE_AND_SET_EUGID
      Src: /src/postfix/postfix/src/verify/verify.c:707,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/verify/verify.c:708,1
    - Dst: umask
      Src: /src/postfix/postfix/src/verify/verify.c:718,1
    - Dst: dict_cache_open
      Src: /src/postfix/postfix/src/verify/verify.c:720,1
    - Dst: data_redirect_map
      Src: /src/postfix/postfix/src/verify/verify.c:721,1
    - Dst: umask
      Src: /src/postfix/postfix/src/verify/verify.c:724,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/verify/verify.c:729,1
    - Dst: RESTORE_SAVED_EUGID
      Src: /src/postfix/postfix/src/verify/verify.c:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 675
    functionDepth: 3
    functionLinenumber: 675
    functionLinenumberEnd: 731
    functionName: pre_jail_init
    functionSourceFile: /src/postfix/postfix/src/verify/verify.c
    functionUses: 3
    functionsReached:
    - setsid
    - vstring_alloc
    - umask
    - dict_cache_open
    - RESTORE_SAVED_EUGID
    - data_redirect_map
    - SAVE_AND_SET_EUGID
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void pre_jail_init(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: attr_print
      Src: /src/postfix/postfix/src/verify/verify.c:742,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/verify/verify.c:743,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/verify/verify.c:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - stream
    - unused_name
    - unused_argv
    - unused_table
    argTypes:
    - VSTREAM*
    - char*
    - char**
    - HTABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 746
    functionName: post_accept_init
    functionSourceFile: /src/postfix/postfix/src/verify/verify.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_STR
    - attr_print
    - vstream_fflush
    linkageType: ''
    returnType: void
    signature: "void post_accept_init(VSTREAM *stream, char *unused_name,\n\t\t\t
      \          char **unused_argv, HTABLE *unused_table)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: multi_server_main
      Src: /src/postfix/postfix/src/verify/verify.c:774,1
    - Dst: CA_MAIL_SERVER_STR_TABLE
      Src: /src/postfix/postfix/src/verify/verify.c:775,1
    - Dst: CA_MAIL_SERVER_TIME_TABLE
      Src: /src/postfix/postfix/src/verify/verify.c:776,1
    - Dst: CA_MAIL_SERVER_PRE_INIT
      Src: /src/postfix/postfix/src/verify/verify.c:777,1
    - Dst: CA_MAIL_SERVER_POST_INIT
      Src: /src/postfix/postfix/src/verify/verify.c:778,1
    - Dst: CA_MAIL_SERVER_POST_ACCEPT
      Src: /src/postfix/postfix/src/verify/verify.c:779,1
    - Dst: CA_MAIL_SERVER_EXIT
      Src: /src/postfix/postfix/src/verify/verify.c:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 783
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/verify/verify.c
    functionUses: 25
    functionsReached:
    - multi_server_main
    - CA_MAIL_SERVER_STR_TABLE
    - CA_MAIL_SERVER_EXIT
    - CA_MAIL_SERVER_POST_INIT
    - CA_MAIL_SERVER_TIME_TABLE
    - CA_MAIL_SERVER_POST_ACCEPT
    - CA_MAIL_SERVER_PRE_INIT
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:70,1
    - Dst: sprintf
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:71,1
    - Dst: rename
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:72,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - old
    - new
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: rename_file
    functionSourceFile: /src/postfix/postfix/src/fsstone/fsstone.c
    functionUses: 0
    functionsReached:
    - sprintf
    - rename
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void rename_file(int old, int new)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:85,1
    - Dst: fopen
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:86,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:87,1
    - Dst: memset
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:88,1
    - Dst: fwrite
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:90,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:91,1
    - Dst: fsync
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:92,1
    - Dst: fileno
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:92,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:93,1
    - Dst: fclose
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:94,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:95,1
    - Dst: fopen
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:96,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:97,1
    - Dst: fgets
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:98,1
    - Dst: fclose
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:100,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - seqno
    - size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 102
    functionName: make_file
    functionSourceFile: /src/postfix/postfix/src/fsstone/fsstone.c
    functionUses: 0
    functionsReached:
    - fgets
    - sprintf
    - fileno
    - fwrite
    - fopen
    - memset
    - fclose
    - msg_fatal
    - fsync
    linkageType: ''
    returnType: void
    signature: void make_file(int seqno, int size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:112,1
    - Dst: fopen
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:113,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:114,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:116,1
    - Dst: fsync
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:117,1
    - Dst: fileno
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:117,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:118,1
    - Dst: fclose
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:119,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:120,1
    - Dst: fopen
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:121,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:122,1
    - Dst: fgets
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:123,1
    - Dst: ftruncate
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:125,1
    - Dst: fileno
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:125,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:126,1
    - Dst: fclose
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:127,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - seqno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 129
    functionName: use_file
    functionSourceFile: /src/postfix/postfix/src/fsstone/fsstone.c
    functionUses: 0
    functionsReached:
    - fgets
    - sprintf
    - fileno
    - fopen
    - ftruncate
    - fclose
    - msg_fatal
    - fsync
    - fprintf
    linkageType: ''
    returnType: void
    signature: void use_file(int seqno)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:137,1
    - Dst: remove
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:138,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - seq
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: remove_file
    functionSourceFile: /src/postfix/postfix/src/fsstone/fsstone.c
    functionUses: 0
    functionsReached:
    - sprintf
    - msg_fatal
    - remove
    linkageType: ''
    returnType: void
    signature: void remove_file(int seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:148,1
    - Dst: remove
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - seq
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: remove_silent
    functionSourceFile: /src/postfix/postfix/src/fsstone/fsstone.c
    functionUses: 0
    functionsReached:
    - sprintf
    - remove
    linkageType: ''
    returnType: void
    signature: void remove_silent(int seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - myname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/fsstone/fsstone.c
    functionUses: 24
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void usage(char *myname)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:177,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:178,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:187,1
    - Dst: usage
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:188,1
    - Dst: usage
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:191,1
    - Dst: usage
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:196,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:197,1
    - Dst: usage
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:198,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:199,1
    - Dst: usage
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:200,1
    - Dst: make_file
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:206,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:211,1
    - Dst: remove_file
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:215,1
    - Dst: make_file
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:216,1
    - Dst: rename_file
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:218,1
    - Dst: rename_file
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:219,1
    - Dst: use_file
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:222,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:227,1
    - Dst: printf
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:232,1
    - Dst: remove_silent
      Src: /src/postfix/postfix/src/fsstone/fsstone.c:240,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 242
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/fsstone/fsstone.c
    functionUses: 25
    functionsReached:
    - GETTIMEOFDAY
    - rename_file
    - msg_vstream_init
    - use_file
    - atoi
    - printf
    - usage
    - make_file
    - remove_silent
    - GETOPT
    - remove_file
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:220,1
    - Dst: signal
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:221,1
    - Dst: signal
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:222,1
    - Dst: signal
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:223,1
    - Dst: remove
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:225,1
    - Dst: _exit
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 232
    functionName: postdrop_sig
    functionSourceFile: /src/postfix/postfix/src/postdrop/postdrop.c
    functionUses: 0
    functionsReached:
    - _exit
    - signal
    - remove
    linkageType: ''
    returnType: void
    signature: void postdrop_sig(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: postdrop_sig
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: postdrop_cleanup
    functionSourceFile: /src/postfix/postfix/src/postdrop/postdrop.c
    functionUses: 0
    functionsReached:
    - postdrop_sig
    linkageType: ''
    returnType: void
    signature: void postdrop_cleanup(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vstring_memchr
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:256,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:257,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:265,1
    - Dst: mypwuid
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:272,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:275,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:276,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:277,1
    - Dst: login_sender_create
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:284,1
    - Dst: login_sender_match
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:288,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:288,1
    - Dst: login_sender_free
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:289,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:291,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:296,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:297,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:301,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 3
    argNames:
    - uid
    - sender_buf
    - reason
    argTypes:
    - uid_t
    - VSTRING*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 243
    functionDepth: 4
    functionLinenumber: 243
    functionLinenumberEnd: 307
    functionName: check_login_sender_acl
    functionSourceFile: /src/postfix/postfix/src/postdrop/postdrop.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - login_sender_match
    - vstring_sprintf
    - mypwuid
    - login_sender_free
    - vstring_alloc
    - login_sender_create
    - vstring_memchr
    - strcmp
    - vstring_str
    - vstring_free
    linkageType: ''
    returnType: int
    signature: "int check_login_sender_acl(uid_t uid, VSTRING *sender_buf,\n\t\t\t\t
      \         VSTRING *reason)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:320,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:327,1
    - Dst: umask
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:348,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:356,1
    - Dst: close
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:357,1
    - Dst: open
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:357,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:358,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:364,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:365,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:365,1
    - Dst: set_mail_conf_str
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:366,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:366,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:379,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:382,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:383,1
    - Dst: geteuid
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:388,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:392,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:400,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:402,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:402,1
    - Dst: get_mail_conf_str_table
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:403,1
    - Dst: ENFORCING_SIZE_LIMIT
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:409,1
    - Dst: get_file_limit
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:410,1
    - Dst: set_file_limit
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:411,1
    - Dst: mail_parm_split
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:417,1
    - Dst: clean_env
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:418,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:419,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:421,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:422,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:424,1
    - Dst: signal
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:435,1
    - Dst: signal
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:436,1
    - Dst: signal
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:438,1
    - Dst: signal
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:439,1
    - Dst: signal
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:440,1
    - Dst: signal
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:441,1
    - Dst: signal
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:442,1
    - Dst: signal
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:443,1
    - Dst: msg_cleanup
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:444,1
    - Dst: mail_dict_init
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:452,1
    - Dst: check_user_acl_byuid
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:453,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:455,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:461,1
    - Dst: mail_stream_file
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:468,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:470,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:471,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:472,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:474,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:475,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:475,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:491,1
    - Dst: CA_VSTREAM_CTL_PATH
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:491,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:492,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:495,1
    - Dst: REC_TYPE_TIME_ARG
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:496,1
    - Dst: rec_get_raw
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:499,1
    - Dst: mail_stream_cleanup
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:501,1
    - Dst: remove
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:502,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:503,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:505,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:506,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:508,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:511,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:512,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:513,1
    - Dst: check_login_sender_acl
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:521,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:528,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:528,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:530,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:531,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:536,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:537,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:538,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:539,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:540,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:541,1
    - Dst: rec_attr_map
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:542,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:543,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:544,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:545,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:546,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:547,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:550,1
    - Dst: REC_PUT_BUF
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:556,1
    - Dst: rec_get_raw
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:559,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:563,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:571,1
    - Dst: mail_stream_cleanup
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:596,1
    - Dst: mail_stream_finish
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:602,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:603,1
    - Dst: postdrop_cleanup
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:604,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:614,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:620,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:621,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:622,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:623,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:624,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:626,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postdrop/postdrop.c:627,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 128
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 313
    functionDepth: 5
    functionLinenumber: 313
    functionLinenumberEnd: 628
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/postdrop/postdrop.c
    functionUses: 25
    functionsReached:
    - ENFORCING_SIZE_LIMIT
    - split_nameval
    - check_user_acl_byuid
    - VSTRING_LEN
    - rec_attr_map
    - REC_PUT_BUF
    - attr_print
    - msg_vstream_init
    - msg_info
    - vstream_control
    - open
    - mail_stream_cleanup
    - REC_TYPE_TIME_ARG
    - GETOPT
    - getuid
    - setenv
    - clean_env
    - VSTREAM_PATH
    - maillog_client_init
    - vstream_fflush
    - vstring_alloc
    - chdir
    - set_mail_conf_str
    - exit
    - get_mail_conf_str_table
    - vstring_str
    - mail_stream_file
    - GETTIMEOFDAY
    - mail_parm_split
    - SEND_ATTR_INT
    - close
    - mail_task
    - rec_get_raw
    - remove
    - myfree
    - STREQ
    - get_file_limit
    - fstat
    - signal
    - msg_cleanup
    - mail_conf_read
    - vstring_free
    - mail_stream_finish
    - postdrop_cleanup
    - msg_warn
    - CA_VSTREAM_CTL_PATH
    - strchr
    - mail_dict_init
    - geteuid
    - SEND_ATTR_STR
    - check_login_sender_acl
    - argv_free
    - umask
    - rec_fprintf
    - msg_fatal
    - set_file_limit
    - mystrdup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - 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: 535
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 535
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/postdrop/postdrop.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: IS_AVAIL_CLIENT_ATTR
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_AVAIL_CLIENT_ATTR(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 313
    functionName: IS_AVAIL_CLIENT_NAME
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_AVAIL_CLIENT_NAME(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 314
    functionName: IS_AVAIL_CLIENT_ADDR
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_AVAIL_CLIENT_ADDR(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: IS_AVAIL_CLIENT_PORT
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_AVAIL_CLIENT_PORT(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: IS_AVAIL_CLIENT_NAMADDR
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_AVAIL_CLIENT_NAMADDR(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: IS_AVAIL_CLIENT_HELO
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_AVAIL_CLIENT_HELO(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 318
    functionName: IS_AVAIL_CLIENT_PROTO
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_AVAIL_CLIENT_PROTO(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: IS_AVAIL_CLIENT_IDENT
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_AVAIL_CLIENT_IDENT(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    functionName: IS_AVAIL_CLIENT_DOMAIN
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_AVAIL_CLIENT_DOMAIN(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: SMTPD_STAND_ALONE_STREAM
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTPD_STAND_ALONE_STREAM(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: SMTPD_STAND_ALONE
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTPD_STAND_ALONE(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 337
    functionName: USE_SMTPD_PROXY
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: USE_SMTPD_PROXY(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    functionName: SMTPD_IN_MAIL_TRANSACTION
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTPD_IN_MAIL_TRANSACTION(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: SMTPD_PROCESSING_BDAT
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTPD_PROCESSING_BDAT(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - addr
    - ','
    - port
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: SMTPD_BUILD_NAMADDRPORT
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTPD_BUILD_NAMADDRPORT(name, addr, port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 376
    functionName: HAVE_FORWARDED_CLIENT_ATTR
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAVE_FORWARDED_CLIENT_ATTR(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: FORWARD_CLIENT_ATTR
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORWARD_CLIENT_ATTR(s, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 382
    functionName: FORWARD_ADDR
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORWARD_ADDR(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 383
    functionName: FORWARD_NAME
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORWARD_NAME(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 384
    functionName: FORWARD_NAMADDR
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORWARD_NAMADDR(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 385
    functionName: FORWARD_PROTO
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORWARD_PROTO(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 386
    functionName: FORWARD_HELO
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORWARD_HELO(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 387
    functionName: FORWARD_PORT
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORWARD_PORT(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 393
    functionName: HAVE_FORWARDED_IDENT
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAVE_FORWARDED_IDENT(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 397
    functionName: FORWARD_IDENT
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORWARD_IDENT(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: FORWARD_DOMAIN
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORWARD_DOMAIN(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:95,1
    - Dst: unescape
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: smtpd_expand_init
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_expand.c
    functionUses: 0
    functionsReached:
    - unescape
    - vstring_alloc
    linkageType: ''
    returnType: void
    signature: void smtpd_expand_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: smtpd_expand_unknown
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_expand.c
    functionUses: 0
    functionsReached:
    - msg_warn
    linkageType: ''
    returnType: void
    signature: void smtpd_expand_unknown(const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:139,1
    - Dst: vstring_strncpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:140,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:141,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:154,1
    - Dst: smtpd_expand_unknown
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:167,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - buf
    - addr
    - name
    - prefix_len
    argTypes:
    - VSTRING*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 169
    functionName: smtpd_expand_addr
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_expand.c
    functionUses: 0
    functionsReached:
    - strrchr
    - smtpd_expand_unknown
    - vstring_strncpy
    - STR
    linkageType: ''
    returnType: char
    signature: "char *smtpd_expand_addr(VSTRING *buf, const char *addr,\n\t\t\t\t
      \          const char *name, int prefix_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_expand.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x,y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:139,1
    - Dst: vstring_strncpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:140,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 147
    functionName: if
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_expand.c
    functionUses: 2
    functionsReached:
    - strrchr
    - vstring_strncpy
    - STR
    linkageType: ''
    returnType: else
    signature: else if (STREQ(suffix, MAIL_ATTR_S_NAME))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: if
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_expand.c
    functionUses: 2
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: else
    signature: else if (STREQ(suffix, MAIL_ATTR_S_DOMAIN))
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:182,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:185,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:203,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:205,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:207,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:209,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:211,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:213,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:215,1
    - Dst: STREQN
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:217,1
    - Dst: CONST_LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:217,1
    - Dst: smtpd_expand_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:218,1
    - Dst: CONST_LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:219,1
    - Dst: STREQN
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:220,1
    - Dst: CONST_LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:220,1
    - Dst: smtpd_expand_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:221,1
    - Dst: CONST_LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:222,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:223,1
    - Dst: time
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:224,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:225,1
    - Dst: localtime
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:226,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:227,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:229,1
    - Dst: strftime
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:230,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:230,1
    - Dst: vstring_avail
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:231,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:233,1
    - Dst: smtpd_expand_unknown
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:235,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 3
    argNames:
    - name
    - unused_mode
    - context
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 238
    functionName: smtpd_expand_lookup
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_expand.c
    functionUses: 0
    functionsReached:
    - smtpd_expand_unknown
    - localtime
    - strftime
    - time
    - vstring_alloc
    - VSTRING_SPACE
    - msg_info
    - VSTRING_RESET
    - STREQN
    - vstring_avail
    - CONST_LEN
    - STREQ
    - smtpd_expand_addr
    - msg_fatal
    - STR
    linkageType: ''
    returnType: char
    signature: "char *smtpd_expand_lookup(const char *name, int unused_mode,\n\t\t\t\t
      \       void *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: STREQN
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_expand.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQN(x,y,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: CONST_LEN
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_expand.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONST_LEN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mac_expand
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:245,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_expand.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - result
    - flags
    argTypes:
    - SMTPD_STATE*
    - VSTRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: smtpd_expand
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_expand.c
    functionUses: 0
    functionsReached:
    - mac_expand
    - STR
    linkageType: ''
    returnType: int
    signature: "int smtpd_expand(SMTPD_STATE *state, VSTRING *result,\n\t\t             const
      char *template, int flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:130,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:136,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 147
    functionName: smtpd_chat_pre_jail_init
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_chat.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - maps_create
    linkageType: ''
    returnType: void
    signature: void smtpd_chat_pre_jail_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argv_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: smtpd_chat_reset
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_chat.c
    functionUses: 0
    functionsReached:
    - argv_free
    linkageType: ''
    returnType: void
    signature: void smtpd_chat_reset(SMTPD_STATE *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:170,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:171,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:172,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - state
    - direction
    - text
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 174
    functionName: smtp_chat_append
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_chat.c
    functionUses: 0
    functionsReached:
    - concatenate
    - argv_alloc
    - myfree
    - argv_add
    linkageType: ''
    returnType: void
    signature: "void smtp_chat_append(SMTPD_STATE *state, char *direction,\n\t\t\t
      \            const char *text)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smtp_get
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:186,1
    - Dst: smtp_chat_append
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:188,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:188,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:190,1
    - Dst: printable
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:192,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:192,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:195,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - state
    - limit
    argTypes:
    - SMTPD_STATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 197
    functionName: smtpd_chat_query_limit
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_chat.c
    functionUses: 0
    functionsReached:
    - printable
    - msg_warn
    - smtp_chat_append
    - msg_info
    - smtp_get
    - STR
    linkageType: ''
    returnType: int
    signature: int smtpd_chat_query_limit(SMTPD_STATE *state, int limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:205,1
    - Dst: vsmtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:206,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - state
    - format
    argTypes:
    - SMTPD_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 208
    functionName: smtpd_chat_reply
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_chat.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    - vsmtpd_chat_reply
    linkageType: ''
    returnType: void
    signature: void smtpd_chat_reply(SMTPD_STATE *state, const char *format,...)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: sleep
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:226,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:232,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:233,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:236,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:241,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:241,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:243,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:244,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:247,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:248,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:249,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:252,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:254,1
    - Dst: smtp_reply_footer
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:256,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:256,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:260,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:260,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:260,1
    - Dst: strstr
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:269,1
    - Dst: smtp_chat_append
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:278,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:281,1
    - Dst: smtp_fputs
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:283,1
    - Dst: time
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:295,1
    - Dst: vstream_ftime
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:295,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:296,1
    - Dst: vstream_ftimeout
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:301,1
    - Dst: vstream_longjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:302,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:303,1
    - Dst: vstream_longjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:304,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:309,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:309,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:310,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:310,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 48
    argCount: 3
    argNames:
    - state
    - format
    - ap
    argTypes:
    - SMTPD_STATE*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 312
    functionName: vsmtpd_chat_reply
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_chat.c
    functionUses: 1
    functionsReached:
    - sleep
    - smtp_fputs
    - vstream_ferror
    - msg_info
    - vstream_longjmp
    - strlen
    - maps_find
    - smtp_chat_append
    - vstream_fflush
    - smtp_reply_footer
    - time
    - strncmp
    - msg_warn
    - vstring_vsprintf
    - vstream_ftime
    - vstream_ftimeout
    - vstring_strcpy
    - ISDIGIT
    - strstr
    - STR
    linkageType: ''
    returnType: void
    signature: void vsmtpd_chat_reply(SMTPD_STATE *state, const char *format, va_list
      ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - str
    - len
    - indent
    - context
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: print_line
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_chat.c
    functionUses: 0
    functionsReached:
    - post_mail_fprintf
    linkageType: ''
    returnType: void
    signature: void print_line(const char *str, int len, int indent, void *context)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:335,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:337,1
    - Dst: post_mail_fopen_nowait
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:351,1
    - Dst: mail_addr_double_bounce
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:351,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:357,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:361,1
    - Dst: mail_addr_mail_daemon
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:362,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:363,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:365,1
    - Dst: mail_addr_mail_daemon
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:366,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:367,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:369,1
    - Dst: post_mail_fputs
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:371,1
    - Dst: post_mail_fputs
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:372,1
    - Dst: post_mail_fputs
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:373,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:374,1
    - Dst: line_wrap
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:376,1
    - Dst: printable
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:376,1
    - Dst: post_mail_fputs
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:378,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:380,1
    - Dst: post_mail_fputs
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:381,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:382,1
    - Dst: post_mail_fclose
      Src: /src/postfix/postfix/src/smtpd/smtpd_chat.c:383,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 384
    functionName: smtpd_chat_notify
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_chat.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - printable
    - line_wrap
    - msg_warn
    - post_mail_fopen_nowait
    - post_mail_fclose
    - mail_addr_mail_daemon
    - post_mail_fputs
    - mail_addr_double_bounce
    - msg_info
    - post_mail_fprintf
    - argv_terminate
    linkageType: ''
    returnType: void
    signature: void smtpd_chat_notify(SMTPD_STATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:89,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:90,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:91,1
    - Dst: name_mask
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:95,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:109,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:135,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:145,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:146,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:159,1
    - Dst: smtpd_sasl_set_inactive
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:161,1
    - Dst: smtpd_sasl_state_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:162,1
    - Dst: smtpd_peer_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:172,1
    - Dst: smtpd_xforward_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:177,1
    - Dst: smtpd_chat_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 73
    argCount: 3
    argNames:
    - state
    - stream
    - service
    argTypes:
    - SMTPD_STATE*
    - VSTREAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 193
    functionName: smtpd_state_init
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_state.c
    functionUses: 0
    functionsReached:
    - SMTPD_STAND_ALONE
    - smtpd_peer_init
    - name_mask
    - smtpd_sasl_set_inactive
    - vstring_alloc
    - smtpd_chat_reset
    - smtpd_sasl_state_init
    - smtpd_xforward_init
    - mystrdup
    linkageType: ''
    returnType: void
    signature: "void smtpd_state_init(SMTPD_STATE *state, VSTREAM *stream,\n\t\t\t
      \        const char *service)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:206,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:208,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:210,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:212,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:214,1
    - Dst: smtpd_peer_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:215,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:222,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:224,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:226,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:228,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:230,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:232,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:234,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:236,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:239,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:246,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_state.c:248,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 249
    functionName: smtpd_state_reset
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_state.c
    functionUses: 0
    functionsReached:
    - myfree
    - smtpd_peer_reset
    - vstream_fclose
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void smtpd_state_reset(SMTPD_STATE *state)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:187,1
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:187,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:188,1
    - Dst: geteuid
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:199,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:199,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:200,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:201,1
    - Dst: geteuid
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:201,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:202,1
    - Dst: sane_sockaddr_to_hostaddr
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:209,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:211,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:217,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:218,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:225,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:226,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:238,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:240,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:250,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:251,1
    - Dst: sane_sockaddr_to_hostaddr
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:258,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:263,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:270,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:271,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:272,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 283
    functionName: smtpd_peer_sockaddr_to_hostaddr
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - inet_proto_info
    - strchr
    - mystrdup
    - geteuid
    - msg_error
    - sane_sockaddr_to_hostaddr
    - concatenate
    - msg_fatal
    - MAI_STRERROR
    - getuid
    linkageType: ''
    returnType: int
    signature: int smtpd_peer_sockaddr_to_hostaddr(SMTPD_STATE *state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:313,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:314,1
    - Dst: sockaddr_to_hostname
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:317,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:319,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:320,1
    - Dst: TEMP_AI_ERROR
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:321,1
    - Dst: TEMP_AI_ERROR
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:323,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:329,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:330,1
    - Dst: hostname_to_sockaddr_pf
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:340,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:343,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:344,1
    - Dst: REJECT_PEER_NAME
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:345,1
    - Dst: TEMP_AI_ERROR
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:345,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:350,1
    - Dst: REJECT_PEER_NAME
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:352,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:355,1
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:355,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:356,1
    - Dst: sock_addr_cmp_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:360,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:363,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 366
    functionName: smtpd_peer_sockaddr_to_hostname
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer.c
    functionUses: 0
    functionsReached:
    - inet_proto_info
    - msg_warn
    - MAI_STRERROR
    - strchr
    - sock_addr_cmp_addr
    - TEMP_AI_ERROR
    - hostname_to_sockaddr_pf
    - msg_info
    - REJECT_PEER_NAME
    - mystrdup
    - freeaddrinfo
    - sockaddr_to_hostname
    linkageType: ''
    returnType: void
    signature: void smtpd_peer_sockaddr_to_hostname(SMTPD_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: TEMP_AI_ERROR
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEMP_AI_ERROR(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: REJECT_PEER_NAME
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REJECT_PEER_NAME(state, code)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostaddr_to_sockaddr
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:381,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:383,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:384,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:386,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:387,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:389,1
    - Dst: hostaddr_to_sockaddr
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:396,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:398,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:399,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:401,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:402,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 405
    functionName: smtpd_peer_hostaddr_to_sockaddr
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - freeaddrinfo
    - memcpy
    - msg_fatal
    - MAI_STRERROR
    - hostaddr_to_sockaddr
    linkageType: ''
    returnType: void
    signature: void smtpd_peer_hostaddr_to_sockaddr(SMTPD_STATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:416,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:417,1
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:419,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:420,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:421,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:425,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:426,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:431,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:433,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 438
    functionName: smtpd_peer_assume_local_client
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer.c
    functionUses: 0
    functionsReached:
    - inet_proto_info
    - mystrdup
    linkageType: ''
    returnType: void
    signature: void smtpd_peer_assume_local_client(SMTPD_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:444,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:445,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:446,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:447,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:451,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:453,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 458
    functionName: smtpd_peer_assume_unknown_client
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer.c
    functionUses: 0
    functionsReached:
    - mystrdup
    linkageType: ''
    returnType: void
    signature: void smtpd_peer_assume_unknown_client(SMTPD_STATE *state)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vstream_context
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:464,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:475,1
    - Dst: BAD_PASS_ATTR
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:476,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:477,1
    - Dst: valid_ipv6_hostaddr
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:478,1
    - Dst: BAD_PASS_ATTR
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:479,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:480,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:481,1
    - Dst: valid_ipv4_hostaddr
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:484,1
    - Dst: BAD_PASS_ATTR
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:485,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:486,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:487,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:490,1
    - Dst: BAD_PASS_ATTR
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:491,1
    - Dst: valid_hostport
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:492,1
    - Dst: BAD_PASS_ATTR
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:493,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:494,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:499,1
    - Dst: BAD_PASS_ATTR
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:500,1
    - Dst: valid_hostaddr
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:501,1
    - Dst: BAD_PASS_ATTR
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:502,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:503,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:505,1
    - Dst: BAD_PASS_ATTR
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:506,1
    - Dst: valid_hostport
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:507,1
    - Dst: BAD_PASS_ATTR
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:508,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:509,1
    - Dst: smtpd_peer_hostaddr_to_sockaddr
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:514,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 516
    functionName: smtpd_peer_from_pass_attr
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer.c
    functionUses: 0
    functionsReached:
    - strrchr
    - smtpd_peer_hostaddr_to_sockaddr
    - valid_ipv4_hostaddr
    - valid_hostaddr
    - mystrdup
    - valid_hostport
    - concatenate
    - valid_ipv6_hostaddr
    - htable_find
    - vstream_context
    - BAD_PASS_ATTR
    linkageType: ''
    returnType: int
    signature: int smtpd_peer_from_pass_attr(SMTPD_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: BAD_PASS_ATTR
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BAD_PASS_ATTR(...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getpeername
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:531,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:531,1
    - Dst: getsockname
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:534,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:534,1
    - Dst: smtpd_peer_assume_local_client
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:538,1
    - Dst: smtpd_peer_assume_unknown_client
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:540,1
    - Dst: smtpd_peer_sockaddr_to_hostaddr
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:542,1
    - Dst: smtpd_peer_assume_local_client
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 545
    functionName: smtpd_peer_from_default
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer.c
    functionUses: 0
    functionsReached:
    - smtpd_peer_sockaddr_to_hostaddr
    - getpeername
    - smtpd_peer_assume_local_client
    - getsockname
    - vstream_fileno
    - smtpd_peer_assume_unknown_client
    linkageType: ''
    returnType: void
    signature: void smtpd_peer_from_default(SMTPD_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smtpd_peer_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:558,1
    - Dst: smtpd_peer_assume_unknown_client
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 561
    functionName: smtpd_peer_fall_back_and_hangup
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer.c
    functionUses: 0
    functionsReached:
    - smtpd_peer_reset
    - smtpd_peer_assume_unknown_client
    linkageType: ''
    returnType: void
    signature: void smtpd_peer_fall_back_and_hangup(SMTPD_STATE *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:588,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:590,1
    - Dst: SMTPD_ENDPT_LOOKUP_INFO*::endpt_lookup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 593
    functionName: smtpd_peer_from_proxy
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - SMTPD_ENDPT_LOOKUP_INFO*::endpt_lookup
    - strcmp
    linkageType: ''
    returnType: int
    signature: int smtpd_peer_from_proxy(SMTPD_STATE *state)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:603,1
    - Dst: vstream_context
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:627,1
    - Dst: smtpd_peer_from_pass_attr
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:628,1
    - Dst: smtpd_peer_fall_back_and_hangup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:629,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:631,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:633,1
    - Dst: smtpd_peer_from_default
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:634,1
    - Dst: smtpd_peer_from_proxy
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:636,1
    - Dst: smtpd_peer_fall_back_and_hangup
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:637,1
    - Dst: smtpd_peer_sockaddr_to_hostname
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:646,1
    - Dst: SMTPD_BUILD_NAMADDRPORT
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:651,1
    - Dst: inet_prefix_top
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:660,1
    - Dst: SOCK_ADDR_ADDRP
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:661,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 597
    functionDepth: 3
    functionLinenumber: 597
    functionLinenumberEnd: 666
    functionName: smtpd_peer_init
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer.c
    functionUses: 1
    functionsReached:
    - SMTPD_STAND_ALONE
    - msg_warn
    - smtpd_peer_from_default
    - inet_prefix_top
    - smtpd_peer_from_proxy
    - SMTPD_BUILD_NAMADDRPORT
    - SOCK_ADDR_ADDRP
    - smtpd_peer_fall_back_and_hangup
    - memset
    - smtpd_peer_sockaddr_to_hostname
    - smtpd_peer_from_pass_attr
    - vstream_context
    linkageType: ''
    returnType: void
    signature: void smtpd_peer_init(SMTPD_STATE *state)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MYFREE_AND_ZERO
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:675,1
    - Dst: MYFREE_AND_ZERO
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:677,1
    - Dst: MYFREE_AND_ZERO
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:679,1
    - Dst: MYFREE_AND_ZERO
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:681,1
    - Dst: MYFREE_AND_ZERO
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:683,1
    - Dst: MYFREE_AND_ZERO
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:685,1
    - Dst: MYFREE_AND_ZERO
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:687,1
    - Dst: MYFREE_AND_ZERO
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:689,1
    - Dst: MYFREE_AND_ZERO
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer.c:691,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 692
    functionName: smtpd_peer_reset
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer.c
    functionUses: 2
    functionsReached:
    - MYFREE_AND_ZERO
    linkageType: ''
    returnType: void
    signature: void smtpd_peer_reset(SMTPD_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 673
    functionName: MYFREE_AND_ZERO
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MYFREE_AND_ZERO(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_milter.c
    functionUses: 270
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:77,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:82,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:84,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:90,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:91,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:93,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:94,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:95,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:97,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:99,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:101,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:102,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:103,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:104,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:105,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:107,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:109,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:111,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:116,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:118,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:128,1
    - Dst: IF_ENCRYPTED
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:129,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:130,1
    - Dst: IF_ENCRYPTED
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:131,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:132,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:135,1
    - Dst: IF_ENCRYPTED
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:136,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:137,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:139,1
    - Dst: IF_TRUSTED
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:140,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:141,1
    - Dst: IF_TRUSTED
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:142,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:150,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:153,1
    - Dst: IF_SASL_ENABLED
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:154,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:155,1
    - Dst: IF_SASL_ENABLED
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:156,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:157,1
    - Dst: IF_SASL_ENABLED
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:158,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:160,1
    - Dst: smtpd_resolve_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:165,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:167,1
    - Dst: quote_821_local
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:168,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:168,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:170,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:170,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:171,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:173,1
    - Dst: smtpd_resolve_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:176,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:177,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:179,1
    - Dst: smtpd_resolve_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:182,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:183,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:189,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:196,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:197,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:197,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:198,1
    - Dst: smtpd_resolve_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:200,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:202,1
    - Dst: quote_821_local
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:203,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:203,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:205,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:205,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:206,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:208,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:213,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:214,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:214,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:215,1
    - Dst: smtpd_resolve_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:217,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:218,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:220,1
    - Dst: smtpd_resolve_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:225,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_milter.c:226,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 114
    argCount: 2
    argNames:
    - name
    - ptr
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 229
    functionName: smtpd_milter_eval
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_milter.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - IF_TRUSTED
    - IF_SASL_ENABLED
    - vstring_alloc
    - smtpd_resolve_addr
    - vstring_strcat
    - strcmp
    - IF_ENCRYPTED
    - vstring_strcpy
    - split_at
    - quote_821_local
    - strcasecmp_utf8
    - STR
    linkageType: ''
    returnType: char
    signature: char *smtpd_milter_eval(const char *name, void *ptr)
  - 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: IF_ENCRYPTED
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_milter.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IF_ENCRYPTED(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: IF_TRUSTED
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_milter.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IF_TRUSTED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: IF_SASL_ENABLED
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_milter.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IF_SASL_ENABLED(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - one
    - two
    argTypes:
    - VSTREAM*
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: vstream_swap
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vstream_swap(VSTREAM *one, VSTREAM *two)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: smtpd_chat_reset
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void smtpd_chat_reset(SMTPD_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: smtpd_sasl_state_init
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void smtpd_sasl_state_init(SMTPD_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: smtpd_xforward_init
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void smtpd_xforward_init(SMTPD_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inet_proto_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: reset_global_variables
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c
    functionUses: 0
    functionsReached:
    - inet_proto_init
    linkageType: ''
    returnType: void
    signature: void reset_global_variables(void)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:128,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:138,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:139,1
    - Dst: vstream_memopen
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:140,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:141,1
    - Dst: vstream_swap
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:142,1
    - Dst: smtpd_state_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:143,1
    - Dst: vstream_swap
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:144,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:145,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:149,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:152,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:153,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:153,1
    - Dst: strstr
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:156,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:156,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:157,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:158,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:165,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:166,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:171,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:175,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:176,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:181,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:185,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:186,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:190,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:191,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:195,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:196,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:200,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:204,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:205,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:209,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:210,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:214,1
    - Dst: sockaddr_to_hostaddr
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:220,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:222,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:222,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:225,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:226,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:230,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:231,1
    - Dst: sockaddr_to_hostaddr
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:238,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:240,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:240,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:243,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:244,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:248,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:249,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:255,1
    - Dst: smtpd_state_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:256,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 102
    argCount: 3
    argNames:
    - tp
    - fp
    - state
    argTypes:
    - TEST_BASE*
    - VSTREAM*
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 258
    functionName: test_smtpd_peer_init
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c
    functionUses: 0
    functionsReached:
    - smtpd_state_reset
    - msg_warn
    - vstring_str
    - VSTRING_LEN
    - vstring_alloc
    - vstream_memopen
    - vstream_fclose
    - sockaddr_to_hostaddr
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - smtpd_state_init
    - strcmp
    - strstr
    - msg_fatal
    - MAI_STRERROR
    - vstring_free
    - vstream_swap
    linkageType: ''
    returnType: int
    signature: "int test_smtpd_peer_init(const TEST_BASE *tp, VSTREAM *fp,\n\t\t\t\t
      \       SMTPD_STATE *state)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reset_global_variables
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:308,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:311,1
    - Dst: pipe
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:317,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:318,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:319,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:320,1
    - Dst: inet_proto_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:321,1
    - Dst: test_smtpd_peer_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:324,1
    - Dst: vstream_fdclose
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:326,1
    - Dst: close
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:327,1
    - Dst: close
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:328,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:331,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 338
    functionName: test_peer_from_non_socket
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c
    functionUses: 0
    functionsReached:
    - reset_global_variables
    - vstream_fdclose
    - vstream_fdopen
    - close
    - pipe
    - msg_info
    - inet_proto_init
    - test_smtpd_peer_init
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void test_peer_from_non_socket(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reset_global_variables
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:405,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:408,1
    - Dst: socket
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:414,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:415,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:416,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:417,1
    - Dst: test_smtpd_peer_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:419,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:421,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:424,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:427,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 400
    functionDepth: 3
    functionLinenumber: 400
    functionLinenumberEnd: 431
    functionName: test_peer_from_unconn_socket
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c
    functionUses: 0
    functionsReached:
    - reset_global_variables
    - vstream_fdopen
    - socket
    - vstream_fclose
    - msg_info
    - test_smtpd_peer_init
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void test_peer_from_unconn_socket(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reset_global_variables
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:579,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:582,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:587,1
    - Dst: socket
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:590,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:591,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:592,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:593,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:595,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:596,1
    - Dst: test_smtpd_peer_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:600,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:602,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:603,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:606,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:609,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 574
    functionDepth: 3
    functionLinenumber: 574
    functionLinenumberEnd: 613
    functionName: test_peer_from_pass_attr
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c
    functionUses: 0
    functionsReached:
    - reset_global_variables
    - vstream_fdopen
    - htable_create
    - htable_free
    - socket
    - vstream_fclose
    - msg_info
    - vstream_control
    - htable_enter
    - test_smtpd_peer_init
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void test_peer_from_pass_attr(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reset_global_variables
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:661,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:665,1
    - Dst: socketpair
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:671,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:672,1
    - Dst: write_buf
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:673,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:673,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:675,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:676,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:677,1
    - Dst: test_smtpd_peer_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:679,1
    - Dst: vstream_fdclose
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:681,1
    - Dst: close
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:682,1
    - Dst: close
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:683,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:686,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:689,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 656
    functionDepth: 3
    functionLinenumber: 656
    functionLinenumberEnd: 693
    functionName: test_peer_from_haproxy
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c
    functionUses: 0
    functionsReached:
    - reset_global_variables
    - vstream_fdclose
    - vstream_fdopen
    - strlen
    - socketpair
    - close
    - msg_info
    - test_smtpd_peer_init
    - msg_fatal
    - write_buf
    linkageType: ''
    returnType: void
    signature: void test_peer_from_haproxy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:697,1
    - Dst: sane_basename
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:697,1
    - Dst: test_peer_from_non_socket
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:699,1
    - Dst: test_peer_from_unconn_socket
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:701,1
    - Dst: test_peer_from_pass_attr
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:703,1
    - Dst: test_peer_from_haproxy
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:705,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:713,1
    - Dst: exit
      Src: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 695
    functionDepth: 4
    functionLinenumber: 695
    functionLinenumberEnd: 715
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c
    functionUses: 25
    functionsReached:
    - test_peer_from_pass_attr
    - test_peer_from_haproxy
    - exit
    - test_peer_from_non_socket
    - msg_vstream_init
    - msg_info
    - sane_basename
    - test_peer_from_unconn_socket
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c:157,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c:160,1
    - Dst: smtpd_sasl_is_active
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c:160,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c:163,1
    - Dst: SMTPD_IN_MAIL_TRANSACTION
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c:166,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c:168,1
    - Dst: milter_other_event
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c:171,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c:174,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c:180,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c:188,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c:194,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c:199,1
    - Dst: smtpd_sasl_deactivate
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c:207,1
    - Dst: smtpd_sasl_activate
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c:210,1
    - Dst: smtpd_sasl_activate
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c:214,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c:216,1
    - Dst: smtpd_sasl_authenticate
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c:227,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 3
    argNames:
    - state
    - argc
    - argv
    argTypes:
    - SMTPD_STATE*
    - int
    - SMTPD_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 228
    functionName: smtpd_sasl_auth_cmd
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c
    functionUses: 0
    functionsReached:
    - SMTPD_STAND_ALONE
    - smtpd_sasl_authenticate
    - smtpd_chat_reply
    - smtpd_sasl_deactivate
    - strcmp
    - milter_other_event
    - smtpd_sasl_is_active
    - smtpd_sasl_activate
    - SMTPD_IN_MAIL_TRANSACTION
    linkageType: ''
    returnType: int
    signature: int smtpd_sasl_auth_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c:248,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c:249,1
    - Dst: printable
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - state
    - addr
    argTypes:
    - SMTPD_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 253
    functionName: smtpd_sasl_mail_opt
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c
    functionUses: 0
    functionsReached:
    - mystrdup
    - printable
    - strcmp
    linkageType: ''
    returnType: char
    signature: char *smtpd_sasl_mail_opt(SMTPD_STATE *state, const char *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 263
    functionName: smtpd_sasl_mail_reset
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c
    functionUses: 0
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void smtpd_sasl_mail_reset(SMTPD_STATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - state
    - ifyes
    - ifnot
    argTypes:
    - SMTPD_STATE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: permit_sasl_auth
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int permit_sasl_auth(SMTPD_STATE *state, int ifyes, int ifnot)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:85,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:86,1
    - Dst: ENTER_CHAR
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:87,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:89,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:94,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:99,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:101,1
    - Dst: LEAVE_CHAR
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:103,1
    - Dst: ENTER_CHAR
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:105,1
    - Dst: ENTER_CHAR
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:107,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 4
    argNames:
    - cp
    - arg
    - start
    - last
    argTypes:
    - char*
    - SMTPD_TOKEN*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 112
    functionName: smtp_quoted
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_token.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - ENTER_CHAR
    - VSTRING_LEN
    - vstring_alloc
    - VSTRING_RESET
    - LEAVE_CHAR
    linkageType: ''
    returnType: char
    signature: char *smtp_quoted(char *cp, SMTPD_TOKEN *arg, int start, int last)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: ENTER_CHAR
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_token.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENTER_CHAR(buf, ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: LEAVE_CHAR
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_token.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEAVE_CHAR(buf, ch)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:120,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:131,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:132,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:134,1
    - Dst: smtp_quoted
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:137,1
    - Dst: smtp_quoted
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:139,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:141,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:142,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:142,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:142,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:143,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:143,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:143,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:147,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:152,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:155,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:157,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:158,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 2
    argNames:
    - cp
    - arg
    argTypes:
    - char*
    - SMTPD_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 160
    functionName: smtp_next_token
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_token.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - ISSPACE
    - LEN
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - smtp_quoted
    - STREQ
    - vstring_str
    - STR
    linkageType: ''
    returnType: char
    signature: char *smtp_next_token(char *cp, SMTPD_TOKEN *arg)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_token.c
    functionUses: 272
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_token.c
    functionUses: 75
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_token.c
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x,y,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - count
    argTypes:
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: smtpd_token_init
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_token.c
    functionUses: 0
    functionsReached:
    - vstring_alloc
    linkageType: ''
    returnType: void
    signature: void smtpd_token_init(char *ptr, ssize_t count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mvect_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:182,1
    - Dst: mvect_realloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:185,1
    - Dst: smtp_next_token
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - cp
    - argvp
    argTypes:
    - char*
    - SMTPD_TOKEN**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 191
    functionName: smtpd_token
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_token.c
    functionUses: 0
    functionsReached:
    - smtp_next_token
    - mvect_alloc
    - mvect_realloc
    linkageType: ''
    returnType: int
    signature: int smtpd_token(char *cp, SMTPD_TOKEN **argvp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:205,1
    - Dst: isatty
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:211,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:212,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:213,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:214,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:216,1
    - Dst: isatty
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:218,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:219,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:219,1
    - Dst: smtpd_token
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:220,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:220,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:222,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:226,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:229,1
    - Dst: exit
      Src: /src/postfix/postfix/src/smtpd/smtpd_token.c:230,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 203
    functionDepth: 4
    functionLinenumber: 203
    functionLinenumberEnd: 231
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_token.c
    functionUses: 25
    functionsReached:
    - vstring_get_nonl
    - vstream_fflush
    - vstring_alloc
    - exit
    - smtpd_token
    - vstream_printf
    - isatty
    - vstring_str
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1578
    functionDepth: 0
    functionLinenumber: 1578
    functionLinenumberEnd: 1579
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 272
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 1580
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1580
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 75
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1697
    functionName: IS_BARE_LF_WANT_STD_EOD
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_BARE_LF_WANT_STD_EOD(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1697
    functionDepth: 0
    functionLinenumber: 1697
    functionLinenumberEnd: 1698
    functionName: IS_BARE_LF_REPLY_REJECT
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_BARE_LF_REPLY_REJECT(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1698
    functionDepth: 0
    functionLinenumber: 1698
    functionLinenumberEnd: 1699
    functionName: IS_BARE_LF_NOTE_LOG
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_BARE_LF_NOTE_LOG(m)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: namadr_list_match
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1730,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1735,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1739
      start: 1718
    functionDepth: 1
    functionLinenumber: 1718
    functionLinenumberEnd: 1739
    functionName: sasl_client_exception
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - namadr_list_match
    - msg_info
    linkageType: ''
    returnType: int
    signature: int sasl_client_exception(SMTPD_STATE *state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1750,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1752,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1754,1
    - Dst: info_log_addr_form_sender
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1755,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1757,1
    - Dst: info_log_addr_form_recipient
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1758,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1760,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1762,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1765,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1768,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1745
    functionDepth: 4
    functionLinenumber: 1745
    functionLinenumberEnd: 1769
    functionName: smtpd_whatsup
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - info_log_addr_form_sender
    - vstring_alloc
    - VSTRING_RESET
    - info_log_addr_form_recipient
    - vstring_sprintf_append
    - STR
    linkageType: ''
    returnType: char
    signature: char *smtpd_whatsup(SMTPD_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1778,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1779,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - SMTPD_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1773
    functionDepth: 1
    functionLinenumber: 1773
    functionLinenumberEnd: 1782
    functionName: collapse_args
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - vstring_strcat
    - STR
    linkageType: ''
    returnType: void
    signature: void collapse_args(int argc, SMTPD_TOKEN *argv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1837,1
    - Dst: smtpd_whatsup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1838,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 2
    argNames:
    - state
    - reply
    argTypes:
    - SMTPD_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1786
    functionDepth: 5
    functionLinenumber: 1786
    functionLinenumberEnd: 1840
    functionName: check_milter_reply
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - smtpd_whatsup
    - msg_info
    linkageType: ''
    returnType: char
    signature: char *check_milter_reply(SMTPD_STATE *state, const char *reply)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1855,1
    - Dst: collapse_args
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1859,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1860,1
    - Dst: smtpd_check_helo
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1862,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1863,1
    - Dst: milter_helo_event
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1878,1
    - Dst: PUSH_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1880,1
    - Dst: check_milter_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1881,1
    - Dst: POP_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1882,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1883,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1884,1
    - Dst: helo_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1889,1
    - Dst: chat_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1890,1
    - Dst: mail_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1891,1
    - Dst: rcpt_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1892,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1893,1
    - Dst: printable
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1893,1
    - Dst: neuter
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1894,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1896,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1897,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1898,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1899,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1901,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 3
    argNames:
    - state
    - argc
    - argv
    argTypes:
    - SMTPD_STATE*
    - int
    - SMTPD_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1903
      start: 1844
    functionDepth: 6
    functionLinenumber: 1844
    functionLinenumberEnd: 1903
    functionName: helo_cmd
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - rcpt_reset
    - SMTPD_STAND_ALONE
    - printable
    - POP_STRING
    - neuter
    - chat_reset
    - smtpd_chat_reply
    - helo_reset
    - check_milter_reply
    - mail_reset
    - milter_helo_event
    - myfree
    - PUSH_STRING
    - strcasecmp
    - strncmp
    - smtpd_check_helo
    - mystrdup
    - collapse_args
    linkageType: ''
    returnType: int
    signature: int helo_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - old
    - ','
    - curr
    - ','
    - new
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1874
      start: 1873
    functionDepth: 0
    functionLinenumber: 1873
    functionLinenumberEnd: 1874
    functionName: PUSH_STRING
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUSH_STRING(old, curr, new)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - old
    - ','
    - curr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1874
    functionDepth: 0
    functionLinenumber: 1874
    functionLinenumberEnd: 1875
    functionName: POP_STRING
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POP_STRING(old, curr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1909,1
    - Dst: vstream_longjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - state
    - feature
    argTypes:
    - SMTPD_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1907
    functionDepth: 1
    functionLinenumber: 1907
    functionLinenumberEnd: 1912
    functionName: cant_announce_feature
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - vstream_longjmp
    - msg_warn
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN cant_announce_feature(SMTPD_STATE *state, const char *feature)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1918,1
    - Dst: vstream_longjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1920,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - state
    - command
    argTypes:
    - SMTPD_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1921
      start: 1916
    functionDepth: 1
    functionLinenumber: 1916
    functionLinenumberEnd: 1921
    functionName: cant_permit_command
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - vstream_longjmp
    - msg_warn
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN cant_permit_command(SMTPD_STATE *state, const char *command)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1942,1
    - Dst: collapse_args
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1946,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1947,1
    - Dst: smtpd_check_helo
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1949,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1950,1
    - Dst: milter_helo_event
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1963,1
    - Dst: PUSH_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1965,1
    - Dst: check_milter_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1966,1
    - Dst: POP_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1967,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1968,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1969,1
    - Dst: helo_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1974,1
    - Dst: chat_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1975,1
    - Dst: mail_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1976,1
    - Dst: rcpt_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1977,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1978,1
    - Dst: printable
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1978,1
    - Dst: neuter
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1979,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1989,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1990,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:1991,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2024,1
    - Dst: str_ehlo_mask
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2024,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2026,1
    - Dst: vstream_longjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2028,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2035,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2036,1
    - Dst: argv_truncate
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2038,1
    - Dst: EHLO_APPEND1
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2040,1
    - Dst: EHLO_APPEND
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2042,1
    - Dst: ENFORCING_SIZE_LIMIT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2044,1
    - Dst: EHLO_APPEND1
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2045,1
    - Dst: EHLO_APPEND
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2048,1
    - Dst: EHLO_APPEND
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2052,1
    - Dst: EHLO_APPEND
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2054,1
    - Dst: EHLO_APPEND
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2058,1
    - Dst: smtpd_sasl_is_active
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2065,1
    - Dst: sasl_client_exception
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2065,1
    - Dst: EHLO_APPEND1
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2066,1
    - Dst: EHLO_APPEND1
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2068,1
    - Dst: cant_announce_feature
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2070,1
    - Dst: namadr_list_match
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2077,1
    - Dst: EHLO_APPEND
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2078,1
    - Dst: cant_announce_feature
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2080,1
    - Dst: EHLO_APPEND
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2085,1
    - Dst: cant_announce_feature
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2093,1
    - Dst: EHLO_APPEND
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2097,1
    - Dst: cant_announce_feature
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2103,1
    - Dst: EHLO_APPEND
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2106,1
    - Dst: EHLO_APPEND
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2108,1
    - Dst: EHLO_APPEND
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2110,1
    - Dst: EHLO_APPEND
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2112,1
    - Dst: EHLO_APPEND
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2114,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2120,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2125,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2127,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 108
    argCount: 3
    argNames:
    - state
    - argc
    - argv
    argTypes:
    - SMTPD_STATE*
    - int
    - SMTPD_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 1925
    functionDepth: 6
    functionLinenumber: 1925
    functionLinenumberEnd: 2131
    functionName: ehlo_cmd
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - ENFORCING_SIZE_LIMIT
    - chat_reset
    - msg_info
    - vstream_longjmp
    - PUSH_STRING
    - argv_alloc
    - sasl_client_exception
    - smtpd_check_helo
    - SMTPD_STAND_ALONE
    - argv_truncate
    - check_milter_reply
    - vstring_alloc
    - mail_reset
    - milter_helo_event
    - strcasecmp
    - smtpd_sasl_is_active
    - namadr_list_match
    - rcpt_reset
    - EHLO_APPEND1
    - POP_STRING
    - helo_reset
    - cant_announce_feature
    - myfree
    - strncmp
    - vstring_free
    - printable
    - msg_warn
    - neuter
    - EHLO_APPEND
    - smtpd_chat_reply
    - argv_free
    - str_ehlo_mask
    - mystrdup
    - collapse_args
    linkageType: ''
    returnType: int
    signature: int ehlo_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state
    - ','
    - cmd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2005
      start: 2000
    functionDepth: 0
    functionLinenumber: 2000
    functionLinenumberEnd: 2005
    functionName: EHLO_APPEND
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EHLO_APPEND(state, cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - state
    - ','
    - cmd
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2011
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2011
    functionName: EHLO_APPEND1
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EHLO_APPEND1(state, cmd, arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2138,1
    - Dst: milter_abort
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2141,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2144,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2151
      start: 2135
    functionDepth: 1
    functionLinenumber: 2135
    functionLinenumberEnd: 2151
    functionName: helo_reset
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 2
    functionsReached:
    - myfree
    - milter_abort
    - vstring_free
    - argv_free
    linkageType: ''
    returnType: void
    signature: void helo_reset(SMTPD_STATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2162,1
    - Dst: namadr_list_match
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2166,1
    - Dst: anvil_clnt_auth
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2167,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2171,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2173,1
    - Dst: smtpd_sasl_auth_cmd
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2178,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - state
    - argc
    - argv
    argTypes:
    - SMTPD_STATE*
    - int
    - SMTPD_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2179
      start: 2157
    functionDepth: 3
    functionLinenumber: 2157
    functionLinenumberEnd: 2179
    functionName: smtpd_sasl_auth_cmd_wrapper
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - SMTPD_STAND_ALONE
    - msg_warn
    - smtpd_sasl_auth_cmd
    - anvil_clnt_auth
    - smtpd_chat_reply
    - namadr_list_match
    linkageType: ''
    returnType: int
    signature: "int smtpd_sasl_auth_cmd_wrapper(SMTPD_STATE *state, int argc,\n\t\t\t\t
      \              SMTPD_TOKEN *argv)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: smtpd_proxy_create
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2200,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2203,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2203,1
    - Dst: smtpd_proxy_free
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2204,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2219,1
    - Dst: input_transp_cleanup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2222,1
    - Dst: smtputf8_autodetect
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2228,1
    - Dst: mail_stream_service
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2230,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2233,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2234,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2236,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2247,1
    - Dst: mail_stream_command
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2249,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2251,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2252,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2271,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2272,1
    - Dst: milter_dummy
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2276,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2277,1
    - Dst: REC_TYPE_TIME_ARG
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2278,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2280,1
    - Dst: FORWARD_IDENT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2281,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2282,1
    - Dst: FORWARD_IDENT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2283,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2284,1
    - Dst: FORWARD_DOMAIN
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2285,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2289,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2292,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2295,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2318,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2321,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2324,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2326,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2332,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2341,1
    - Dst: FORWARD_NAME
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2342,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2344,1
    - Dst: FORWARD_ADDR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2345,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2346,1
    - Dst: FORWARD_PORT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2347,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2348,1
    - Dst: FORWARD_NAMADDR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2349,1
    - Dst: FORWARD_HELO
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2350,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2351,1
    - Dst: FORWARD_HELO
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2352,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2353,1
    - Dst: FORWARD_PROTO
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2354,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2366,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2368,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2371,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2373,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2375,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2377,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2380,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2382,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2384,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2393,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2404,1
    - Dst: PRINT2_OR_NULL
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2408,1
    - Dst: PRINT2_OR_NULL
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2410,1
    - Dst: PRINT2_OR_NULL
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2413,1
    - Dst: PRINT2_OR_NULL
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2419,1
    - Dst: HAVE_FORWARDED_IDENT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2419,1
    - Dst: FORWARD_IDENT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2420,1
    - Dst: PRINT2_OR_NULL
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2421,1
    - Dst: HAVE_FORWARDED_CLIENT_ATTR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2421,1
    - Dst: FORWARD_NAMADDR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2422,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2424
      start: 2185
    functionDepth: 3
    functionLinenumber: 2185
    functionLinenumberEnd: 2424
    functionName: mail_open_stream
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - FORWARD_NAMADDR
    - milter_dummy
    - mail_stream_command
    - attr_print
    - msg_info
    - HAVE_FORWARDED_IDENT
    - rec_fputs
    - REC_TYPE_TIME_ARG
    - FORWARD_PORT
    - smtputf8_autodetect
    - SMTPD_STAND_ALONE
    - FORWARD_IDENT
    - concatenate
    - FORWARD_ADDR
    - FORWARD_PROTO
    - input_transp_cleanup
    - smtpd_proxy_create
    - SEND_ATTR_INT
    - myfree
    - HAVE_FORWARDED_CLIENT_ATTR
    - FORWARD_HELO
    - smtpd_chat_reply
    - FORWARD_NAME
    - smtpd_proxy_free
    - FORWARD_DOMAIN
    - mail_stream_service
    - rec_fprintf
    - msg_fatal
    - mystrdup
    - PRINT2_OR_NULL
    - STR
    linkageType: ''
    returnType: int
    signature: int mail_open_stream(SMTPD_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2401
      start: 2399
    functionDepth: 0
    functionLinenumber: 2399
    functionLinenumberEnd: 2401
    functionName: PRINT_OR_NULL
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_OR_NULL(cond, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cond
    - ','
    - name
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2403
      start: 2401
    functionDepth: 0
    functionLinenumber: 2401
    functionLinenumberEnd: 2403
    functionName: PRINT2_OR_NULL
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT2_OR_NULL(cond, name, value)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2462,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2462,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2463,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2464,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2464,1
    - Dst: mystrndup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2465,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2465,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2465,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2467,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2472,1
    - Dst: tok822_parse
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2474,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2477,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2502,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2503,1
    - Dst: printable
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2505,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2505,1
    - Dst: tok822_internalize
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2516,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2518,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2526,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2527,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2528,1
    - Dst: smtpd_check_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2529,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2529,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2531,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2532,1
    - Dst: printable
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2534,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2534,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2541,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2543,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2544,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2544,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 39
    argCount: 5
    argNames:
    - state
    - arg
    - allow_empty_addr
    - strict_rfc821
    - smtputf8
    argTypes:
    - SMTPD_STATE*
    - SMTPD_TOKEN*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2546
      start: 2428
    functionDepth: 2
    functionLinenumber: 2428
    functionLinenumberEnd: 2546
    functionName: extract_addr
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - printable
    - SMTPD_STAND_ALONE
    - strchr
    - msg_warn
    - mystrndup
    - LEN
    - msg_info
    - tok822_parse
    - myfree
    - strcmp
    - vstring_strcpy
    - smtpd_check_addr
    - tok822_free_tree
    - tok822_internalize
    - STR
    linkageType: ''
    returnType: int
    signature: "int extract_addr(SMTPD_STATE *state, SMTPD_TOKEN *arg,\n\t\t\t        int
      allow_empty_addr, int strict_rfc821,\n\t\t\t        int smtputf8)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: myrealloc
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2558,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2562,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2569
      start: 2550
    functionDepth: 1
    functionLinenumber: 2550
    functionLinenumberEnd: 2569
    functionName: milter_argv
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - myrealloc
    linkageType: ''
    returnType: char
    signature: char **milter_argv(SMTPD_STATE *state, int argc, SMTPD_TOKEN *argv)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2596,1
    - Dst: SMTPD_IN_MAIL_TRANSACTION
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2599,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2601,1
    - Dst: SMTPD_PROCESSING_BDAT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2605,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2607,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2611,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2613,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2622,1
    - Dst: namadr_list_match
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2626,1
    - Dst: anvil_clnt_mail
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2627,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2631,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2633,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2639,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2652,1
    - Dst: extract_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2659,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2663,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2668,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2670,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2672,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2674,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2676,1
    - Dst: off_cvt_string
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2680,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2682,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2687,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2690,1
    - Dst: smtpd_sasl_mail_opt
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2691,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2692,1
    - Dst: namadr_list_match
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2696,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2697,1
    - Dst: verp_delims_verify
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2703,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2705,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2711,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2715,1
    - Dst: dsn_ret_code
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2719,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2721,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2725,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2729,1
    - Dst: xtext_unquote
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2733,1
    - Dst: allprint
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2734,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2734,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2736,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2742,1
    - Dst: PUSH_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2747,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2747,1
    - Dst: smtpd_check_size
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2748,1
    - Dst: POP_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2749,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2751,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2754,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2755,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2759,1
    - Dst: valid_verify_sender_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2770,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2770,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2772,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2774,1
    - Dst: smtpd_check_mail
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2776,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2776,1
    - Dst: mail_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2778,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2779,1
    - Dst: PUSH_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2785,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2785,1
    - Dst: milter_mail_event
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2786,1
    - Dst: milter_argv
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2787,1
    - Dst: check_milter_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2790,1
    - Dst: POP_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2792,1
    - Dst: mail_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2795,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2796,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2800,1
    - Dst: smtpd_check_rewrite
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2801,1
    - Dst: mail_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2804,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2805,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2817,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2817,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2817,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2819,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2830,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2832,1
    - Dst: USE_SMTPD_PROXY
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2842,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2844,1
    - Dst: smtpd_check_queue
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2845,1
    - Dst: mail_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2847,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2848,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2856,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2857,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2857,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2858,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2862,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2864,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2864,1
    - Dst: USE_SMTPD_PROXY
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2865,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2866,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2866,1
    - Dst: mail_open_stream
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2867,1
    - Dst: mail_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2869,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2872,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 193
    argCount: 3
    argNames:
    - state
    - argc
    - argv
    argTypes:
    - SMTPD_STATE*
    - int
    - SMTPD_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2874
      start: 2573
    functionDepth: 6
    functionLinenumber: 2573
    functionLinenumberEnd: 2874
    functionName: mail_cmd
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - milter_mail_event
    - msg_info
    - smtpd_check_size
    - PUSH_STRING
    - smtpd_check_queue
    - smtpd_sasl_mail_opt
    - mail_open_stream
    - SMTPD_STAND_ALONE
    - valid_verify_sender_addr
    - dsn_ret_code
    - alldig
    - check_milter_reply
    - mail_reset
    - anvil_clnt_mail
    - strcasecmp
    - off_cvt_string
    - SMTPD_PROCESSING_BDAT
    - namadr_list_match
    - verp_delims_verify
    - SMTPD_IN_MAIL_TRANSACTION
    - allascii
    - POP_STRING
    - GETTIMEOFDAY
    - allprint
    - extract_addr
    - xtext_unquote
    - milter_argv
    - USE_SMTPD_PROXY
    - msg_warn
    - smtpd_chat_reply
    - vstring_strcpy
    - smtpd_check_mail
    - strncasecmp
    - smtpd_check_rewrite
    - mystrdup
    - STR
    linkageType: ''
    returnType: int
    signature: int mail_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *argv)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: mail_stream_cleanup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2890,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2896,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2900,1
    - Dst: milter_abort
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2905,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2909,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2913,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2917,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2921,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2925,1
    - Dst: smtpd_sasl_mail_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2934,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2937,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2938,1
    - Dst: smtpd_proxy_free
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2941,1
    - Dst: smtpd_xforward_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2943,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2945,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2947,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2951,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2961,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2965,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 71
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2966
      start: 2878
    functionDepth: 2
    functionLinenumber: 2878
    functionLinenumberEnd: 2966
    functionName: mail_reset
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 4
    functionsReached:
    - smtpd_xforward_reset
    - smtpd_sasl_mail_reset
    - argv_free
    - smtpd_proxy_free
    - myfree
    - VSTRING_RESET
    - vstream_fclose
    - VSTRING_TERMINATE
    - mail_stream_cleanup
    - milter_abort
    linkageType: ''
    returnType: void
    signature: void mail_reset(SMTPD_STATE *state)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: SMTPD_IN_MAIL_TRANSACTION
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2993,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2995,1
    - Dst: SMTPD_PROCESSING_BDAT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:2999,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3001,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3005,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3007,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3016,1
    - Dst: namadr_list_match
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3020,1
    - Dst: anvil_clnt_rcpt
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3021,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3025,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3027,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3033,1
    - Dst: extract_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3036,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3039,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3044,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3048,1
    - Dst: dsn_notify_mask
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3051,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3053,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3057,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3061,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3064,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3066,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3066,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3067,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3068,1
    - Dst: uxtext_unquote
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3069,1
    - Dst: xtext_unquote
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3070,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3072,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3076,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3077,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3080,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3085,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3099,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3099,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3099,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3101,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3112,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3114,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3117,1
    - Dst: valid_verify_sender_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3128,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3128,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3130,1
    - Dst: smtpd_check_rcpt
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3133,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3133,1
    - Dst: PUSH_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3137,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3137,1
    - Dst: milter_rcpt_event
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3139,1
    - Dst: milter_argv
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3142,1
    - Dst: check_milter_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3145,1
    - Dst: POP_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3147,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3150,1
    - Dst: mail_open_stream
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3159,1
    - Dst: SMTPD_PROXY*::cmd
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3168,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3169,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3170,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3170,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3216,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3216,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3222,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3230,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3232,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3235,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3235,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3236,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3238,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 131
    argCount: 3
    argNames:
    - state
    - argc
    - argv
    argTypes:
    - SMTPD_STATE*
    - int
    - SMTPD_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3240
      start: 2970
    functionDepth: 6
    functionLinenumber: 2970
    functionLinenumberEnd: 3240
    functionName: rcpt_cmd
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - LEN
    - msg_info
    - PUSH_STRING
    - rec_fputs
    - anvil_clnt_rcpt
    - mail_open_stream
    - SMTPD_STAND_ALONE
    - valid_verify_sender_addr
    - SMTPD_PROXY*::cmd
    - strlen
    - check_milter_reply
    - vstream_fflush
    - uxtext_unquote
    - strcasecmp
    - SMTPD_PROCESSING_BDAT
    - split_at
    - namadr_list_match
    - SMTPD_IN_MAIL_TRANSACTION
    - allascii
    - dsn_notify_mask
    - POP_STRING
    - milter_rcpt_event
    - extract_addr
    - smtpd_check_rcpt
    - xtext_unquote
    - milter_argv
    - msg_warn
    - smtpd_chat_reply
    - rec_fprintf
    - vstring_strcpy
    - strncasecmp
    - mystrdup
    - STR
    linkageType: ''
    returnType: int
    signature: int rcpt_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3253
      start: 3244
    functionDepth: 0
    functionLinenumber: 3244
    functionLinenumberEnd: 3253
    functionName: rcpt_reset
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 2
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void rcpt_reset(SMTPD_STATE *state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3261,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3294,1
    - Dst: ISPRINT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3297,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3297,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3304,1
    - Dst: ISPRINT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3306,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3306,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3307,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3309,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3311,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3314,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - str
    - charset
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3316
      start: 3259
    functionDepth: 1
    functionLinenumber: 3259
    functionLinenumberEnd: 3316
    functionName: rfc2047_comment_encode
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - strchr
    - vstring_sprintf
    - ISPRINT
    - vstring_alloc
    - vstring_sprintf_append
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *rfc2047_comment_encode(const char *str, const char *charset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3336,1
    - Dst: ISASCII
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3337,1
    - Dst: ISPRINT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3337,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3349,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3350,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - comment_string
    argTypes:
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3351
      start: 3322
    functionDepth: 1
    functionLinenumber: 3322
    functionLinenumberEnd: 3351
    functionName: comment_sanitize
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - ISPRINT
    - ISASCII
    - VSTRING_TERMINATE
    - STR
    linkageType: ''
    returnType: void
    signature: void comment_sanitize(VSTRING *comment_string)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SMTPD_PROCESSING_BDAT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3379,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3381,1
    - Dst: SMTPD_IN_MAIL_TRANSACTION
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3385,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3387,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3389,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3395,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3398,1
    - Dst: smtpd_check_data
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3398,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3399,1
    - Dst: milter_data_event
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3404,1
    - Dst: check_milter_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3405,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3406,1
    - Dst: SMTPD_PROXY*::cmd
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3410,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3411,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3412,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3412,1
    - Dst: common_pre_message_handling
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3432,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3434,1
    - Dst: receive_data_message
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3436,1
    - Dst: common_post_message_handling
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3437,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 3
    argNames:
    - state
    - argc
    - unused_argv
    argTypes:
    - SMTPD_STATE*
    - int
    - SMTPD_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3438
      start: 3365
    functionDepth: 6
    functionLinenumber: 3365
    functionLinenumberEnd: 3438
    functionName: data_cmd
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - SMTPD_STAND_ALONE
    - SMTPD_PROXY*::cmd
    - smtpd_chat_reply
    - common_post_message_handling
    - check_milter_reply
    - smtpd_check_data
    - common_pre_message_handling
    - receive_data_message
    - SMTPD_PROCESSING_BDAT
    - SMTPD_IN_MAIL_TRANSACTION
    - milter_data_event
    - STR
    linkageType: ''
    returnType: int
    signature: int data_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *unused_argv)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3478,1
    - Dst: milter_send
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3482,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3484,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3487,1
    - Dst: out_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3495,1
    - Dst: out_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3503,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3514,1
    - Dst: out_record
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3521,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3521,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3522,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3523,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3527,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3530,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3537,1
    - Dst: out_record
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3540,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3540,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3541,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3542,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3547,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3552,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3558,1
    - Dst: out_record
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3563,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3563,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3564,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3565,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3569,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3574,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3580,1
    - Dst: out_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3583,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3583,1
    - Dst: TLS_CERT_IS_PRESENT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3584,1
    - Dst: VSTRING_STRDUP
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3585,1
    - Dst: comment_sanitize
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3586,1
    - Dst: VSTRING_STRDUP
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3587,1
    - Dst: comment_sanitize
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3589,1
    - Dst: out_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3590,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3592,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3592,1
    - Dst: TLS_CERT_IS_TRUSTED
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3593,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3595,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3596,1
    - Dst: TLS_RPK_IS_PRESENT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3597,1
    - Dst: out_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3598,1
    - Dst: out_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3603,1
    - Dst: out_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3606,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3611,1
    - Dst: VSTRING_STRDUP
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3616,1
    - Dst: comment_sanitize
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3617,1
    - Dst: out_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3618,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3619,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3620,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3624,1
    - Dst: out_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3632,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3638,1
    - Dst: out_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3639,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3640,1
    - Dst: mail_date
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3641,1
    - Dst: out_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3643,1
    - Dst: out_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3649,1
    - Dst: mail_date
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3650,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3653,1
    - Dst: out_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3654,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3655,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 93
    argCount: 3
    argNames:
    - state
    - out_stream
    - out_error
    argTypes:
    - SMTPD_STATE*
    - VSTREAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3658
      start: 3442
    functionDepth: 3
    functionLinenumber: 3442
    functionLinenumberEnd: 3658
    functionName: common_pre_message_handling
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 1
    functionsReached:
    - vstring_sprintf
    - VSTRING_STRDUP
    - LEN
    - milter_send
    - rec_fputs
    - SMTPD_STAND_ALONE
    - TLS_CERT_IS_TRUSTED
    - quote_822_local
    - vstring_sprintf_append
    - TLS_CERT_IS_PRESENT
    - out_fprintf
    - vstring_free
    - out_record
    - TLS_RPK_IS_PRESENT
    - mail_date
    - rec_fprintf
    - comment_sanitize
    - strcmp
    - STR
    linkageType: ''
    returnType: void
    signature: "void common_pre_message_handling(SMTPD_STATE *state,\n\t          int
      (*out_record) (VSTREAM *, int, const char *, ssize_t),\n\t              int
      (*out_fprintf) (VSTREAM *, int, const char *,...),\n\t\t\t\t\t        VSTREAM
      *out_stream,\n\t\t\t\t\t        int out_error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3509
      start: 3508
    functionDepth: 0
    functionLinenumber: 3508
    functionLinenumberEnd: 3509
    functionName: VSTRING_STRDUP
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTRING_STRDUP(s)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: smtp_stream_setup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3680,1
    - Dst: smtp_get
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3697,1
    - Dst: IS_BARE_LF_REPLY_REJECT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3702,1
    - Dst: IS_BARE_LF_NOTE_LOG
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3704,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3706,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3707,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3709,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3709,1
    - Dst: out_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3710,1
    - Dst: IS_SPACE_TAB
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3715,1
    - Dst: out_record
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3716,1
    - Dst: IS_BARE_LF_WANT_STD_EOD
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3719,1
    - Dst: ENFORCING_SIZE_LIMIT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3727,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3730,1
    - Dst: out_record
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3734,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 3
    argNames:
    - state
    - out_stream
    - out_error
    argTypes:
    - SMTPD_STATE*
    - VSTREAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3740
      start: 3662
    functionDepth: 3
    functionLinenumber: 3662
    functionLinenumberEnd: 3740
    functionName: receive_data_message
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 1
    functionsReached:
    - out_record
    - ENFORCING_SIZE_LIMIT
    - msg_warn
    - out_fprintf
    - VSTRING_LEN
    - strspn
    - IS_BARE_LF_WANT_STD_EOD
    - IS_BARE_LF_NOTE_LOG
    - smtp_stream_setup
    - smtp_get
    - IS_SPACE_TAB
    - strncmp
    - vstring_str
    - IS_BARE_LF_REPLY_REJECT
    linkageType: ''
    returnType: void
    signature: "void receive_data_message(SMTPD_STATE *state,\n\t          int (*out_record)
      (VSTREAM *, int, const char *, ssize_t),\n\t              int (*out_fprintf)
      (VSTREAM *, int, const char *,...),\n\t\t\t\t         VSTREAM *out_stream,\n\t\t\t\t
      \        int out_error)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3758,1
    - Dst: smtpd_check_eod
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3759,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3760,1
    - Dst: smtpd_proxy_close
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3762,1
    - Dst: mail_stream_cleanup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3764,1
    - Dst: SMTPD_PROXY*::cmd
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3777,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3779,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3792,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3794,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3797,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3803,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3805,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3810,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3814,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3817,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3821,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3822,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3825,1
    - Dst: mail_stream_finish
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3826,1
    - Dst: IS_SMTP_REJECT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3827,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3827,1
    - Dst: printable_except
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3828,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3828,1
    - Dst: printable
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3830,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3830,1
    - Dst: mail_stream_cleanup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3832,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3856,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3870,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3870,1
    - Dst: SMTPD_PROCESSING_BDAT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3871,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3872,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3876,1
    - Dst: log_whatsup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3880,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3881,1
    - Dst: IS_SMTP_REJECT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3883,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3883,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3885,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3885,1
    - Dst: cleanup_stat_detail
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3888,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3889,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3891,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3891,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3893,1
    - Dst: cleanup_stat_detail
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3898,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3899,1
    - Dst: cleanup_stat_detail
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3903,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3904,1
    - Dst: cleanup_stat_detail
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3908,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3909,1
    - Dst: cleanup_stat_detail
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3913,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3915,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3915,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3916,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3918,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3918,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3920,1
    - Dst: cleanup_stat_detail
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3925,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3926,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3930,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3930,1
    - Dst: cleanup_stat_detail
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3933,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3934,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3942,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3944,1
    - Dst: smtpd_whatsup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3944,1
    - Dst: chat_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3950,1
    - Dst: mail_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3951,1
    - Dst: rcpt_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3952,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3954,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 131
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3956
      start: 3744
    functionDepth: 5
    functionLinenumber: 3744
    functionLinenumberEnd: 3956
    functionName: common_post_message_handling
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 1
    functionsReached:
    - printable_except
    - chat_reset
    - vstream_ferror
    - LEN
    - msg_info
    - rec_fputs
    - mail_stream_cleanup
    - log_whatsup
    - SMTPD_STAND_ALONE
    - SMTPD_PROXY*::cmd
    - vstream_fflush
    - vstring_alloc
    - mail_reset
    - SMTPD_PROCESSING_BDAT
    - cleanup_stat_detail
    - rcpt_reset
    - smtpd_check_eod
    - vstring_free
    - mail_stream_finish
    - printable
    - smtpd_chat_reply
    - smtpd_whatsup
    - rec_fprintf
    - IS_SMTP_REJECT
    - smtpd_proxy_close
    - mystrdup
    - STR
    linkageType: ''
    returnType: int
    signature: int common_post_message_handling(SMTPD_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3756
      start: 3752
    functionDepth: 0
    functionLinenumber: 3752
    functionLinenumberEnd: 3756
    functionName: IS_SMTP_REJECT
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_SMTP_REJECT(s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smtp_fread_buf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3974,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3980,1
    - Dst: vsmtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3981,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3982,1
    - Dst: mail_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:3988,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - state
    - chunk_size
    - final_chunk
    - format
    argTypes:
    - SMTPD_STATE*
    - off_t
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3992
      start: 3960
    functionDepth: 4
    functionLinenumber: 3960
    functionLinenumberEnd: 3992
    functionName: skip_bdat
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - smtp_fread_buf
    - mail_reset
    - vsmtpd_chat_reply
    linkageType: ''
    returnType: int
    signature: "int skip_bdat(SMTPD_STATE *state, off_t chunk_size,\n\t\t             bool
      final_chunk, const char *format,...)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4018,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4026,1
    - Dst: off_cvt_string
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4027,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4029,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4031,1
    - Dst: printable
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4033,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4033,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4034,1
    - Dst: smtp_stream_setup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4042,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4053,1
    - Dst: skip_bdat
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4056,1
    - Dst: skip_bdat
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4067,1
    - Dst: SMTPD_PROCESSING_BDAT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4076,1
    - Dst: SMTPD_IN_MAIL_TRANSACTION
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4089,1
    - Dst: skip_bdat
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4092,1
    - Dst: skip_bdat
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4095,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4099,1
    - Dst: smtpd_check_data
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4100,1
    - Dst: skip_bdat
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4101,1
    - Dst: milter_data_event
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4105,1
    - Dst: check_milter_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4106,1
    - Dst: skip_bdat
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4107,1
    - Dst: SMTPD_PROXY*::cmd
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4110,1
    - Dst: skip_bdat
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4112,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4113,1
    - Dst: ENFORCING_SIZE_LIMIT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4117,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4120,1
    - Dst: skip_bdat
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4123,1
    - Dst: SMTPD_PROCESSING_BDAT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4145,1
    - Dst: common_pre_message_handling
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4146,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4149,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4151,1
    - Dst: smtp_fread_buf
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4180,1
    - Dst: vstream_memreopen
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4181,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4197,1
    - Dst: smtp_get_noexcept
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4199,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4205,1
    - Dst: vstream_ungetc
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4207,1
    - Dst: vstring_end
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4208,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4209,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4210,1
    - Dst: vstream_feof
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4212,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4215,1
    - Dst: IS_BARE_LF_REPLY_REJECT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4224,1
    - Dst: IS_BARE_LF_NOTE_LOG
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4226,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4228,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4229,1
    - Dst: ENFORCING_SIZE_LIMIT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4231,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4234,1
    - Dst: out_record
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4240,1
    - Dst: out_record
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4243,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4244,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4245,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4249,1
    - Dst: vstream_feof
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4251,1
    - Dst: common_post_message_handling
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4260,1
    - Dst: common_post_message_handling
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4272,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4281,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 124
    argCount: 3
    argNames:
    - state
    - argc
    - argv
    argTypes:
    - SMTPD_STATE*
    - int
    - SMTPD_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4284
      start: 3996
    functionDepth: 6
    functionLinenumber: 3996
    functionLinenumberEnd: 4284
    functionName: bdat_cmd
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - ENFORCING_SIZE_LIMIT
    - vstring_end
    - vstring_truncate
    - VSTRING_LEN
    - LEN
    - common_pre_message_handling
    - VSTRING_RESET
    - SMTPD_STAND_ALONE
    - SMTPD_PROXY*::cmd
    - vstream_memreopen
    - alldig
    - check_milter_reply
    - skip_bdat
    - smtpd_check_data
    - vstring_alloc
    - IS_BARE_LF_NOTE_LOG
    - strcasecmp
    - SMTPD_PROCESSING_BDAT
    - off_cvt_string
    - smtp_get_noexcept
    - vstring_str
    - SMTPD_IN_MAIL_TRANSACTION
    - milter_data_event
    - vstream_feof
    - vstream_ungetc
    - smtp_stream_setup
    - common_post_message_handling
    - IS_BARE_LF_REPLY_REJECT
    - out_record
    - printable
    - msg_warn
    - smtp_fread_buf
    - smtpd_chat_reply
    - STR
    linkageType: ''
    returnType: int
    signature: int bdat_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4296,1
    - Dst: chat_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4303,1
    - Dst: mail_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4304,1
    - Dst: rcpt_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4305,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - state
    - argc
    - unused_argv
    argTypes:
    - SMTPD_STATE*
    - int
    - SMTPD_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4308
      start: 4288
    functionDepth: 3
    functionLinenumber: 4288
    functionLinenumberEnd: 4308
    functionName: rset_cmd
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - smtpd_chat_reply
    - rcpt_reset
    - chat_reset
    - mail_reset
    linkageType: ''
    returnType: int
    signature: int rset_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *unused_argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4329,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - state
    - argc
    - unused_argv
    argTypes:
    - SMTPD_STATE*
    - int
    - SMTPD_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4335
      start: 4312
    functionDepth: 2
    functionLinenumber: 4312
    functionLinenumberEnd: 4335
    functionName: noop_cmd
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - smtpd_chat_reply
    linkageType: ''
    returnType: int
    signature: int noop_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *unused_argv)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4372,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4378,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4384,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4394,1
    - Dst: namadr_list_match
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4398,1
    - Dst: anvil_clnt_rcpt
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4399,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4403,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4405,1
    - Dst: milter_other_event
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4409,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4412,1
    - Dst: collapse_args
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4416,1
    - Dst: extract_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4417,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4419,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4424,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4424,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4424,1
    - Dst: mail_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4425,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4426,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4431,1
    - Dst: smtpd_check_rcpt
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4436,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4436,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4439,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4453,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 53
    argCount: 3
    argNames:
    - state
    - argc
    - argv
    argTypes:
    - SMTPD_STATE*
    - int
    - SMTPD_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4455
      start: 4339
    functionDepth: 3
    functionLinenumber: 4339
    functionLinenumberEnd: 4455
    functionName: vrfy_cmd
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - smtpd_check_rcpt
    - SMTPD_STAND_ALONE
    - msg_warn
    - smtpd_chat_reply
    - mail_reset
    - extract_addr
    - strcasecmp
    - milter_other_event
    - anvil_clnt_rcpt
    - namadr_list_match
    - allascii
    - collapse_args
    - STR
    linkageType: ''
    returnType: int
    signature: int vrfy_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *argv)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4468,1
    - Dst: milter_other_event
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4471,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4474,1
    - Dst: SMTPD_IN_MAIL_TRANSACTION
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4477,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4479,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4484,1
    - Dst: valid_hostname
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4497,1
    - Dst: valid_mailhost_literal
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4498,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4500,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4510,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4511,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4512,1
    - Dst: smtpd_check_etrn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4515,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4516,1
    - Dst: flush_send_site
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4519,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4521,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4524,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4526,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4530,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4531,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4534,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4535,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 3
    argNames:
    - state
    - argc
    - argv
    argTypes:
    - SMTPD_STATE*
    - int
    - SMTPD_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4538
      start: 4459
    functionDepth: 3
    functionLinenumber: 4459
    functionLinenumberEnd: 4538
    functionName: etrn_cmd
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - SMTPD_STAND_ALONE
    - msg_warn
    - valid_hostname
    - smtpd_chat_reply
    - SMTPD_IN_MAIL_TRANSACTION
    - flush_send_site
    - milter_other_event
    - smtpd_check_etrn
    - valid_mailhost_literal
    linkageType: ''
    returnType: int
    signature: int etrn_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstream_bufstat
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4544,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4549,1
    - Dst: smtp_flush
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - state
    - unused_argc
    - unused_argv
    argTypes:
    - SMTPD_STATE*
    - int
    - SMTPD_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4562
      start: 4542
    functionDepth: 3
    functionLinenumber: 4542
    functionLinenumberEnd: 4562
    functionName: quit_cmd
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - smtpd_chat_reply
    - smtp_flush
    - vstream_bufstat
    linkageType: ''
    returnType: int
    signature: int quit_cmd(SMTPD_STATE *state, int unused_argc, SMTPD_TOKEN *unused_argv)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: SMTPD_IN_MAIL_TRANSACTION
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4599,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4601,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4606,1
    - Dst: cant_permit_command
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4611,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4614,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4623,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4631,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4633,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4636,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4638,1
    - Dst: xtext_unquote
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4646,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4647,1
    - Dst: printable
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4653,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4666,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4667,1
    - Dst: valid_hostname
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4672,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4674,1
    - Dst: UPDATE_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4680,1
    - Dst: UPDATE_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4683,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4692,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4693,1
    - Dst: valid_hostname
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4698,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4700,1
    - Dst: UPDATE_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4706,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4712,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4713,1
    - Dst: UPDATE_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4715,1
    - Dst: UPDATE_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4716,1
    - Dst: neuter
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4718,1
    - Dst: normalize_mailhost_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4719,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4723,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4734,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4735,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4738,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4739,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4741,1
    - Dst: UPDATE_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4746,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4754,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4755,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4758,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4760,1
    - Dst: neuter
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4764,1
    - Dst: UPDATE_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4766,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4773,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4774,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4776,1
    - Dst: UPDATE_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4780,1
    - Dst: uppercase
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4780,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4791,1
    - Dst: smtpd_sasl_auth_extern
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4792,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4802,1
    - Dst: UPDATE_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4804,1
    - Dst: neuter
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4808,1
    - Dst: normalize_mailhost_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4809,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4813,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4825,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4828,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4829,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4831,1
    - Dst: UPDATE_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4836,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4844,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 150
    argCount: 3
    argNames:
    - state
    - argc
    - argv
    argTypes:
    - SMTPD_STATE*
    - int
    - SMTPD_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4848
      start: 4566
    functionDepth: 3
    functionLinenumber: 4566
    functionLinenumberEnd: 4848
    functionName: xclient_cmd
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - name_code
    - printable
    - neuter
    - strlen
    - cant_permit_command
    - smtpd_chat_reply
    - valid_hostname
    - smtpd_sasl_auth_extern
    - alldig
    - vstring_alloc
    - STR
    - uppercase
    - normalize_mailhost_addr
    - STREQ
    - split_at
    - UPDATE_STR
    - SMTPD_IN_MAIL_TRANSACTION
    - xtext_unquote
    linkageType: ''
    returnType: int
    signature: int xclient_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *argv)
  - 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: 4618
      start: 4617
    functionDepth: 0
    functionLinenumber: 4617
    functionLinenumberEnd: 4618
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4660
      start: 4655
    functionDepth: 0
    functionLinenumber: 4655
    functionLinenumberEnd: 4660
    functionName: UPDATE_STR
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_STR(s, v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4791,1
    - Dst: smtpd_sasl_auth_extern
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4795
      start: 4790
    functionDepth: 0
    functionLinenumber: 4790
    functionLinenumberEnd: 4795
    functionName: if
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 2
    functionsReached:
    - STREQ
    - smtpd_sasl_auth_extern
    linkageType: ''
    returnType: else
    signature: else if (STREQ(attr_name, XCLIENT_LOGIN))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4802,1
    - Dst: UPDATE_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4804,1
    - Dst: neuter
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4808,1
    - Dst: normalize_mailhost_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4809,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4819
      start: 4801
    functionDepth: 2
    functionLinenumber: 4801
    functionLinenumberEnd: 4819
    functionName: if
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 2
    functionsReached:
    - neuter
    - smtpd_chat_reply
    - normalize_mailhost_addr
    - STREQ
    - UPDATE_STR
    linkageType: ''
    returnType: else
    signature: else if (STREQ(attr_name, XCLIENT_DESTADDR))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4825,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4828,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4829,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4831,1
    - Dst: UPDATE_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4836,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4837
      start: 4824
    functionDepth: 2
    functionLinenumber: 4824
    functionLinenumberEnd: 4837
    functionName: if
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 2
    functionsReached:
    - strlen
    - smtpd_chat_reply
    - alldig
    - STREQ
    - UPDATE_STR
    linkageType: ''
    returnType: else
    signature: else if (STREQ(attr_name, XCLIENT_DESTPORT))
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: SMTPD_IN_MAIL_TRANSACTION
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4957,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4959,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4964,1
    - Dst: cant_permit_command
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4969,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4972,1
    - Dst: smtpd_xforward_preset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4980,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4982,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4990,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4992,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4995,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:4997,1
    - Dst: xtext_unquote
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5005,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5006,1
    - Dst: printable
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5012,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5014,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5022,1
    - Dst: neuter
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5026,1
    - Dst: valid_hostname
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5027,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5029,1
    - Dst: UPDATE_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5034,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5043,1
    - Dst: UPDATE_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5045,1
    - Dst: neuter
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5047,1
    - Dst: normalize_mailhost_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5048,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5053,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5064,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5067,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5068,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5070,1
    - Dst: UPDATE_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5075,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5084,1
    - Dst: neuter
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5087,1
    - Dst: UPDATE_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5089,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5097,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5100,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5102,1
    - Dst: neuter
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5106,1
    - Dst: UPDATE_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5108,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5117,1
    - Dst: neuter
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5120,1
    - Dst: UPDATE_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5122,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5129,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5131,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5135,1
    - Dst: UPDATE_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5139,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5147,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5162,1
    - Dst: IS_AVAIL_CLIENT_ADDR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5164,1
    - Dst: SMTPD_BUILD_NAMADDRPORT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5165,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5168,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5170,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 130
    argCount: 3
    argNames:
    - state
    - argc
    - argv
    argTypes:
    - SMTPD_STATE*
    - int
    - SMTPD_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5172
      start: 4925
    functionDepth: 3
    functionLinenumber: 4925
    functionLinenumberEnd: 5172
    functionName: xforward_cmd
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - UPDATE_STR
    - strlen
    - alldig
    - vstring_alloc
    - normalize_mailhost_addr
    - split_at
    - SMTPD_IN_MAIL_TRANSACTION
    - valid_hostname
    - cant_permit_command
    - SMTPD_BUILD_NAMADDRPORT
    - myfree
    - STREQ
    - xtext_unquote
    - name_code
    - printable
    - neuter
    - smtpd_chat_reply
    - smtpd_xforward_preset
    - mystrdup
    - IS_AVAIL_CLIENT_ADDR
    - STR
    linkageType: ''
    returnType: int
    signature: int xforward_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5187,1
    - Dst: smtpd_chat_notify
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5189,1
    - Dst: smtpd_chat_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - state
    - threshold
    argTypes:
    - SMTPD_STATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5193
      start: 5176
    functionDepth: 4
    functionLinenumber: 5176
    functionLinenumberEnd: 5193
    functionName: chat_reset
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 6
    functionsReached:
    - SMTPD_STAND_ALONE
    - smtpd_chat_reset
    - smtpd_chat_notify
    linkageType: ''
    returnType: void
    signature: void chat_reset(SMTPD_STATE *state, int threshold)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5221,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5222,1
    - Dst: CA_VSTREAM_CTL_SWAP_FD
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5222,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5224,1
    - Dst: tls_proxy_context_receive
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5234,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5271,1
    - Dst: ADD_EXCLUDE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5272,1
    - Dst: ADD_EXCLUDE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5274,1
    - Dst: ADD_EXCLUDE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5276,1
    - Dst: TLS_SERVER_START
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5286,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5296,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5315,1
    - Dst: namadr_list_match
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5318,1
    - Dst: anvil_clnt_newtls
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5319,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5323,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5326,1
    - Dst: vstream_longjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5330,1
    - Dst: vstream_longjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5338,1
    - Dst: TLS_CERT_IS_TRUSTED
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5345,1
    - Dst: TLS_CERT_IS_PRESENT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5351,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5352,1
    - Dst: smtpd_chat_query
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5357,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5358,1
    - Dst: smtpd_sasl_is_active
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5376,1
    - Dst: smtpd_sasl_auth_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5377,1
    - Dst: smtpd_sasl_deactivate
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5378,1
    - Dst: smtpd_sasl_is_active
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5381,1
    - Dst: smtpd_sasl_activate
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5382,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 44
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5386
      start: 5199
    functionDepth: 2
    functionLinenumber: 5199
    functionLinenumberEnd: 5386
    functionName: smtpd_start_tls
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - msg_info
    - vstream_control
    - vstream_longjmp
    - CA_VSTREAM_CTL_SWAP_FD
    - TLS_SERVER_START
    - SMTPD_STAND_ALONE
    - TLS_CERT_IS_TRUSTED
    - vstring_alloc
    - smtpd_sasl_is_active
    - smtpd_sasl_activate
    - namadr_list_match
    - tls_proxy_context_receive
    - smtpd_sasl_deactivate
    - anvil_clnt_newtls
    - smtpd_chat_query
    - TLS_CERT_IS_PRESENT
    - msg_warn
    - smtpd_sasl_auth_reset
    - smtpd_chat_reply
    - ADD_EXCLUDE
    - vstream_fclose
    - STR
    linkageType: ''
    returnType: void
    signature: void smtpd_start_tls(SMTPD_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vstr
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5267
      start: 5261
    functionDepth: 0
    functionLinenumber: 5261
    functionLinenumberEnd: 5267
    functionName: ADD_EXCLUDE
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_EXCLUDE(vstr, str)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5397,1
    - Dst: milter_other_event
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5400,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5403,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5409,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5415,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5421,1
    - Dst: tls_proxy_legacy_open
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5434,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5441,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5448,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5462,1
    - Dst: namadr_list_match
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5465,1
    - Dst: anvil_clnt_newtls_stat
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5466,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5470,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5472,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5476,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5481,1
    - Dst: smtp_flush
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5483,1
    - Dst: vstream_fpurge
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5485,1
    - Dst: helo_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5493,1
    - Dst: mail_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5494,1
    - Dst: rcpt_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5495,1
    - Dst: smtpd_start_tls
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5501,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 3
    argNames:
    - state
    - argc
    - unused_argv
    argTypes:
    - SMTPD_STATE*
    - int
    - SMTPD_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5503
      start: 5390
    functionDepth: 3
    functionLinenumber: 5390
    functionLinenumberEnd: 5503
    functionName: starttls_cmd
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - rcpt_reset
    - SMTPD_STAND_ALONE
    - smtpd_start_tls
    - msg_warn
    - smtpd_chat_reply
    - helo_reset
    - vstream_fpurge
    - vstream_fclose
    - anvil_clnt_newtls_stat
    - mail_reset
    - milter_other_event
    - namadr_list_match
    - smtp_flush
    - tls_proxy_legacy_open
    linkageType: ''
    returnType: int
    signature: int starttls_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *unused_argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstream_feof
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5515,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5515,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5517,1
    - Dst: tls_proxy_context_free
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5519,1
    - Dst: tls_server_stop
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5526
      start: 5507
    functionDepth: 1
    functionLinenumber: 5507
    functionLinenumberEnd: 5526
    functionName: tls_reset
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - vstream_feof
    - vstream_fflush
    - vstream_ferror
    - tls_server_stop
    - tls_proxy_context_free
    linkageType: ''
    returnType: void
    signature: void tls_reset(SMTPD_STATE *state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: milter_unknown_event
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5554,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5555,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5557,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5559,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5560,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5564
      start: 5532
    functionDepth: 2
    functionLinenumber: 5532
    functionLinenumberEnd: 5564
    functionName: milter_unknown_reply_override
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - strchr
    - msg_warn
    - smtpd_chat_reply
    - milter_unknown_event
    - STR
    linkageType: ''
    returnType: int
    signature: int milter_unknown_reply_override(SMTPD_STATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: milter_unknown_reply_override
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5580,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - state
    - argc
    - unused_argv
    argTypes:
    - SMTPD_STATE*
    - int
    - SMTPD_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5583
      start: 5568
    functionDepth: 3
    functionLinenumber: 5568
    functionLinenumberEnd: 5583
    functionName: unimpl_cmd
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - smtpd_chat_reply
    - milter_unknown_reply_override
    linkageType: ''
    returnType: int
    signature: int unimpl_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - table
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5647
      start: 5646
    functionDepth: 0
    functionLinenumber: 5646
    functionLinenumberEnd: 5647
    functionName: LAST_TABLE_PTR
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LAST_TABLE_PTR(table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5656,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5658,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5674,1
    - Dst: argv_sort
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5675,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5676,1
    - Dst: argv_join
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5677,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5678,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5679,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - state
    - unused_argc
    - unused_argv
    argTypes:
    - SMTPD_STATE*
    - int
    - SMTPD_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5681
      start: 5654
    functionDepth: 2
    functionLinenumber: 5654
    functionLinenumberEnd: 5681
    functionName: help_cmd
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - argv_join
    - argv_sort
    - smtpd_chat_reply
    - vstring_alloc
    - argv_free
    - argv_alloc
    - argv_add
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int help_cmd(SMTPD_STATE *state, int unused_argc, SMTPD_TOKEN *unused_argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstream_peek
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5692,1
    - Dst: peekfd
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5693,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5693,1
    - Dst: vstream_ungetc
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5694,1
    - Dst: smtp_fgetc
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5694,1
    - Dst: vstream_peek
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5695,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5697,1
    - Dst: escape
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5698,1
    - Dst: vstream_peek_data
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5698,1
    - Dst: vstream_peek
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5699,1
    - Dst: vstream_peek
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5700,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5701,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5702,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5707
      start: 5685
    functionDepth: 3
    functionLinenumber: 5685
    functionLinenumberEnd: 5707
    functionName: smtpd_flag_ill_pipelining
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - vstream_ungetc
    - vstring_alloc
    - vstream_peek
    - msg_info
    - smtp_fgetc
    - vstream_peek_data
    - vstream_fileno
    - peekfd
    - escape
    - STR
    linkageType: ''
    returnType: int
    signature: int smtpd_flag_ill_pipelining(SMTPD_STATE *state)
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5747,1
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5748,1
    - Dst: smtp_stream_setup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5750,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5754,1
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5760,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5761,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5773,1
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5778,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5779,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5790,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5808,1
    - Dst: tls_proxy_legacy_open
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5813,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5819,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5827,1
    - Dst: namadr_list_match
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5837,1
    - Dst: anvil_clnt_newtls_stat
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5838,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5842,1
    - Dst: smtpd_start_tls
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5846,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5855,1
    - Dst: vstream_context
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5856,1
    - Dst: smtpd_flag_ill_pipelining
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5858,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5860,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5876,1
    - Dst: namadr_list_match
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5879,1
    - Dst: anvil_clnt_connect
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5880,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5887,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5889,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5895,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5897,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5909,1
    - Dst: ehlo_mask
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5911,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5914,1
    - Dst: smtpd_check_client
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5916,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5918,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5919,1
    - Dst: milter_macro_callback
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5940,1
    - Dst: milter_conn_event
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5942,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5944,1
    - Dst: check_milter_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5947,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5951,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5954,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5956,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5960,1
    - Dst: smtpd_sasl_is_active
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5974,1
    - Dst: smtpd_sasl_activate
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5981,1
    - Dst: smtp_stream_setup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5991,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:5996,1
    - Dst: watchdog_pat
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6000,1
    - Dst: smtpd_chat_query
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6001,1
    - Dst: IS_BARE_LF_REPLY_REJECT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6002,1
    - Dst: log_whatsup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6003,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6005,1
    - Dst: IS_BARE_LF_NOTE_LOG
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6009,1
    - Dst: valid_utf8_stringz
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6013,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6013,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6015,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6023,1
    - Dst: IS_SPACE_TAB
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6023,1
    - Dst: dict_get
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6025,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6026,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6027,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6028,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6030,1
    - Dst: printable
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6032,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6032,1
    - Dst: vstream_longjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6033,1
    - Dst: smtpd_token
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6036,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6036,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6038,1
    - Dst: string_list_match
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6046,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6047,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6054,1
    - Dst: is_header
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6060,1
    - Dst: string_list_match
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6062,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6063,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6065,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6067,1
    - Dst: escape
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6067,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6068,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6069,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6070,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6071,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6078,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6079,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6082,1
    - Dst: milter_unknown_reply_override
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6089,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6090,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6100,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6107,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6108,1
    - Dst: smtpd_flag_ill_pipelining
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6111,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6113,1
    - Dst: SMTPD_CMD*::action
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6117,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6141,1
    - Dst: namadr_list_match
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6144,1
    - Dst: anvil_clnt_disconnect
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6145,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6158,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6159,1
    - Dst: vstream_peek
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6162,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6164,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6165,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6168,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6169,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6171,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6172,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6173,1
    - Dst: tls_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6186,1
    - Dst: helo_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6188,1
    - Dst: smtpd_sasl_auth_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6190,1
    - Dst: smtpd_sasl_is_active
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6191,1
    - Dst: smtpd_sasl_deactivate
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6192,1
    - Dst: chat_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6195,1
    - Dst: mail_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6196,1
    - Dst: rcpt_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6197,1
    - Dst: milter_disc_event
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6199,1
    CyclomaticComplexity: 125
    EdgeCount: 125
    ICount: 220
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6200
      start: 5711
    functionDepth: 6
    functionLinenumber: 5711
    functionLinenumberEnd: 6200
    functionName: smtpd_proto
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - smtpd_start_tls
    - chat_reset
    - VSTRING_LEN
    - milter_macro_callback
    - anvil_clnt_disconnect
    - msg_info
    - vstream_control
    - vstream_longjmp
    - SMTPD_CMD*::action
    - anvil_clnt_connect
    - milter_unknown_reply_override
    - escape
    - log_whatsup
    - msg_panic
    - SMTPD_STAND_ALONE
    - maps_find
    - ehlo_mask
    - check_milter_reply
    - vstring_alloc
    - string_list_match
    - IS_BARE_LF_NOTE_LOG
    - vstream_peek
    - mail_reset
    - strcasecmp
    - smtpd_sasl_is_active
    - smtpd_sasl_activate
    - anvil_clnt_newtls_stat
    - namadr_list_match
    - vstring_str
    - milter_disc_event
    - vstream_context
    - smtpd_flag_ill_pipelining
    - rcpt_reset
    - watchdog_pat
    - helo_reset
    - is_header
    - smtpd_sasl_deactivate
    - IS_SPACE_TAB
    - smtp_stream_setup
    - vstream_setjmp
    - smtpd_token
    - strncmp
    - milter_conn_event
    - smtpd_chat_query
    - tls_reset
    - smtpd_check_client
    - tls_proxy_legacy_open
    - dict_get
    - IS_BARE_LF_REPLY_REJECT
    - vstring_free
    - printable
    - msg_warn
    - smtpd_sasl_auth_reset
    - smtpd_chat_reply
    - strcmp
    - vstring_strcpy
    - valid_utf8_stringz
    - mystrdup
    - STR
    linkageType: ''
    returnType: void
    signature: void smtpd_proto(SMTPD_STATE *state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6215,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6218,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6222,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6250,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6252,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6258,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6260,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6260,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6261
      start: 6204
    functionDepth: 1
    functionLinenumber: 6204
    functionLinenumberEnd: 6261
    functionName: smtpd_format_cmd_stats
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - VSTRING_RESET
    - vstring_sprintf_append
    - lowercase
    - STR
    linkageType: ''
    returnType: char
    signature: char *smtpd_format_cmd_stats(SMTPD_STATE *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6273,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6277,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6279,1
    - Dst: milter_create
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6280,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6304
      start: 6265
    functionDepth: 2
    functionLinenumber: 6265
    functionLinenumberEnd: 6304
    functionName: setup_milters
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - maps_find
    - SMTPD_STAND_ALONE
    - strcasecmp
    - milter_create
    linkageType: ''
    returnType: void
    signature: void setup_milters(SMTPD_STATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: milter_free
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6311,1
    - Dst: input_transp_mask
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6316
      start: 6308
    functionDepth: 2
    functionLinenumber: 6308
    functionLinenumberEnd: 6316
    functionName: teardown_milters
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - milter_free
    - input_transp_mask
    linkageType: ''
    returnType: void
    signature: void teardown_milters(SMTPD_STATE *state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6329,1
    - Dst: SMTPD_STAND_ALONE_STREAM
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6336,1
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6337,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6338,1
    - Dst: smtpd_state_init
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6350,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6351,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6356,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6365,1
    - Dst: namadr_list_match
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6366,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6371,1
    - Dst: namadr_list_match
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6372,1
    - Dst: SMTPD_STAND_ALONE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6377,1
    - Dst: namadr_list_match
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6378,1
    - Dst: debug_peer_check
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6384,1
    - Dst: setup_milters
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6389,1
    - Dst: smtpd_proto
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6394,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6400,1
    - Dst: smtpd_format_cmd_stats
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6401,1
    - Dst: teardown_milters
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6402,1
    - Dst: smtpd_state_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6403,1
    - Dst: debug_peer_restore
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6404,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - stream
    - service
    - argv
    argTypes:
    - VSTREAM*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6405
      start: 6321
    functionDepth: 7
    functionLinenumber: 6321
    functionLinenumberEnd: 6405
    functionName: smtpd_service
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - smtpd_state_reset
    - inet_proto_info
    - SMTPD_STAND_ALONE_STREAM
    - SMTPD_STAND_ALONE
    - debug_peer_restore
    - teardown_milters
    - msg_info
    - smtpd_format_cmd_stats
    - smtpd_proto
    - smtpd_state_init
    - setup_milters
    - namadr_list_match
    - msg_fatal
    - debug_peer_check
    linkageType: ''
    returnType: void
    signature: void smtpd_service(VSTREAM *stream, char *service, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_changed_name
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6413,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6414,1
    - Dst: exit
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6417
      start: 6409
    functionDepth: 1
    functionLinenumber: 6409
    functionLinenumberEnd: 6417
    functionName: pre_accept
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - dict_changed_name
    - exit
    - msg_info
    linkageType: ''
    returnType: void
    signature: void pre_accept(char *unused_name, char **unused_argv)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: string_list_init
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6428,1
    - Dst: string_list_init
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6430,1
    - Dst: namadr_list_init
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6433,1
    - Dst: namadr_list_init
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6435,1
    - Dst: namadr_list_init
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6437,1
    - Dst: namadr_list_init
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6439,1
    - Dst: match_parent_style
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6440,1
    - Dst: namadr_list_init
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6442,1
    - Dst: match_parent_style
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6444,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6446,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6448,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6461,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6461,1
    - Dst: smtpd_check_init
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6462,1
    - Dst: smtpd_expand_init
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6463,1
    - Dst: debug_peer_init
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6464,1
    - Dst: smtpd_sasl_initialize
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6468,1
    - Dst: namadr_list_init
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6472,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6476,1
    - Dst: dict_open
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6481,1
    - Dst: tls_level_lookup
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6493,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6495,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6501,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6534,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6534,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6553,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6568,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6578,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6580,1
    - Dst: tls_pre_jail_init
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6585,1
    - Dst: TLS_SERVER_INIT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6593,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6619,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6623,1
    - Dst: flush_init
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6631,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6637,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6645,1
    - Dst: dns_rr_filter_compile
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6653,1
    - Dst: smtpd_chat_pre_jail_init
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6660,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 86
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6661
      start: 6421
    functionDepth: 3
    functionLinenumber: 6421
    functionLinenumberEnd: 6661
    functionName: pre_jail_init
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 4
    functionsReached:
    - flush_init
    - dict_open
    - smtpd_chat_pre_jail_init
    - tls_level_lookup
    - getuid
    - smtpd_check_init
    - dns_rr_filter_compile
    - strcasecmp
    - TLS_SERVER_INIT
    - debug_peer_init
    - smtpd_sasl_initialize
    - maps_create
    - string_list_init
    - name_code
    - msg_warn
    - smtpd_expand_init
    - namadr_list_init
    - match_parent_style
    - tls_pre_jail_init
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void pre_jail_init(char *unused_name, char **unused_argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: input_transp_mask
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6673,1
    - Dst: smtpd_proxy_parse_opts
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6682,1
    - Dst: ENFORCING_SIZE_LIMIT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6690,1
    - Dst: ENFORCING_SIZE_LIMIT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6691,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6693,1
    - Dst: anvil_clnt_create
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6703,1
    - Dst: hfrom_format_parse
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6708,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6709
      start: 6665
    functionDepth: 2
    functionLinenumber: 6665
    functionLinenumberEnd: 6709
    functionName: post_jail_init
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 0
    functionsReached:
    - ENFORCING_SIZE_LIMIT
    - smtpd_proxy_parse_opts
    - msg_warn
    - hfrom_format_parse
    - anvil_clnt_create
    - input_transp_mask
    linkageType: ''
    returnType: void
    signature: void post_jail_init(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: single_server_main
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6954,1
    - Dst: CA_MAIL_SERVER_NINT_TABLE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6955,1
    - Dst: CA_MAIL_SERVER_INT_TABLE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6956,1
    - Dst: CA_MAIL_SERVER_LONG_TABLE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6957,1
    - Dst: CA_MAIL_SERVER_STR_TABLE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6958,1
    - Dst: CA_MAIL_SERVER_RAW_TABLE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6959,1
    - Dst: CA_MAIL_SERVER_BOOL_TABLE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6960,1
    - Dst: CA_MAIL_SERVER_NBOOL_TABLE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6961,1
    - Dst: CA_MAIL_SERVER_TIME_TABLE
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6962,1
    - Dst: CA_MAIL_SERVER_PRE_INIT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6963,1
    - Dst: CA_MAIL_SERVER_PRE_ACCEPT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6964,1
    - Dst: CA_MAIL_SERVER_POST_INIT
      Src: /src/postfix/postfix/src/smtpd/smtpd.c:6965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6967
      start: 6715
    functionDepth: 1
    functionLinenumber: 6715
    functionLinenumberEnd: 6967
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd.c
    functionUses: 26
    functionsReached:
    - CA_MAIL_SERVER_PRE_ACCEPT
    - CA_MAIL_SERVER_LONG_TABLE
    - CA_MAIL_SERVER_RAW_TABLE
    - CA_MAIL_SERVER_STR_TABLE
    - single_server_main
    - CA_MAIL_SERVER_POST_INIT
    - CA_MAIL_SERVER_BOOL_TABLE
    - CA_MAIL_SERVER_INT_TABLE
    - CA_MAIL_SERVER_NBOOL_TABLE
    - CA_MAIL_SERVER_TIME_TABLE
    - CA_MAIL_SERVER_PRE_INIT
    - CA_MAIL_SERVER_NINT_TABLE
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/smtpd/smtpd_dsn_fix.c:102,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_dsn_fix.c:102,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_dsn_fix.c:108,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_dsn_fix.c:110,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_dsn_fix.c:119,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_dsn_fix.c:121,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_dsn_fix.c:136,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_dsn_fix.c:137,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - status
    - reply_class
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 149
    functionName: smtpd_dsn_fix
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_dsn_fix.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strncmp
    - ISDIGIT
    - msg_info
    linkageType: ''
    returnType: char
    signature: char *smtpd_dsn_fix(const char *status, const char *reply_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: smtpd_sasl_is_active
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smtpd_sasl_is_active(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: smtpd_sasl_set_inactive
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smtpd_sasl_set_inactive(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
    functionUses: 293
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
    functionUses: 82
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - 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: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x, y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:251,1
    - Dst: smtpd_proxy_cmd
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:252,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:253,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - state
    - buf
    argTypes:
    - SMTPD_STATE*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 258
    functionName: smtpd_proxy_xforward_flush
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
    functionUses: 0
    functionsReached:
    - VSTRING_RESET
    - STR
    - smtpd_proxy_cmd
    - VSTRING_LEN
    linkageType: ''
    returnType: int
    signature: int smtpd_proxy_xforward_flush(SMTPD_STATE *state, VSTRING *buf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:280,1
    - Dst: xtext_quote
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:281,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:286,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:286,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:286,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:288,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:294,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:294,1
    - Dst: smtpd_proxy_xforward_flush
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:295,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:297,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:297,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - state
    - buf
    - name
    - value_available
    - value
    argTypes:
    - SMTPD_STATE*
    - VSTRING*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 300
    functionName: smtpd_proxy_xforward_send
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
    functionUses: 0
    functionsReached:
    - xtext_quote
    - msg_warn
    - strlen
    - VSTRING_LEN
    - vstring_alloc
    - vstring_sprintf_append
    - smtpd_proxy_xforward_flush
    - STR
    linkageType: ''
    returnType: int
    signature: "int smtpd_proxy_xforward_send(SMTPD_STATE *state, VSTRING *buf,\n\t\t\t\t
      \            const char *name,\n\t\t\t\t             int value_available,\n\t\t\t\t
      \            const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 271
    functionName: CONSTR_LEN
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONSTR_LEN(s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:330,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:334,1
    - Dst: connect_fn
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:344,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:345,1
    - Dst: smtpd_proxy_rdwr_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:346,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:348,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:350,1
    - Dst: CA_VSTREAM_CTL_CONTEXT
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:351,1
    - Dst: vstream_tweak_tcp
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:355,1
    - Dst: smtp_timeout_setup
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:356,1
    - Dst: smtpd_proxy_cmd
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:366,1
    - Dst: smtpd_proxy_fake_server_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:367,1
    - Dst: smtpd_proxy_close
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:368,1
    - Dst: smtpd_proxy_cmd
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:379,1
    - Dst: smtpd_proxy_fake_server_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:381,1
    - Dst: smtpd_proxy_close
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:382,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:390,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:391,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:392,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:392,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:393,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:394,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:396,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:409,1
    - Dst: smtpd_proxy_xforward_send
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:412,1
    - Dst: IS_AVAIL_CLIENT_NAME
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:413,1
    - Dst: FORWARD_NAME
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:413,1
    - Dst: FORWARD_NAME
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:414,1
    - Dst: smtpd_proxy_xforward_send
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:416,1
    - Dst: IS_AVAIL_CLIENT_ADDR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:417,1
    - Dst: FORWARD_ADDR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:417,1
    - Dst: FORWARD_ADDR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:418,1
    - Dst: smtpd_proxy_xforward_send
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:420,1
    - Dst: IS_AVAIL_CLIENT_PORT
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:421,1
    - Dst: FORWARD_PORT
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:421,1
    - Dst: FORWARD_PORT
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:422,1
    - Dst: smtpd_proxy_xforward_send
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:424,1
    - Dst: IS_AVAIL_CLIENT_HELO
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:425,1
    - Dst: FORWARD_HELO
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:425,1
    - Dst: FORWARD_HELO
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:426,1
    - Dst: smtpd_proxy_xforward_send
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:428,1
    - Dst: IS_AVAIL_CLIENT_IDENT
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:429,1
    - Dst: FORWARD_IDENT
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:429,1
    - Dst: FORWARD_IDENT
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:430,1
    - Dst: smtpd_proxy_xforward_send
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:432,1
    - Dst: IS_AVAIL_CLIENT_PROTO
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:433,1
    - Dst: FORWARD_PROTO
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:433,1
    - Dst: FORWARD_PROTO
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:434,1
    - Dst: smtpd_proxy_xforward_send
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:436,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:437,1
    - Dst: FORWARD_DOMAIN
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:437,1
    - Dst: smtpd_proxy_xforward_flush
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:439,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:440,1
    - Dst: smtpd_proxy_fake_server_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:442,1
    - Dst: smtpd_proxy_close
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:443,1
    - Dst: smtpd_proxy_cmd
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:453,1
    - Dst: smtpd_proxy_close
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:456,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 53
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 304
    functionDepth: 4
    functionLinenumber: 304
    functionLinenumberEnd: 460
    functionName: smtpd_proxy_connect
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
    functionUses: 0
    functionsReached:
    - vstream_control
    - smtpd_proxy_fake_server_reply
    - IS_AVAIL_CLIENT_HELO
    - smtpd_proxy_xforward_flush
    - FORWARD_PORT
    - IS_AVAIL_CLIENT_NAME
    - vstring_alloc
    - FORWARD_IDENT
    - vstream_tweak_tcp
    - strcasecmp
    - IS_AVAIL_CLIENT_IDENT
    - smtpd_proxy_cmd
    - mystrtok
    - FORWARD_ADDR
    - FORWARD_PROTO
    - IS_AVAIL_CLIENT_PROTO
    - connect_fn
    - STREQ
    - vstring_free
    - FORWARD_HELO
    - name_code
    - smtpd_proxy_rdwr_error
    - msg_warn
    - vstream_fdopen
    - smtp_timeout_setup
    - FORWARD_NAME
    - CA_VSTREAM_CTL_CONTEXT
    - smtpd_proxy_xforward_send
    - IS_AVAIL_CLIENT_PORT
    - FORWARD_DOMAIN
    - smtpd_proxy_close
    - strncasecmp
    - IS_AVAIL_CLIENT_ADDR
    - STR
    linkageType: ''
    returnType: int
    signature: int smtpd_proxy_connect(SMTPD_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_stat_detail
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:473,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - state
    - status
    argTypes:
    - SMTPD_STATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 477
    functionName: smtpd_proxy_fake_server_reply
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
    functionUses: 1
    functionsReached:
    - cleanup_stat_detail
    - vstring_sprintf
    linkageType: ''
    returnType: void
    signature: void smtpd_proxy_fake_server_reply(SMTPD_STATE *state, int status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:487,1
    - Dst: smtpd_proxy_fake_server_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 481
    functionDepth: 3
    functionLinenumber: 481
    functionLinenumberEnd: 497
    functionName: smtpd_proxy_replay_rdwr_error
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
    functionUses: 0
    functionsReached:
    - smtpd_proxy_fake_server_reply
    - msg_warn
    linkageType: ''
    returnType: int
    signature: int smtpd_proxy_replay_rdwr_error(SMTPD_STATE *state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:510,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:520,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:523,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:526,1
    - Dst: smtpd_proxy_fake_server_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:536,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - state
    - err
    argTypes:
    - SMTPD_STATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 501
    functionDepth: 3
    functionLinenumber: 501
    functionLinenumberEnd: 538
    functionName: smtpd_proxy_rdwr_error
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - smtpd_proxy_fake_server_reply
    - msg_warn
    linkageType: ''
    returnType: int
    signature: int smtpd_proxy_rdwr_error(SMTPD_STATE *state, int err)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:554,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:559,1
    - Dst: vstream_feof
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:560,1
    - Dst: rec_put
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:561,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:562,1
    - Dst: smtpd_proxy_replay_rdwr_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:564,1
    - Dst: smtpd_proxy_connect
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:569,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:593,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:594,1
    - Dst: smtpd_proxy_replay_rdwr_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:595,1
    - Dst: rec_get
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:598,1
    - Dst: smtpd_proxy_rec_put
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:606,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:607,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:607,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:615,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:615,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:616,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:616,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:617,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:618,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:628,1
    - Dst: smtpd_proxy_cmd
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:629,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:629,1
    - Dst: smtpd_proxy_replay_rdwr_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:644,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:646,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 542
    functionDepth: 5
    functionLinenumber: 542
    functionLinenumberEnd: 649
    functionName: smtpd_proxy_replay_send
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstream_feof
    - rec_put
    - vstream_fseek
    - smtpd_proxy_connect
    - vstream_fflush
    - vstream_ferror
    - vstring_alloc
    - smtpd_proxy_rec_put
    - LEN
    - alldig
    - rec_get
    - atoi
    - smtpd_proxy_cmd
    - smtpd_proxy_replay_rdwr_error
    - STR
    linkageType: ''
    returnType: int
    signature: int smtpd_proxy_replay_send(SMTPD_STATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:660,1
    - Dst: vstream_feof
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:661,1
    - Dst: smtpd_proxy_replay_rdwr_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:662,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:668,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:680,1
    - Dst: rec_vfprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:681,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:682,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:687,1
    - Dst: smtpd_proxy_replay_send
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - state
    - expect
    - fmt
    argTypes:
    - SMTPD_STATE*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 653
    functionDepth: 6
    functionLinenumber: 653
    functionLinenumberEnd: 688
    functionName: smtpd_proxy_save_cmd
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
    functionUses: 0
    functionsReached:
    - va_start
    - vstream_feof
    - va_end
    - smtpd_proxy_replay_send
    - vstream_ferror
    - rec_fprintf
    - strcmp
    - rec_vfprintf
    - smtpd_proxy_replay_rdwr_error
    linkageType: ''
    returnType: void
    signature: void smtpd_proxy_save_cmd(SMTPD_STATE *state, int expect, const char
      *fmt,...)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:704,1
    - Dst: vstream_feof
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:705,1
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:706,1
    - Dst: smtpd_proxy_rdwr_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:707,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:713,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:714,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:715,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:722,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:729,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:729,1
    - Dst: smtp_fputs
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:735,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:735,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:735,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:753,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:755,1
    - Dst: smtp_get
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:757,1
    - Dst: printable
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:759,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:759,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:761,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:763,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:765,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:765,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:771,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:772,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:773,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:774,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:774,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:783,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:783,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:785,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:791,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:792,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:803,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:804,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:805,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:806,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:807,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:808,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:809,1
    - Dst: smtpd_proxy_rdwr_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:810,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 48
    argCount: 3
    argNames:
    - state
    - expect
    - fmt
    argTypes:
    - SMTPD_STATE*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 692
    functionDepth: 4
    functionLinenumber: 692
    functionLinenumberEnd: 816
    functionName: smtpd_proxy_cmd
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
    functionUses: 3
    functionsReached:
    - smtp_fputs
    - VSTRING_LEN
    - vstream_ferror
    - LEN
    - msg_info
    - VSTRING_RESET
    - va_start
    - vstring_alloc
    - vstring_strcat
    - vstream_feof
    - vstream_setjmp
    - va_end
    - printable
    - smtpd_proxy_rdwr_error
    - msg_warn
    - vstring_vsprintf
    - smtp_get
    - ISDIGIT
    - STR
    linkageType: ''
    returnType: int
    signature: int smtpd_proxy_cmd(SMTPD_STATE *state, int expect, const char *fmt,...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:832,1
    - Dst: rec_put
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:838,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:840,1
    - Dst: smtpd_proxy_replay_rdwr_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:846,1
    - Dst: VSTREAM_TO_SMTPD_STATE
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:846,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - stream
    - rec_type
    - data
    - len
    argTypes:
    - VSTREAM*
    - int
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 820
    functionDepth: 4
    functionLinenumber: 820
    functionLinenumberEnd: 850
    functionName: smtpd_proxy_save_rec_put
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - VSTREAM_TO_SMTPD_STATE
    - smtpd_proxy_replay_rdwr_error
    - rec_put
    linkageType: ''
    returnType: int
    signature: "int smtpd_proxy_save_rec_put(VSTREAM *stream, int rec_type,\n\t\t\t\t
      \           const char *data, ssize_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: 827
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 827
    functionName: VSTREAM_TO_SMTPD_STATE
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_TO_SMTPD_STATE(s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:863,1
    - Dst: vstream_feof
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:863,1
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:864,1
    - Dst: smtpd_proxy_rdwr_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:865,1
    - Dst: VSTREAM_TO_SMTPD_STATE
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:865,1
    - Dst: smtp_fputs
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:873,1
    - Dst: smtp_fwrite
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:875,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:877,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - stream
    - rec_type
    - data
    - len
    argTypes:
    - VSTREAM*
    - int
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 854
    functionDepth: 4
    functionLinenumber: 854
    functionLinenumberEnd: 879
    functionName: smtpd_proxy_rec_put
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - vstream_feof
    - smtpd_proxy_rdwr_error
    - VSTREAM_TO_SMTPD_STATE
    - smtp_fputs
    - vstream_ferror
    - vstream_setjmp
    - smtp_fwrite
    linkageType: ''
    returnType: int
    signature: "int smtpd_proxy_rec_put(VSTREAM *stream, int rec_type,\n\t\t\t               const
      char *data, ssize_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:894,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:900,1
    - Dst: rec_vfprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:902,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:904,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:905,1
    - Dst: smtpd_proxy_replay_rdwr_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:911,1
    - Dst: VSTREAM_TO_SMTPD_STATE
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:911,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - stream
    - rec_type
    - fmt
    argTypes:
    - VSTREAM*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 883
    functionDepth: 4
    functionLinenumber: 883
    functionLinenumberEnd: 915
    functionName: smtpd_proxy_save_rec_fprintf
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - va_start
    - va_end
    - VSTREAM_TO_SMTPD_STATE
    - rec_vfprintf
    - smtpd_proxy_replay_rdwr_error
    linkageType: ''
    returnType: int
    signature: "int smtpd_proxy_save_rec_fprintf(VSTREAM *stream, int rec_type,\n\t\t\t\t\t
      \       const char *fmt,...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:929,1
    - Dst: vstream_feof
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:929,1
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:930,1
    - Dst: smtpd_proxy_rdwr_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:931,1
    - Dst: VSTREAM_TO_SMTPD_STATE
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:931,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:939,1
    - Dst: smtp_vprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:941,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:943,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:944,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - stream
    - rec_type
    - fmt
    argTypes:
    - VSTREAM*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 919
    functionDepth: 4
    functionLinenumber: 919
    functionLinenumberEnd: 946
    functionName: smtpd_proxy_rec_fprintf
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
    functionUses: 0
    functionsReached:
    - va_start
    - vstream_feof
    - smtpd_proxy_rdwr_error
    - VSTREAM_TO_SMTPD_STATE
    - msg_panic
    - va_end
    - vstream_ferror
    - smtp_vprintf
    - vstream_setjmp
    linkageType: ''
    returnType: int
    signature: "int smtpd_proxy_rec_fprintf(VSTREAM *stream, int rec_type,\n\t\t\t\t
      \          const char *fmt,...)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:968,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:969,1
    - Dst: vstream_clearerr
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:971,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:973,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:974,1
    - Dst: mail_queue_enter
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:982,1
    - Dst: smtpd_proxy_replay_rdwr_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:985,1
    - Dst: unlink
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:986,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:986,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:987,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:988,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:990,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:991,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:997,1
    - Dst: CA_VSTREAM_CTL_CONTEXT
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:998,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 952
    functionDepth: 4
    functionLinenumber: 952
    functionLinenumberEnd: 1001
    functionName: smtpd_proxy_replay_setup
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_warn
    - vstream_ftell
    - VSTREAM_PATH
    - CA_VSTREAM_CTL_CONTEXT
    - unlink
    - msg_info
    - vstream_clearerr
    - vstream_control
    - vstream_fileno
    - smtpd_proxy_replay_rdwr_error
    - mail_queue_enter
    linkageType: ''
    returnType: int
    signature: int smtpd_proxy_replay_setup(SMTPD_STATE *state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1026,1
    - Dst: SMTPD_PROXY_ALLOC
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1033,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1033,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1034,1
    - Dst: smtpd_proxy_connect
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1041,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1057,1
    - Dst: smtpd_proxy_replay_setup
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1059,1
    - Dst: SMTPD_PROXY_ALLOC
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1062,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1063,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1064,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - state
    - flags
    - service
    - timeout
    - ehlo_name
    - mail_from
    argTypes:
    - SMTPD_STATE*
    - int
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1007
    functionDepth: 5
    functionLinenumber: 1007
    functionLinenumberEnd: 1074
    functionName: smtpd_proxy_create
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - smtpd_proxy_replay_setup
    - smtpd_proxy_connect
    - vstring_alloc
    - SMTPD_PROXY_ALLOC
    linkageType: ''
    returnType: int
    signature: "int smtpd_proxy_create(SMTPD_STATE *state, int flags, const char *service,\n\t\t\t
      \          int timeout, const char *ehlo_name,\n\t\t\t           const char
      *mail_from)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - p
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - ','
    - a12
    - )
    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: 1021
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1021
    functionName: SMTPD_PROXY_ALLOC
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTPD_PROXY_ALLOC(p, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11,
      a12)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstream_feof
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1087,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1088,1
    - Dst: smtpd_proxy_cmd
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1089,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1091,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1078
    functionDepth: 5
    functionLinenumber: 1078
    functionLinenumberEnd: 1096
    functionName: smtpd_proxy_close
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
    functionUses: 2
    functionsReached:
    - vstream_feof
    - smtpd_proxy_cmd
    - vstream_ferror
    - vstream_fclose
    linkageType: ''
    returnType: void
    signature: void smtpd_proxy_close(SMTPD_STATE *state)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: smtpd_proxy_close
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1108,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1110,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1112,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1113,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1125,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1127,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1132,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1133,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1134,1
    - Dst: ftruncate
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1138,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1138,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1139,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1140,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1100
    functionDepth: 6
    functionLinenumber: 1100
    functionLinenumberEnd: 1144
    functionName: smtpd_proxy_free
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
    functionUses: 2
    functionsReached:
    - msg_warn
    - vstream_fseek
    - vstream_ferror
    - vstream_fclose
    - myfree
    - ftruncate
    - smtpd_proxy_close
    - vstream_fileno
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void smtpd_proxy_free(SMTPD_STATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: name_mask
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1162,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_proxy.c:1165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - param_name
    - param_val
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1171
    functionName: smtpd_proxy_parse_opts
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - name_mask
    linkageType: ''
    returnType: int
    signature: int smtpd_proxy_parse_opts(const char *param_name, const char *param_val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: smtpd_chat_query
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_chat.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smtpd_chat_query(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_resolve.c
    functionUses: 298
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:100,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:101,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:102,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:108,1
    - Dst: resolve_clnt_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:109,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:114,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:115,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:116,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:116,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:117,1
    - Dst: rewrite_clnt_internal
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:122,1
    - Dst: rewrite_clnt_internal
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:123,1
    - Dst: resolve_clnt_query_from
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:124,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:124,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:124,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:125,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:125,1
    - Dst: casefold
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:126,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - sender_plus_addr
    - unused_context
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 132
    functionName: resolve_pagein
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_resolve.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstring_alloc
    - resolve_clnt_init
    - rewrite_clnt_internal
    - vstring_strcpy
    - mymalloc
    - split_at
    - casefold
    - resolve_clnt_query_from
    - STR
    linkageType: ''
    returnType: void
    signature: void *resolve_pagein(const char *sender_plus_addr, void *unused_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resolve_clnt_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:140,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - unused_context
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: resolve_pageout
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_resolve.c
    functionUses: 0
    functionsReached:
    - myfree
    - resolve_clnt_free
    linkageType: ''
    returnType: void
    signature: void resolve_pageout(void *data, void *unused_context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctable_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:154,1
    - Dst: ctable_create
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cache_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 162
    functionName: smtpd_resolve_init
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_resolve.c
    functionUses: 0
    functionsReached:
    - ctable_create
    - ctable_free
    linkageType: ''
    returnType: void
    signature: void smtpd_resolve_init(int cache_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:174,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:180,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:185,1
    - Dst: ctable_locate
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:189,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_resolve.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - sender
    - addr
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 190
    functionName: smtpd_resolve_addr
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_resolve.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - ctable_locate
    - vstring_sprintf
    - vstring_alloc
    - STR
    linkageType: ''
    returnType: RESOLVE_REPLY
    signature: RESOLVE_REPLY *smtpd_resolve_addr(const char *sender, const char *addr)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_haproxy.c
    functionUses: 300
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_haproxy.c
    functionUses: 86
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read_wait
      Src: /src/postfix/postfix/src/smtpd/smtpd_haproxy.c:118,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpd/smtpd_haproxy.c:118,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_haproxy.c:119,1
    - Dst: haproxy_srvr_receive_sa
      Src: /src/postfix/postfix/src/smtpd/smtpd_haproxy.c:124,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpd/smtpd_haproxy.c:124,1
    - Dst: smtpd_peer_from_default
      Src: /src/postfix/postfix/src/smtpd/smtpd_haproxy.c:134,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_haproxy.c:137,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_haproxy.c:138,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/smtpd/smtpd_haproxy.c:139,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_haproxy.c:142,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_haproxy.c:145,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_haproxy.c:150,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_haproxy.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 110
    functionDepth: 5
    functionLinenumber: 110
    functionLinenumberEnd: 153
    functionName: smtpd_peer_from_haproxy
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_haproxy.c
    functionUses: 0
    functionsReached:
    - strrchr
    - msg_warn
    - read_wait
    - smtpd_peer_from_default
    - haproxy_srvr_receive_sa
    - concatenate
    - vstream_fileno
    - mystrdup
    linkageType: ''
    returnType: int
    signature: int smtpd_peer_from_haproxy(SMTPD_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: smtpd_xforward_init
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_xforward.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void smtpd_xforward_init(SMTPD_STATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_xforward.c:78,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_xforward.c:87,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_xforward.c:88,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_xforward.c:89,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_xforward.c:90,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_xforward.c:91,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_xforward.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 96
    functionName: smtpd_xforward_preset
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_xforward.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - mystrdup
    linkageType: ''
    returnType: void
    signature: void smtpd_xforward_preset(SMTPD_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREE_AND_WIPE
      Src: /src/postfix/postfix/src/smtpd/smtpd_xforward.c:105,1
    - Dst: FREE_AND_WIPE
      Src: /src/postfix/postfix/src/smtpd/smtpd_xforward.c:106,1
    - Dst: FREE_AND_WIPE
      Src: /src/postfix/postfix/src/smtpd/smtpd_xforward.c:107,1
    - Dst: FREE_AND_WIPE
      Src: /src/postfix/postfix/src/smtpd/smtpd_xforward.c:108,1
    - Dst: FREE_AND_WIPE
      Src: /src/postfix/postfix/src/smtpd/smtpd_xforward.c:109,1
    - Dst: FREE_AND_WIPE
      Src: /src/postfix/postfix/src/smtpd/smtpd_xforward.c:110,1
    - Dst: FREE_AND_WIPE
      Src: /src/postfix/postfix/src/smtpd/smtpd_xforward.c:111,1
    - Dst: FREE_AND_WIPE
      Src: /src/postfix/postfix/src/smtpd/smtpd_xforward.c:112,1
    - Dst: FREE_AND_WIPE
      Src: /src/postfix/postfix/src/smtpd/smtpd_xforward.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: smtpd_xforward_reset
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_xforward.c
    functionUses: 1
    functionsReached:
    - FREE_AND_WIPE
    linkageType: ''
    returnType: void
    signature: void smtpd_xforward_reset(SMTPD_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: FREE_AND_WIPE
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_xforward.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_AND_WIPE(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c
    functionUses: 300
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:183,1
    - Dst: xsasl_server_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:188,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:190,1
    - Dst: string_list_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 198
    functionName: smtpd_sasl_initialize
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - string_list_init
    - xsasl_server_init
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void smtpd_sasl_initialize(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: smtpd_sasl_is_active
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:213,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:214,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:222,1
    - Dst: XSASL_SERVER_CREATE
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:237,1
    - Dst: ADDR_OR_EMPTY
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:240,1
    - Dst: ADDR_OR_EMPTY
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:242,1
    - Dst: ADDR_OR_EMPTY
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:244,1
    - Dst: ADDR_OR_EMPTY
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:246,1
    - Dst: REALM_OR_NULL
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:249,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:252,1
    - Dst: xsasl_server_get_mechanism_list
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:258,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:259,1
    - Dst: sasl_mech_filter
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:261,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:263,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - state
    - sasl_opts_name
    - sasl_opts_val
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 266
    functionName: smtpd_sasl_activate
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c
    functionUses: 3
    functionsReached:
    - msg_panic
    - xsasl_server_get_mechanism_list
    - XSASL_SERVER_CREATE
    - REALM_OR_NULL
    - vstring_alloc
    - sasl_mech_filter
    - ADDR_OR_EMPTY
    - smtpd_sasl_is_active
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: void
    signature: "void smtpd_sasl_activate(SMTPD_STATE *state, const char *sasl_opts_name,\n\t\t\t
      \           const char *sasl_opts_val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - unknown
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: ADDR_OR_EMPTY
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADDR_OR_EMPTY(addr, unknown)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - realm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: REALM_OR_NULL
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REALM_OR_NULL(realm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 276
    functionName: smtpd_sasl_state_init
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void smtpd_sasl_state_init(SMTPD_STATE *state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:283,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:287,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:291,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:295,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:299,1
    - Dst: xsasl_server_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:303,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 306
    functionName: smtpd_sasl_deactivate
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c
    functionUses: 3
    functionsReached:
    - myfree
    - xsasl_server_free
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void smtpd_sasl_deactivate(SMTPD_STATE *state)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xsasl_server_first
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:321,1
    - Dst: xsasl_server_next
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:324,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:324,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:330,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:330,1
    - Dst: smtpd_chat_query_limit
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:335,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:336,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:339,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:339,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:340,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:342,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:347,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:347,1
    - Dst: xsasl_server_get_username
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:350,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:351,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:356,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:359,1
    - Dst: smtpd_chat_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:364,1
    - Dst: xsasl_server_get_username
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:365,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:366,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:367,1
    - Dst: printable
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:368,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:369,1
    - Dst: printable
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:370,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - state
    - sasl_method
    - init_response
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 310
    functionDepth: 4
    functionLinenumber: 310
    functionLinenumberEnd: 373
    functionName: smtpd_sasl_authenticate
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - printable
    - msg_warn
    - smtpd_chat_reply
    - xsasl_server_next
    - strcmp
    - xsasl_server_first
    - smtpd_chat_query_limit
    - mystrdup
    - xsasl_server_get_username
    - STR
    linkageType: ''
    returnType: int
    signature: "int smtpd_sasl_authenticate(SMTPD_STATE *state,\n\t\t\t\t        const
      char *sasl_method,\n\t\t\t\t        const char *init_response)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:380,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 387
    functionName: smtpd_sasl_logout
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c
    functionUses: 0
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void smtpd_sasl_logout(SMTPD_STATE *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:395,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:396,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:398,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - state
    - sasl_username
    - sasl_method
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 400
    functionName: smtpd_sasl_login
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c
    functionUses: 0
    functionsReached:
    - myfree
    - mystrdup
    linkageType: ''
    returnType: void
    signature: "void smtpd_sasl_login(SMTPD_STATE *state, const char *sasl_username,\n\t\t\t
      \        const char *sasl_method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 395
    functionName: CONST_STR
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONST_STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 396
    functionName: UPDATE_STRING
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_STRING(ptr,val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - state
    - ','
    - class
    - ','
    - code
    - ','
    - dsn
    - ','
    - fmt
    - ','
    - a1
    - ','
    - a2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 426
    functionName: DEFER_IF_REJECT2
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFER_IF_REJECT2(state, class, code, dsn, fmt, a1, a2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - state
    - ','
    - class
    - ','
    - code
    - ','
    - dsn
    - ','
    - fmt
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 428
    functionName: DEFER_IF_REJECT3
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFER_IF_REJECT3(state, class, code, dsn, fmt, a1, a2, a3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - state
    - ','
    - class
    - ','
    - code
    - ','
    - dsn
    - ','
    - fmt
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 430
    functionName: DEFER_IF_REJECT4
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFER_IF_REJECT4(state, class, code, dsn, fmt, a1, a2, a3, a4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - type
    - ','
    - state
    - ','
    - class
    - ','
    - code
    - ','
    - dsn
    - ','
    - fmt
    - ','
    - a1
    - ','
    - a2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 444
    functionName: DEFER_IF_PERMIT2
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFER_IF_PERMIT2(type, state, class, code, dsn, fmt, a1, a2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - type
    - ','
    - state
    - ','
    - class
    - ','
    - code
    - ','
    - dsn
    - ','
    - fmt
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 449
    functionName: DEFER_IF_PERMIT3
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFER_IF_PERMIT3(type, state, class, code, dsn, fmt, a1, a2, a3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - type
    - ','
    - state
    - ','
    - class
    - ','
    - code
    - ','
    - dsn
    - ','
    - fmt
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - )
    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: 454
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 454
    functionName: DEFER_IF_PERMIT4
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFER_IF_PERMIT4(type, state, class, code, dsn, fmt, a1, a2, a3, a4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - table
    - ','
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 519
    functionName: link_override_table_to_variable
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: link_override_table_to_variable(table, var)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: htable_create
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:574,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:576,1
    - Dst: link_override_table_to_variable
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:590,1
    - Dst: link_override_table_to_variable
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:591,1
    - Dst: link_override_table_to_variable
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:592,1
    - Dst: link_override_table_to_variable
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:593,1
    - Dst: link_override_table_to_variable
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:594,1
    - Dst: link_override_table_to_variable
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:595,1
    - Dst: link_override_table_to_variable
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:596,1
    - Dst: link_override_table_to_variable
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:597,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:600,1
    - Dst: extpar
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:601,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:602,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:603,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:604,1
    - Dst: attr_override
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:605,1
    - Dst: CA_ATTR_OVER_TIME_TABLE
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:606,1
    - Dst: CA_ATTR_OVER_INT_TABLE
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:607,1
    - Dst: CA_ATTR_OVER_STR_TABLE
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:608,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:614,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:626,1
    - Dst: attr_clnt_create
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:627,1
    - Dst: attr_clnt_control
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:632,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:637,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:638,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:639,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:641,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 643
    functionName: policy_client_register
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - extpar
    - htable_create
    - attr_override
    - attr_clnt_create
    - attr_clnt_control
    - msg_info
    - myfree
    - mystrtok
    - htable_enter
    - CA_ATTR_OVER_TIME_TABLE
    - link_override_table_to_variable
    - mymalloc
    - CA_ATTR_OVER_INT_TABLE
    - msg_fatal
    - mystrdup
    - CA_ATTR_OVER_STR_TABLE
    - htable_find
    linkageType: ''
    returnType: void
    signature: void policy_client_register(const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htable_create
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:652,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:654,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:655,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:658,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 647
    functionDepth: 2
    functionLinenumber: 647
    functionLinenumberEnd: 660
    functionName: command_map_register
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - htable_enter
    - htable_create
    - htable_find
    - maps_create
    linkageType: ''
    returnType: void
    signature: void command_map_register(const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:666,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:667,1
    - Dst: mystrtokq
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:682,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:683,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:685,1
    - Dst: policy_client_register
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:686,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:688,1
    - Dst: map_search_create
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:689,1
    - Dst: command_map_register
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:690,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:694,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:699,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - flags
    - checks
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 664
    functionDepth: 3
    functionLinenumber: 664
    functionLinenumberEnd: 701
    functionName: smtpd_check_parse
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - strchr
    - command_map_register
    - myfree
    - argv_alloc
    - strcasecmp
    - argv_add
    - mystrtokq
    - map_search_create
    - policy_client_register
    - mystrdup
    - argv_terminate
    linkageType: ''
    returnType: ARGV
    signature: ARGV *smtpd_check_parse(int flags, const char *checks)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:717,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:721,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:723,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:728,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:731,1
    - Dst: has_required
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:732,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - restrictions
    - required
    argTypes:
    - ARGV*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 736
    functionName: has_required
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - msg_warn
    - htable_find
    - has_required
    linkageType: ''
    returnType: int
    signature: int has_required(ARGV *restrictions, const char **required)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:750,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:755,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:757,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:759,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:760,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - name
    - required
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 761
    functionName: fail_required
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstring_alloc
    - vstring_sprintf_append
    - msg_fatal
    - STR
    linkageType: ''
    returnType: void
    signature: void fail_required(const char *name, const char **required)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: namadr_list_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:796,1
    - Dst: match_parent_style
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:797,1
    - Dst: namadr_list_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:799,1
    - Dst: match_parent_style
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:800,1
    - Dst: mynetworks_host
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:800,1
    - Dst: domain_list_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:802,1
    - Dst: match_parent_style
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:803,1
    - Dst: namadr_list_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:806,1
    - Dst: match_parent_style
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:807,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:810,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:817,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:820,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:823,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:826,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:829,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:832,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:836,1
    - Dst: string_list_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:841,1
    - Dst: string_list_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:843,1
    - Dst: match_parent_style
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:847,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:852,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:859,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:867,1
    - Dst: smtpd_resolve_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:873,1
    - Dst: ctable_create
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:879,1
    - Dst: ctable_create
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:880,1
    - Dst: map_search_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:887,1
    - Dst: smtpd_check_parse
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:893,1
    - Dst: smtpd_check_parse
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:895,1
    - Dst: smtpd_check_parse
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:897,1
    - Dst: smtpd_check_parse
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:899,1
    - Dst: smtpd_check_parse
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:902,1
    - Dst: smtpd_check_parse
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:904,1
    - Dst: smtpd_check_parse
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:906,1
    - Dst: smtpd_check_parse
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:908,1
    - Dst: smtpd_check_parse
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:910,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:916,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:918,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:919,1
    - Dst: mail_conf_lookup_eval
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:920,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:921,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:923,1
    - Dst: smtpd_check_parse
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:924,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:927,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:935,1
    - Dst: smtpd_check_parse
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:936,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:939,1
    - Dst: smtpd_check_parse
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:940,1
    - Dst: has_required
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:951,1
    - Dst: has_required
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:952,1
    - Dst: fail_required
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:953,1
    - Dst: smtpd_check_parse
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:959,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:968,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:970,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:972,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:974,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:976,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:978,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:980,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:982,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:985,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:986,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:987,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:988,1
    - Dst: string_list_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:994,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 767
    functionDepth: 4
    functionLinenumber: 767
    functionLinenumberEnd: 997
    functionName: smtpd_check_init
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached:
    - htable_create
    - msg_info
    - has_required
    - map_search_init
    - mail_conf_lookup_eval
    - vstring_alloc
    - mystrtok
    - smtpd_check_parse
    - domain_list_init
    - smtpd_resolve_init
    - maps_create
    - myfree
    - htable_enter
    - string_list_init
    - fail_required
    - name_code
    - ctable_create
    - namadr_list_init
    - match_parent_style
    - msg_fatal
    - mystrdup
    - mynetworks_host
    linkageType: ''
    returnType: void
    signature: void smtpd_check_init(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1004,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1006,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1010,1
    - Dst: info_log_addr_form_sender
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1011,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1013,1
    - Dst: info_log_addr_form_recipient
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1014,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1016,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1018,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1021,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1023,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1026,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1028,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1028,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1029,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - state
    - whatsup
    - text
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1001
    functionDepth: 4
    functionLinenumber: 1001
    functionLinenumberEnd: 1030
    functionName: log_whatsup
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 2
    functionsReached:
    - info_log_addr_form_sender
    - vstring_sprintf
    - vstring_alloc
    - msg_info
    - info_log_addr_form_recipient
    - vstring_sprintf_append
    - vstring_free
    - STR
    linkageType: ''
    returnType: void
    signature: "void log_whatsup(SMTPD_STATE *state, const char *whatsup,\n\t\t            const
      char *text)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1054,1
    - Dst: string_list_match
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1059,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1067,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1070,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1071,1
    - Dst: vstring_vsprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1072,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1073,1
    - Dst: log_whatsup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1075,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1075,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1078,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 5
    argNames:
    - state
    - action
    - reply_class
    - reply_name
    - format
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1034
    functionDepth: 5
    functionLinenumber: 1034
    functionLinenumberEnd: 1081
    functionName: smtpd_acl_permit
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vstring_sprintf
    - string_list_match
    - msg_info
    - STR
    - vstring_strcat
    - vstring_vsprintf_append
    - log_whatsup
    linkageType: ''
    returnType: void
    signature: "void smtpd_acl_permit(SMTPD_STATE *state,\n\t\t\t\t\t             const
      char *action,\n\t\t\t\t\t             const char *reply_class,\n\t\t\t\t\t             const
      char *reply_name,\n\t\t\t\t\t             const char *format,...)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1115,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1116,1
    - Dst: vstring_vsprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1117,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1118,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1126,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1126,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1127,1
    - Dst: dsn_valid
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1129,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1129,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1130,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1130,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1131,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1138,1
    - Dst: printable
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1139,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1139,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1146,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1148,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1150,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1151,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1173,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1174,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1180,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1180,1
    - Dst: log_whatsup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1187,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1187,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 5
    argNames:
    - state
    - error_class
    - code
    - dsn
    - format
    argTypes:
    - SMTPD_STATE*
    - int
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1085
    functionDepth: 5
    functionLinenumber: 1085
    functionLinenumberEnd: 1190
    functionName: smtpd_check_reject
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    - printable
    - vstring_sprintf
    - msg_warn
    - vstring_truncate
    - log_whatsup
    - dsn_valid
    - smtpd_check_reject
    - vstring_vsprintf_append
    - vstring_strcpy
    - STR
    linkageType: ''
    returnType: int
    signature: "int smtpd_check_reject(SMTPD_STATE *state, int error_class,\n\t\t\t
      \             int code, const char *dsn,\n\t\t\t              const char *format,...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1209,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1210,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1212,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1213,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1214,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - defer
    - error_class
    - code
    - dsn
    - fmt
    argTypes:
    - SMTPD_DEFER*
    - int
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1194
    functionDepth: 1
    functionLinenumber: 1194
    functionLinenumberEnd: 1218
    functionName: defer_if
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vstring_vsprintf
    - vstring_alloc
    - vstring_strcpy
    linkageType: ''
    returnType: int
    signature: "int defer_if(SMTPD_DEFER *defer, int error_class,\n\t\t            int
      code, const char *dsn,\n\t\t            const char *fmt,...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: longjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1224,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - state
    - reply_name
    argTypes:
    - SMTPD_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1222
    functionDepth: 6
    functionLinenumber: 1222
    functionLinenumberEnd: 1228
    functionName: reject_dict_retry
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - longjmp
    - smtpd_check_reject
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN reject_dict_retry(SMTPD_STATE *state, const char *reply_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: longjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1234,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1232
    functionDepth: 6
    functionLinenumber: 1232
    functionLinenumberEnd: 1237
    functionName: reject_server_error
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - longjmp
    - smtpd_check_reject
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN reject_server_error(SMTPD_STATE *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mail_addr_find
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1248,1
    - Dst: reject_dict_retry
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1252,1
    - Dst: reject_server_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - state
    - reply_name
    - maps
    - key
    - ext
    argTypes:
    - SMTPD_STATE*
    - char*
    - MAPS*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1241
    functionDepth: 7
    functionLinenumber: 1241
    functionLinenumberEnd: 1255
    functionName: check_mail_addr_find
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - reject_server_error
    - mail_addr_find
    - reject_dict_retry
    linkageType: ''
    returnType: char
    signature: "char *check_mail_addr_find(SMTPD_STATE *state,\n\t\t\t\t\t        const
      char *reply_name,\n\t\t\t\t\t        MAPS *maps, const char *key,\n\t\t\t\t\t
      \       char **ext)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1264,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1259
    functionDepth: 6
    functionLinenumber: 1259
    functionLinenumberEnd: 1273
    functionName: reject_unknown_reverse_name
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - smtpd_check_reject
    - msg_info
    linkageType: ''
    returnType: int
    signature: int reject_unknown_reverse_name(SMTPD_STATE *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1282,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1277
    functionDepth: 6
    functionLinenumber: 1277
    functionLinenumberEnd: 1292
    functionName: reject_unknown_client
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - smtpd_check_reject
    - msg_info
    linkageType: ''
    returnType: int
    signature: int reject_unknown_client(SMTPD_STATE *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1301,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1296
    functionDepth: 6
    functionLinenumber: 1296
    functionLinenumberEnd: 1310
    functionName: reject_plaintext_session
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - smtpd_check_reject
    - msg_info
    linkageType: ''
    returnType: int
    signature: int reject_plaintext_session(SMTPD_STATE *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1319,1
    - Dst: own_inet_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1314
    functionDepth: 3
    functionLinenumber: 1314
    functionLinenumberEnd: 1325
    functionName: permit_inet_interfaces
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - own_inet_addr
    - msg_info
    linkageType: ''
    returnType: int
    signature: int permit_inet_interfaces(SMTPD_STATE *state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1334,1
    - Dst: namadr_list_match
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1336,1
    - Dst: namadr_list_match
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1338,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1329
    functionDepth: 1
    functionLinenumber: 1329
    functionLinenumberEnd: 1348
    functionName: permit_mynetworks
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - namadr_list_match
    - msg_info
    linkageType: ''
    returnType: int
    signature: int permit_mynetworks(SMTPD_STATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1364,1
    - Dst: mystrndup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1352
    functionDepth: 1
    functionLinenumber: 1352
    functionLinenumberEnd: 1371
    functionName: dup_if_truncate
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - mystrndup
    - strlen
    linkageType: ''
    returnType: char
    signature: char *dup_if_truncate(char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1384,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1386,1
    - Dst: mystrndup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1387,1
    - Dst: valid_mailhost_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1394,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1395,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1406,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - state
    - addr
    - reply_name
    - reply_class
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1375
    functionDepth: 6
    functionLinenumber: 1375
    functionLinenumberEnd: 1409
    functionName: reject_invalid_hostaddr
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - strlen
    - mystrndup
    - smtpd_check_reject
    - msg_info
    - myfree
    - valid_mailhost_addr
    linkageType: ''
    returnType: int
    signature: "int reject_invalid_hostaddr(SMTPD_STATE *state, char *addr,\n\t\t\t\t
      \       char *reply_name, char *reply_class)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1421,1
    - Dst: dup_if_truncate
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1426,1
    - Dst: valid_hostname
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1431,1
    - Dst: valid_hostaddr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1432,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1433,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - state
    - name
    - reply_name
    - reply_class
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1413
    functionDepth: 6
    functionLinenumber: 1413
    functionLinenumberEnd: 1447
    functionName: reject_invalid_hostname
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - dup_if_truncate
    - valid_hostaddr
    - valid_hostname
    - smtpd_check_reject
    - msg_info
    - myfree
    linkageType: ''
    returnType: int
    signature: "int reject_invalid_hostname(SMTPD_STATE *state, char *name,\n\t\t\t\t
      \       char *reply_name, char *reply_class)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1459,1
    - Dst: dup_if_truncate
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1464,1
    - Dst: valid_utf8_hostname
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1470,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1471,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1472,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1483,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - state
    - name
    - reply_name
    - reply_class
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1451
    functionDepth: 6
    functionLinenumber: 1451
    functionLinenumberEnd: 1486
    functionName: reject_non_fqdn_hostname
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - dup_if_truncate
    - strchr
    - smtpd_check_reject
    - msg_info
    - valid_utf8_hostname
    - myfree
    linkageType: ''
    returnType: int
    signature: "int reject_non_fqdn_hostname(SMTPD_STATE *state, char *name,\n\t\t\t\t
      \       char *reply_name, char *reply_class)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1498,1
    - Dst: dns_lookup_l
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1506,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1510,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1514,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1519,1
    - Dst: DEFER_IF_PERMIT2
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1527,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - state
    - name
    - reply_name
    - reply_class
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1490
    functionDepth: 6
    functionLinenumber: 1490
    functionLinenumberEnd: 1533
    functionName: reject_unknown_hostname
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - dns_rr_free
    - dns_lookup_l
    - DEFER_IF_PERMIT2
    - smtpd_check_reject
    - msg_info
    linkageType: ''
    returnType: int
    signature: "int reject_unknown_hostname(SMTPD_STATE *state, char *name,\n\t\t\t\t
      \       char *reply_name, char *reply_class)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1546,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1552,1
    - Dst: midna_domain_to_ascii
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1552,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1554,1
    - Dst: dns_lookup_l
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1563,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1567,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1570,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1575,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1576,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1578,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1584,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1586,1
    - Dst: DEFER_IF_PERMIT2
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1594,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1595,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - state
    - name
    - reply_name
    - reply_class
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1537
    functionDepth: 6
    functionLinenumber: 1537
    functionLinenumberEnd: 1601
    functionName: reject_unknown_mailhost
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - dns_rr_free
    - dns_lookup_l
    - DEFER_IF_PERMIT2
    - msg_info
    - smtpd_check_reject
    - midna_domain_to_ascii
    - strcmp
    - allascii
    linkageType: ''
    returnType: int
    signature: "int reject_unknown_mailhost(SMTPD_STATE *state, const char *name,\n\t\t
      \           const char *reply_name, const char *reply_class)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TLS_CERT_IS_TRUSTED
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1616,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1618,1
    - Dst: TLS_CRED_IS_PRESENT
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1627,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1632,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1644,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1646,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1656,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1660,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1666,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1669,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 2
    argNames:
    - state
    - permit_all_certs
    argTypes:
    - SMTPD_STATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1607
    functionDepth: 2
    functionLinenumber: 1607
    functionLinenumberEnd: 1675
    functionName: permit_tls_clientcerts
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - TLS_CRED_IS_PRESENT
    - maps_find
    - TLS_CERT_IS_TRUSTED
    - msg_info
    linkageType: ''
    returnType: int
    signature: int permit_tls_clientcerts(SMTPD_STATE *state, int permit_all_certs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1688,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1690,1
    - Dst: reject_server_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - state
    - recipient
    - reply_name
    - reply_class
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1694
      start: 1679
    functionDepth: 7
    functionLinenumber: 1679
    functionLinenumberEnd: 1694
    functionName: check_relay_domains
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - reject_server_error
    - msg_warn
    - msg_info
    linkageType: ''
    returnType: int
    signature: "int check_relay_domains(SMTPD_STATE *state, char *recipient,\n\t\t\t
      \              char *reply_name, char *reply_class)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1705,1
    - Dst: smtpd_resolve_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1710,1
    - Dst: reject_dict_retry
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1712,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1717,1
    - Dst: CONST_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1717,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1739,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - state
    - recipient
    argTypes:
    - SMTPD_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1698
    functionDepth: 7
    functionLinenumber: 1698
    functionLinenumberEnd: 1749
    functionName: permit_auth_destination
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - strrchr
    - reject_dict_retry
    - smtpd_resolve_addr
    - msg_info
    - CONST_STR
    linkageType: ''
    returnType: int
    signature: int permit_auth_destination(SMTPD_STATE *state, char *recipient)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1759,1
    - Dst: permit_auth_destination
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1764,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - state
    - recipient
    - reply_code
    - reply_dsn
    argTypes:
    - SMTPD_STATE*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1753
    functionDepth: 8
    functionLinenumber: 1753
    functionLinenumberEnd: 1774
    functionName: reject_unauth_destination
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - permit_auth_destination
    - smtpd_check_reject
    - msg_info
    linkageType: ''
    returnType: int
    signature: "int reject_unauth_destination(SMTPD_STATE *state, char *recipient,\n\t\t\t
      \             int reply_code, const char *reply_dsn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1784,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1787,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - state
    - reply_name
    - reply_class
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1778
    functionDepth: 6
    functionLinenumber: 1778
    functionLinenumberEnd: 1793
    functionName: reject_unauth_pipelining
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - smtpd_check_reject
    - msg_info
    linkageType: ''
    returnType: int
    signature: "int reject_unauth_pipelining(SMTPD_STATE *state,\n\t\t            const
      char *reply_name, const char *reply_class)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1807,1
    - Dst: dns_lookup_v
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1818,1
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1819,1
    - Dst: DEFER_IF_REJECT4
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1822,1
    - Dst: dns_strerror
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1829,1
    - Dst: dns_get_h_errno
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1829,1
    - Dst: dns_rr_to_pa
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1833,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1834,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1835,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1839,1
    - Dst: namadr_list_match
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1841,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1849,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1852,1
    - Dst: DEFER_IF_REJECT3
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1854,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1859,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1863,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - state
    - host
    - reply_name
    - reply_class
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1797
    functionDepth: 2
    functionLinenumber: 1797
    functionLinenumberEnd: 1865
    functionName: all_auth_mx_addr
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - inet_proto_info
    - dns_strerror
    - msg_warn
    - dns_rr_free
    - DEFER_IF_REJECT3
    - dns_lookup_v
    - dns_strtype
    - DEFER_IF_REJECT4
    - msg_info
    - dns_get_h_errno
    - dns_rr_to_pa
    - namadr_list_match
    linkageType: ''
    returnType: int
    signature: "int all_auth_mx_addr(SMTPD_STATE *state, char *host,\n\t\t            const
      char *reply_name, const char *reply_class)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1877,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1880,1
    - Dst: hostname_to_sockaddr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1888,1
    - Dst: DEFER_IF_REJECT4
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1890,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1893,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1899,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1901,1
    - Dst: SOCKADDR_TO_HOSTADDR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1906,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1908,1
    - Dst: own_inet_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1910,1
    - Dst: HAS_MY_ADDR_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1911,1
    - Dst: proxy_inet_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1912,1
    - Dst: HAS_MY_ADDR_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1913,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1916,1
    - Dst: HAS_MY_ADDR_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1918,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - state
    - host
    - reply_name
    - reply_class
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1869
    functionDepth: 3
    functionLinenumber: 1869
    functionLinenumberEnd: 1919
    functionName: has_my_addr
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - inet_proto_info
    - proxy_inet_addr
    - strchr
    - HAS_MY_ADDR_RETURN
    - DEFER_IF_REJECT4
    - msg_info
    - SOCKADDR_TO_HOSTADDR
    - own_inet_addr
    - hostname_to_sockaddr
    - MAI_STRERROR
    linkageType: ''
    returnType: int
    signature: "int has_my_addr(SMTPD_STATE *state, const char *host,\n\t\t            const
      char *reply_name, const char *reply_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1896
    functionDepth: 0
    functionLinenumber: 1896
    functionLinenumberEnd: 1897
    functionName: HAS_MY_ADDR_RETURN
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAS_MY_ADDR_RETURN(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1935,1
    - Dst: resolve_local
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1936,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1946,1
    - Dst: has_my_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1947,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1955,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - state
    - mx_list
    - reply_name
    - reply_class
    argTypes:
    - SMTPD_STATE*
    - DNS_RR*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1957
      start: 1923
    functionDepth: 4
    functionLinenumber: 1923
    functionLinenumberEnd: 1957
    functionName: i_am_mx
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - has_my_addr
    - resolve_local
    - msg_info
    linkageType: ''
    returnType: int
    signature: "int i_am_mx(SMTPD_STATE *state, DNS_RR *mx_list,\n\t\t           const
      char *reply_name, const char *reply_class)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1968,1
    - Dst: all_auth_mx_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:1975,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - state
    - mx_list
    - reply_name
    - reply_class
    argTypes:
    - SMTPD_STATE*
    - DNS_RR*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1961
    functionDepth: 3
    functionLinenumber: 1961
    functionLinenumberEnd: 1984
    functionName: permit_mx_primary
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - all_auth_mx_addr
    - msg_info
    linkageType: ''
    returnType: int
    signature: "int permit_mx_primary(SMTPD_STATE *state, DNS_RR *mx_list,\n\t\t            const
      char *reply_name, const char *reply_class)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2002,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2009,1
    - Dst: smtpd_resolve_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2017,1
    - Dst: reject_dict_retry
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2019,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2026,1
    - Dst: CONST_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2026,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2039,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2045,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2050,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2057,1
    - Dst: midna_domain_to_ascii
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2057,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2059,1
    - Dst: dns_lookup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2070,1
    - Dst: has_my_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2074,1
    - Dst: DEFER_IF_REJECT3
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2080,1
    - Dst: dns_strerror
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2087,1
    - Dst: dns_get_h_errno
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2087,1
    - Dst: dns_rr_sort
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2094,1
    - Dst: i_am_mx
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2115,1
    - Dst: PERMIT_MX_BACKUP_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2116,1
    - Dst: i_am_mx
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2121,1
    - Dst: PERMIT_MX_BACKUP_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2122,1
    - Dst: permit_mx_primary
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2129,1
    - Dst: PERMIT_MX_BACKUP_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2130,1
    - Dst: PERMIT_MX_BACKUP_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2135,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 58
    argCount: 4
    argNames:
    - state
    - recipient
    - reply_name
    - reply_class
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 1988
    functionDepth: 7
    functionLinenumber: 1988
    functionLinenumberEnd: 2136
    functionName: permit_mx_backup
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - strrchr
    - dns_strerror
    - i_am_mx
    - msg_warn
    - strlen
    - reject_dict_retry
    - DEFER_IF_REJECT3
    - smtpd_resolve_addr
    - msg_info
    - dns_rr_sort
    - midna_domain_to_ascii
    - dns_lookup
    - dns_get_h_errno
    - PERMIT_MX_BACKUP_RETURN
    - permit_mx_primary
    - has_my_addr
    - allascii
    - CONST_STR
    linkageType: ''
    returnType: int
    signature: "int permit_mx_backup(SMTPD_STATE *state, const char *recipient,\n\t\t
      \           const char *reply_name, const char *reply_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2111
      start: 2106
    functionDepth: 0
    functionLinenumber: 2106
    functionLinenumberEnd: 2111
    functionName: PERMIT_MX_BACKUP_RETURN
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PERMIT_MX_BACKUP_RETURN(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2149,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2154,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2162,1
    - Dst: dup_if_truncate
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2168,1
    - Dst: valid_utf8_hostname
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2174,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2175,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2176,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2187,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - state
    - addr
    - reply_name
    - reply_class
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2190
      start: 2140
    functionDepth: 6
    functionLinenumber: 2140
    functionLinenumberEnd: 2190
    functionName: reject_non_fqdn_address
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - strrchr
    - dup_if_truncate
    - strchr
    - strlen
    - msg_info
    - smtpd_check_reject
    - valid_utf8_hostname
    - myfree
    linkageType: ''
    returnType: int
    signature: "int reject_non_fqdn_address(SMTPD_STATE *state, char *addr,\n\t\t\t\t
      \       char *reply_name, char *reply_class)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2202,1
    - Dst: smtpd_resolve_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2207,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2207,1
    - Dst: reject_dict_retry
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2210,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2215,1
    - Dst: CONST_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2215,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2220,1
    - Dst: reject_unknown_mailhost
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - state
    - addr
    - reply_name
    - reply_class
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2194
    functionDepth: 7
    functionLinenumber: 2194
    functionLinenumberEnd: 2227
    functionName: reject_unknown_address
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - strrchr
    - strlen
    - reject_dict_retry
    - smtpd_resolve_addr
    - msg_info
    - reject_unknown_mailhost
    - strcmp
    - CONST_STR
    linkageType: ''
    returnType: int
    signature: "int reject_unknown_address(SMTPD_STATE *state, const char *addr,\n\t\t
      \           const char *reply_name, const char *reply_class)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2238,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2246,1
    - Dst: verify_clnt_query
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2252,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2257,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2260,1
    - Dst: DEFER_IF_PERMIT2
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2262,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2263,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2270,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2283,1
    - Dst: DEFER_IF_PERMIT3
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2289,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2291,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2294,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2299,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2301,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2304,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2308,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 8
    argNames:
    - state
    - addr
    - reply_name
    - reply_class
    - unv_addr_dcode
    - unv_addr_rcode
    - unv_addr_tf_act
    - alt_reply
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - char*
    - int
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2310
      start: 2231
    functionDepth: 6
    functionLinenumber: 2231
    functionLinenumberEnd: 2310
    functionName: reject_unverified_address
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - sleep
    - verify_clnt_query
    - msg_warn
    - DEFER_IF_PERMIT2
    - vstring_alloc
    - msg_info
    - smtpd_check_reject
    - strcmp
    - vstring_strcpy
    - DEFER_IF_PERMIT3
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: "int reject_unverified_address(SMTPD_STATE *state, const char *addr,\n\t\t
      \           const char *reply_name, const char *reply_class,\n\t\t\t             int
      unv_addr_dcode, int unv_addr_rcode,\n\t\t\t\t             int unv_addr_tf_act,\n\t\t\t\t
      \            const char *alt_reply)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: USE_SMTPD_PROXY
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2327,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2328,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2336,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2337,1
    - Dst: not_in_client_helo
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - state
    - table
    - action
    - reply_class
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2342
      start: 2318
    functionDepth: 1
    functionLinenumber: 2318
    functionLinenumberEnd: 2342
    functionName: can_delegate_action
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - not_in_client_helo
    - msg_warn
    - strcmp
    - USE_SMTPD_PROXY
    linkageType: ''
    returnType: int
    signature: "int can_delegate_action(SMTPD_STATE *state, const char *table,\n\t\t\t
      \       const char *action, const char *reply_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - state
    - table
    - action
    - unused_reply_class
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2370
      start: 2346
    functionDepth: 1
    functionLinenumber: 2346
    functionLinenumberEnd: 2370
    functionName: not_in_client_helo
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached:
    - msg_warn
    linkageType: ''
    returnType: int
    signature: "int not_in_client_helo(SMTPD_STATE *state, const char *table,\n\t\t\t
      \             const char *action,\n\t\t\t              const char *unused_reply_class)"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2399,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2404,1
    - Dst: vstring_strncpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2406,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2407,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2411,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2418,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2425,1
    - Dst: dsn_split
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2426,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2427,1
    - Dst: smtpd_dsn_fix
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2429,1
    - Dst: DSN_STATUS
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2429,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2440,1
    - Dst: dsn_split
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2441,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2442,1
    - Dst: smtpd_dsn_fix
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2444,1
    - Dst: DSN_STATUS
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2444,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2461,1
    - Dst: shutdown
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2462,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2462,1
    - Dst: log_whatsup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2463,1
    - Dst: vstream_longjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2464,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2470,1
    - Dst: log_whatsup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2471,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2478,1
    - Dst: log_whatsup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2479,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2487,1
    - Dst: can_delegate_action
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2489,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2493,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2496,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2497,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2501,1
    - Dst: log_whatsup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2503,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2503,1
    - Dst: UPDATE_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2505,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2515,1
    - Dst: can_delegate_action
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2517,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2521,1
    - Dst: log_whatsup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2523,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2523,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2540,1
    - Dst: can_delegate_action
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2542,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2546,1
    - Dst: conv_time
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2550,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2551,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2555,1
    - Dst: log_whatsup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2557,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2557,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2568,1
    - Dst: can_delegate_action
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2570,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2573,1
    - Dst: log_whatsup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2575,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2575,1
    - Dst: smtpd_acl_permit
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2580,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2580,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2588,1
    - Dst: can_delegate_action
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2590,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2593,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2594,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2598,1
    - Dst: log_whatsup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2600,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2600,1
    - Dst: UPDATE_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2602,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2612,1
    - Dst: can_delegate_action
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2614,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2617,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2618,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2622,1
    - Dst: log_whatsup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2624,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2624,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2627,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2628,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2638,1
    - Dst: dsn_split
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2639,1
    - Dst: DEFER_IF_PERMIT3
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2640,1
    - Dst: smtpd_dsn_fix
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2642,1
    - Dst: DSN_STATUS
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2642,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2652,1
    - Dst: dsn_split
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2653,1
    - Dst: DEFER_IF_REJECT3
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2654,1
    - Dst: smtpd_dsn_fix
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2656,1
    - Dst: DSN_STATUS
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2656,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2666,1
    - Dst: not_in_client_helo
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2669,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2672,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2673,1
    - Dst: is_header
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2677,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2678,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2683,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2684,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2693,1
    - Dst: smtpd_acl_permit
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2694,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2694,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2706,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2706,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2707,1
    - Dst: dsn_split
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2709,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2710,1
    - Dst: smtpd_dsn_fix
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2712,1
    - Dst: DSN_STATUS
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2712,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2722,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2722,1
    - Dst: smtpd_acl_permit
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2723,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2723,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2734,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2735,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2737,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2738,1
    - Dst: reject_server_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2739,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2746,1
    - Dst: reject_server_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2748,1
    - Dst: argv_splitq
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2761,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2762,1
    - Dst: ADDROF
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2762,1
    - Dst: ADDROF
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2762,1
    - Dst: setjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2763,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2765,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2766,1
    - Dst: ADDROF
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2766,1
    - Dst: ADDROF
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2766,1
    - Dst: longjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2768,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2771,1
    - Dst: generic_checks
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2775,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2778,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2779,1
    - Dst: ADDROF
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2779,1
    - Dst: ADDROF
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2779,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 174
    argCount: 7
    argNames:
    - state
    - table
    - value
    - datum
    - reply_name
    - reply_class
    - def_acl
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2781
      start: 2376
    functionDepth: 7
    functionLinenumber: 2376
    functionLinenumberEnd: 2781
    functionName: check_table_result
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - generic_checks
    - vstring_sprintf
    - ISSPACE
    - vstring_strncpy
    - dsn_split
    - msg_info
    - vstream_longjmp
    - argv_alloc
    - atoi
    - memcpy
    - UPDATE_STRING
    - log_whatsup
    - argv_splitq
    - setjmp
    - can_delegate_action
    - alldig
    - vstring_alloc
    - longjmp
    - strcspn
    - smtpd_dsn_fix
    - smtpd_acl_permit
    - reject_server_error
    - is_header
    - STREQUAL
    - shutdown
    - msg_warn
    - strchr
    - not_in_client_helo
    - conv_time
    - DEFER_IF_REJECT3
    - argv_free
    - smtpd_check_reject
    - DSN_STATUS
    - strcmp
    - argv_add
    - ISDIGIT
    - vstream_fileno
    - DEFER_IF_PERMIT3
    - ADDROF
    - STR
    linkageType: ''
    returnType: int
    signature: "int check_table_result(SMTPD_STATE *state, const char *table,\n\t\t\t
      \             const char *value, const char *datum,\n\t\t\t              const
      char *reply_name,\n\t\t\t              const char *reply_class,\n\t\t\t              const
      char *def_acl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2414
      start: 2413
    functionDepth: 0
    functionLinenumber: 2413
    functionLinenumberEnd: 2414
    functionName: STREQUAL
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQUAL(x,y,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2760
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2760
    functionName: ADDROF
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADDROF(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2801,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2803,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2804,1
    - Dst: CHK_ACCESS_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2806,1
    - Dst: check_table_result
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2806,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2810,1
    - Dst: CHK_ACCESS_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2811,1
    - Dst: check_table_result
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2811,1
    - Dst: CHK_ACCESS_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2817,1
    - Dst: check_table_result
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2817,1
    - Dst: CHK_ACCESS_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2821,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 8
    argNames:
    - state
    - table
    - name
    - flags
    - found
    - reply_name
    - reply_class
    - def_acl
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - int
    - int*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2822
      start: 2785
    functionDepth: 8
    functionLinenumber: 2785
    functionLinenumberEnd: 2822
    functionName: check_access
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - maps_find
    - check_table_result
    - msg_info
    - CHK_ACCESS_RETURN
    - htable_find
    linkageType: ''
    returnType: int
    signature: "int check_access(SMTPD_STATE *state, const char *table, const char
      *name,\n\t\t              int flags, int *found, const char *reply_name,\n\t\t\t
      \       const char *reply_class, const char *def_acl)"
  - 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: 2795
      start: 2793
    functionDepth: 0
    functionLinenumber: 2793
    functionLinenumberEnd: 2795
    functionName: CHK_ACCESS_RETURN
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_ACCESS_RETURN(x,y)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2840,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2853,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2854,1
    - Dst: CHK_DOMAIN_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2856,1
    - Dst: check_table_result
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2856,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2861,1
    - Dst: CHK_DOMAIN_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2862,1
    - Dst: check_table_result
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2862,1
    - Dst: CHK_DOMAIN_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2868,1
    - Dst: check_table_result
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2868,1
    - Dst: valid_hostaddr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2874,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2876,1
    - Dst: CHK_DOMAIN_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2882,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 8
    argNames:
    - state
    - table
    - domain
    - flags
    - found
    - reply_name
    - reply_class
    - def_acl
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - int
    - int*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2883
      start: 2826
    functionDepth: 8
    functionLinenumber: 2826
    functionLinenumberEnd: 2883
    functionName: check_domain_access
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - strchr
    - CHK_DOMAIN_RETURN
    - valid_hostaddr
    - maps_find
    - check_table_result
    - msg_info
    - htable_find
    linkageType: ''
    returnType: int
    signature: "int check_domain_access(SMTPD_STATE *state, const char *table,\n\t\t\t
      \              const char *domain, int flags,\n\t\t\t               int *found,
      const char *reply_name,\n\t\t\t               const char *reply_class,\n\t\t\t
      \              const char *def_acl)"
  - 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: 2852
      start: 2851
    functionDepth: 0
    functionLinenumber: 2851
    functionLinenumberEnd: 2852
    functionName: CHK_DOMAIN_RETURN
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_DOMAIN_RETURN(x,y)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2900,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2909,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2909,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2911,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2917,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2918,1
    - Dst: CHK_ADDR_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2920,1
    - Dst: check_table_result
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2920,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2925,1
    - Dst: CHK_ADDR_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2926,1
    - Dst: check_table_result
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2926,1
    - Dst: CHK_ADDR_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2932,1
    - Dst: check_table_result
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2932,1
    - Dst: split_at_right
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2937,1
    - Dst: CHK_ADDR_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2939,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 8
    argNames:
    - state
    - table
    - address
    - flags
    - found
    - reply_name
    - reply_class
    - def_acl
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - int
    - int*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2940
      start: 2887
    functionDepth: 8
    functionLinenumber: 2887
    functionLinenumberEnd: 2940
    functionName: check_addr_access
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - CHK_ADDR_RETURN
    - strchr
    - msg_warn
    - maps_find
    - check_table_result
    - msg_info
    - split_at_right
    - vstring_strcpy
    - htable_find
    - STR
    linkageType: ''
    returnType: int
    signature: "int check_addr_access(SMTPD_STATE *state, const char *table,\n\t\t\t
      \            const char *address, int flags,\n\t\t\t             int *found,
      const char *reply_name,\n\t\t\t             const char *reply_class,\n\t\t\t
      \            const char *def_acl)"
  - 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: 2908
      start: 2907
    functionDepth: 0
    functionLinenumber: 2907
    functionLinenumberEnd: 2908
    functionName: CHK_ADDR_RETURN
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_ADDR_RETURN(x,y)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2955,1
    - Dst: check_domain_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2961,1
    - Dst: check_addr_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:2969,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 9
    argNames:
    - state
    - table
    - name
    - addr
    - flags
    - found
    - reply_name
    - reply_class
    - def_acl
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - char*
    - int
    - int*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2978
      start: 2944
    functionDepth: 9
    functionLinenumber: 2944
    functionLinenumberEnd: 2978
    functionName: check_namadr_access
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - check_addr_access
    - check_domain_access
    - msg_info
    linkageType: ''
    returnType: int
    signature: "int check_namadr_access(SMTPD_STATE *state, const char *table,\n\t\t\t
      \              const char *name, const char *addr,\n\t\t\t               int
      flags, int *found,\n\t\t\t               const char *reply_name,\n\t\t\t               const
      char *reply_class,\n\t\t\t               const char *def_acl)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3012,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3013,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3016,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3016,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3021,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3038,1
    - Dst: mystrndup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3042,1
    - Dst: valid_mailhost_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3043,1
    - Dst: check_addr_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3046,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3049,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3057,1
    - Dst: midna_domain_to_ascii
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3057,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3059,1
    - Dst: dns_rr_create_nopref
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3084,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3085,1
    - Dst: dns_lookup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3087,1
    - Dst: dns_rr_create_nopref
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3093,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3094,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3097,1
    - Dst: dns_lookup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3099,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3107,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3107,1
    - Dst: dns_strerror
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3111,1
    - Dst: dns_get_h_errno
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3111,1
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3124,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3127,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3128,1
    - Dst: valid_hostaddr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3129,1
    - Dst: check_addr_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3130,1
    - Dst: CHECK_SERVER_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3133,1
    - Dst: check_domain_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3137,1
    - Dst: CHECK_SERVER_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3140,1
    - Dst: hostname_to_sockaddr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3141,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3144,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3145,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3146,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3151,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3152,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3156,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3158,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3160,1
    - Dst: CHECK_SERVER_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3161,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3163,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3165,1
    - Dst: SOCKADDR_TO_HOSTADDR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3169,1
    - Dst: check_addr_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3171,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3175,1
    - Dst: CHECK_SERVER_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3176,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3179,1
    - Dst: CHECK_SERVER_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3181,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 91
    argCount: 7
    argNames:
    - state
    - table
    - name
    - type
    - reply_name
    - reply_class
    - def_acl
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3182
      start: 2982
    functionDepth: 9
    functionLinenumber: 2982
    functionLinenumberEnd: 3182
    functionName: check_server_access
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - dns_strerror
    - inet_proto_info
    - dns_strtype
    - msg_info
    - midna_domain_to_ascii
    - msg_panic
    - strlen
    - mystrndup
    - check_addr_access
    - dns_lookup
    - dns_get_h_errno
    - valid_mailhost_addr
    - hostname_to_sockaddr
    - allascii
    - myfree
    - check_domain_access
    - MAI_STRERROR
    - CHECK_SERVER_RETURN
    - freeaddrinfo
    - strrchr
    - strchr
    - msg_warn
    - valid_hostaddr
    - dns_rr_create_nopref
    - SOCKADDR_TO_HOSTADDR
    linkageType: ''
    returnType: int
    signature: "int check_server_access(SMTPD_STATE *state, const char *table,\n\t\t\t
      \              const char *name,\n\t\t\t               int type,\n\t\t\t               const
      char *reply_name,\n\t\t\t               const char *reply_class,\n\t\t\t               const
      char *def_acl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3120
      start: 3119
    functionDepth: 0
    functionLinenumber: 3119
    functionLinenumberEnd: 3120
    functionName: CHECK_SERVER_RETURN
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_SERVER_RETURN(x)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: map_search_lookup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3209,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3210,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3211,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3217,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3218,1
    - Dst: TLS_CRED_IS_PRESENT
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3224,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3234,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3242,1
    - Dst: str_name_code
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3248,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3250,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3252,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3254,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3262,1
    - Dst: str_name_code
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3263,1
    - Dst: check_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3273,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3286,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3290,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3295,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 54
    argCount: 3
    argNames:
    - state
    - acl_spec
    - def_acl
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3305
      start: 3186
    functionDepth: 9
    functionLinenumber: 3186
    functionLinenumberEnd: 3305
    functionName: check_ccert_access
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_warn
    - strlen
    - TLS_CRED_IS_PRESENT
    - str_name_code
    - msg_info
    - smtpd_check_reject
    - check_access
    - map_search_lookup
    linkageType: ''
    returnType: int
    signature: "int check_ccert_access(SMTPD_STATE *state, const char *acl_spec,\n\t\t\t
      \             const char *def_acl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printable
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3316,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3316,1
    - Dst: check_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3318,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - state
    - table
    - def_acl
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3323
      start: 3311
    functionDepth: 9
    functionLinenumber: 3311
    functionLinenumberEnd: 3323
    functionName: check_sasl_access
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - myfree
    - printable
    - check_access
    - mystrdup
    linkageType: ''
    returnType: int
    signature: "int check_sasl_access(SMTPD_STATE *state, const char *table,\n\t\t\t
      \            const char *def_acl)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3343,1
    - Dst: smtpd_resolve_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3348,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3348,1
    - Dst: reject_dict_retry
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3351,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3357,1
    - Dst: CONST_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3357,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3358,1
    - Dst: CONST_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3359,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3383,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3384,1
    - Dst: check_table_result
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3386,1
    - Dst: CONST_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3387,1
    - Dst: mail_addr_find_strategy
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3391,1
    - Dst: CONST_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3391,1
    - Dst: check_table_result
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3394,1
    - Dst: CONST_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3395,1
    - Dst: SUSPICIOUS
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3397,1
    - Dst: check_table_result
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3402,1
    - Dst: CONST_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3403,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 7
    argNames:
    - state
    - table
    - addr
    - found
    - reply_name
    - reply_class
    - def_acl
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - int*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3412
      start: 3329
    functionDepth: 8
    functionLinenumber: 3329
    functionLinenumberEnd: 3412
    functionName: check_mail_access
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - strrchr
    - msg_warn
    - SUSPICIOUS
    - reject_dict_retry
    - check_table_result
    - smtpd_resolve_addr
    - msg_info
    - mail_addr_find_strategy
    - strcmp
    - htable_find
    - CONST_STR
    linkageType: ''
    returnType: int
    signature: "int check_mail_access(SMTPD_STATE *state, const char *table,\n\t\t\t
      \            const char *addr, int *found,\n\t\t\t             const char *reply_name,\n\t\t\t
      \            const char *reply_class,\n\t\t\t             const char *def_acl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - reply
    - ','
    - reply_class
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3373
      start: 3369
    functionDepth: 0
    functionLinenumber: 3369
    functionLinenumberEnd: 3373
    functionName: SUSPICIOUS
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUSPICIOUS(reply, reply_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dnsxl_res
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3419
      start: 3418
    functionDepth: 0
    functionLinenumber: 3418
    functionLinenumberEnd: 3419
    functionName: SMTPD_DNSXL_STAT_SOFT
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTPD_DNSXL_STAT_SOFT(dnsxl_res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dnsxl_res
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3420
      start: 3419
    functionDepth: 0
    functionLinenumber: 3419
    functionLinenumberEnd: 3420
    functionName: SMTPD_DNXSL_STAT_HARD
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTPD_DNXSL_STAT_HARD(dnsxl_res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dnsxl_res
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3422
      start: 3420
    functionDepth: 0
    functionLinenumber: 3420
    functionLinenumberEnd: 3422
    functionName: SMTPD_DNSXL_STAT_OK
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTPD_DNSXL_STAT_OK(dnsxl_res)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3444,1
    - Dst: dns_lookup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3445,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3447,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3447,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3450,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3460,1
    - Dst: dns_lookup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3461,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3464,1
    - Dst: vstring_strncat
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3467,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3469,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3472,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3476,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3477,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3480,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - query
    - unused_context
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3486
      start: 3425
    functionDepth: 2
    functionLinenumber: 3425
    functionLinenumberEnd: 3486
    functionName: rbl_pagein
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - vstring_strncat
    - vstring_export
    - dns_rr_free
    - VSTRING_LEN
    - vstring_alloc
    - vstring_strcat
    - dns_lookup
    - mymalloc
    - vstring_free
    - STR
    linkageType: ''
    returnType: void
    signature: void *rbl_pagein(const char *query, void *unused_context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SMTPD_DNSXL_STAT_OK
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3494,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3496,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3498,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3499,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - data
    - unused_context
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3501
      start: 3490
    functionDepth: 2
    functionLinenumber: 3490
    functionLinenumberEnd: 3501
    functionName: rbl_pageout
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - myfree
    - dns_rr_free
    - SMTPD_DNSXL_STAT_OK
    linkageType: ''
    returnType: void
    signature: void rbl_pageout(void *data, void *unused_context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3507,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3508,1
    - Dst: ip_match_parse
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3512,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3513,1
    - Dst: ip_match_save
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3514,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3515,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - query
    - unused_context
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3518
      start: 3505
    functionDepth: 1
    functionLinenumber: 3505
    functionLinenumberEnd: 3518
    functionName: rbl_byte_pagein
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - ip_match_parse
    - vstring_alloc
    - myfree
    - msg_fatal
    - mystrdup
    - vstring_free
    - ip_match_save
    linkageType: ''
    returnType: void
    signature: void *rbl_byte_pagein(const char *query, void *unused_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - unused_context
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3525
      start: 3522
    functionDepth: 0
    functionLinenumber: 3522
    functionLinenumberEnd: 3525
    functionName: rbl_byte_pageout
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void rbl_byte_pageout(void *data, void *unused_context)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3538,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3541,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3546,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3547,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3548,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3549,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3551,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3553,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3555,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3557,1
    - Dst: smtpd_expand_lookup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3560,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - name
    - mode
    - context
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3562
      start: 3529
    functionDepth: 4
    functionLinenumber: 3529
    functionLinenumberEnd: 3562
    functionName: rbl_expand_lookup
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - vstring_alloc
    - msg_info
    - STREQ
    - smtpd_expand_lookup
    - STR
    linkageType: ''
    returnType: char
    signature: "char *rbl_expand_lookup(const char *name, int mode,\n\t\t\t\t             void
      *context)"
  - 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: 3536
      start: 3535
    functionDepth: 0
    functionLinenumber: 3535
    functionLinenumberEnd: 3536
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x,y)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3582,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3583,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3587,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3591,1
    - Dst: reject_server_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3592,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3595,1
    - Dst: mac_expand
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3604,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3605,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3611,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3623,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3623,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3624,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3624,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3624,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3624,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3625,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3626,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3626,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3627,1
    - Dst: dsn_split
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3631,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3631,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3632,1
    - Dst: smtpd_dsn_fix
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3634,1
    - Dst: DSN_STATUS
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3634,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3643,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3644,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 5
    argNames:
    - state
    - rbl
    - rbl_domain
    - what
    - reply_class
    argTypes:
    - SMTPD_STATE*
    - SMTPD_RBL_STATE*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3647
      start: 3566
    functionDepth: 7
    functionLinenumber: 3566
    functionLinenumberEnd: 3647
    functionName: rbl_reject_reply
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - reject_server_error
    - vstring_alloc
    - mac_expand
    - smtpd_check_reject
    - myfree
    - dsn_split
    - DSN_STATUS
    - strcmp
    - ISDIGIT
    - smtpd_dsn_fix
    - split_at
    - mystrdup
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: "int rbl_reject_reply(SMTPD_STATE *state, const SMTPD_RBL_STATE *rbl,\n\t\t\t
      \           const char *rbl_domain,\n\t\t\t            const char *what,\n\t\t\t
      \           const char *reply_class)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ip_match_execute
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3658,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3661,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3662,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - rbl
    - byte_codes
    argTypes:
    - SMTPD_RBL_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3666
      start: 3651
    functionDepth: 2
    functionLinenumber: 3651
    functionLinenumberEnd: 3666
    functionName: rbl_match_addr
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - ip_match_execute
    - dns_strtype
    linkageType: ''
    returnType: int
    signature: int rbl_match_addr(SMTPD_RBL_STATE *rbl, const char *byte_codes)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3684,1
    - Dst: valid_ipv6_hostaddr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3693,1
    - Dst: hostaddr_to_sockaddr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3694,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3696,1
    - Dst: SOCK_ADDR_IN6_ADDR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3697,1
    - Dst: SOCK_ADDR_IN6_ADDR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3698,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3699,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3701,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3710,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3712,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3713,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3715,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3721,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3722,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3722,1
    - Dst: ctable_locate
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3723,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3723,1
    - Dst: ctable_locate
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3725,1
    - Dst: SMTPD_DNSXL_STAT_OK
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3730,1
    - Dst: rbl_match_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3731,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3733,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - state
    - rbl_domain
    - addr
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3735
      start: 3670
    functionDepth: 3
    functionLinenumber: 3670
    functionLinenumberEnd: 3735
    functionName: find_dnsxl_addr
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf_append
    - ctable_locate
    - split_at
    - rbl_match_addr
    - vstring_alloc
    - freeaddrinfo
    - argv_free
    - SMTPD_DNSXL_STAT_OK
    - vstring_strcat
    - argv_split
    - SOCK_ADDR_IN6_ADDR
    - valid_ipv6_hostaddr
    - msg_fatal
    - vstring_free
    - hostaddr_to_sockaddr
    - STR
    linkageType: ''
    returnType: SMTPD_RBL_STATE
    signature: "SMTPD_RBL_STATE *find_dnsxl_addr(SMTPD_STATE *state,\n\t\t\t\t\t              const
      char *rbl_domain,\n\t\t\t\t\t              const char *addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3746,1
    - Dst: find_dnsxl_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3748,1
    - Dst: SMTPD_DNSXL_STAT_OK
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3749,1
    - Dst: rbl_reject_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - state
    - rbl_domain
    - addr
    - reply_class
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3754
      start: 3739
    functionDepth: 8
    functionLinenumber: 3739
    functionLinenumberEnd: 3754
    functionName: reject_rbl_addr
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - find_dnsxl_addr
    - rbl_reject_reply
    - SMTPD_DNSXL_STAT_OK
    - msg_info
    linkageType: ''
    returnType: int
    signature: "int reject_rbl_addr(SMTPD_STATE *state, const char *rbl_domain,\n\t\t\t
      \          const char *addr, const char *reply_class)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3765,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3768,1
    - Dst: permit_auth_destination
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3769,1
    - Dst: find_dnsxl_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3772,1
    - Dst: SMTPD_DNXSL_STAT_HARD
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3773,1
    - Dst: SMTPD_DNSXL_STAT_SOFT
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3775,1
    - Dst: DEFER_IF_REJECT3
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3777,1
    - Dst: SMTPD_DNSXL_STAT_OK
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3783,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3787,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - state
    - dnswl_domain
    - addr
    - reply_class
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3789
      start: 3758
    functionDepth: 8
    functionLinenumber: 3758
    functionLinenumberEnd: 3789
    functionName: permit_dnswl_addr
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - permit_auth_destination
    - DEFER_IF_REJECT3
    - SMTPD_DNSXL_STAT_OK
    - msg_info
    - SMTPD_DNSXL_STAT_SOFT
    - strcmp
    - find_dnsxl_addr
    - SMTPD_DNXSL_STAT_HARD
    linkageType: ''
    returnType: int
    signature: "int permit_dnswl_addr(SMTPD_STATE *state, const char *dnswl_domain,\n\t\t\t
      \         const char *addr, const char *reply_class)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3808,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3822,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3823,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3830,1
    - Dst: midna_domain_to_ascii
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3830,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3832,1
    - Dst: valid_hostname
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3836,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3839,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3840,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3841,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3841,1
    - Dst: ctable_locate
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3842,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3842,1
    - Dst: ctable_locate
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3844,1
    - Dst: SMTPD_DNSXL_STAT_OK
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3849,1
    - Dst: rbl_match_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3850,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3852,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 3
    argNames:
    - state
    - rbl_domain
    - what
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3854
      start: 3793
    functionDepth: 3
    functionLinenumber: 3793
    functionLinenumberEnd: 3854
    functionName: find_dnsxl_domain
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - strrchr
    - ctable_locate
    - rbl_match_addr
    - vstring_sprintf
    - valid_hostname
    - alldig
    - vstring_alloc
    - SMTPD_DNSXL_STAT_OK
    - msg_info
    - midna_domain_to_ascii
    - split_at
    - allascii
    - vstring_free
    - STR
    linkageType: ''
    returnType: SMTPD_RBL_STATE
    signature: "SMTPD_RBL_STATE *find_dnsxl_domain(SMTPD_STATE *state,\n\t\t\t           const
      char *rbl_domain, const char *what)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3865,1
    - Dst: find_dnsxl_domain
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3867,1
    - Dst: SMTPD_DNSXL_STAT_OK
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3868,1
    - Dst: rbl_reject_reply
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3871,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - state
    - rbl_domain
    - what
    - reply_class
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3873
      start: 3858
    functionDepth: 8
    functionLinenumber: 3858
    functionLinenumberEnd: 3873
    functionName: reject_rbl_domain
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - find_dnsxl_domain
    - rbl_reject_reply
    - SMTPD_DNSXL_STAT_OK
    - msg_info
    linkageType: ''
    returnType: int
    signature: "int reject_rbl_domain(SMTPD_STATE *state, const char *rbl_domain,\n\t\t\t
      \         const char *what, const char *reply_class)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3884,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3887,1
    - Dst: permit_auth_destination
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3888,1
    - Dst: find_dnsxl_domain
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3891,1
    - Dst: SMTPD_DNXSL_STAT_HARD
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3892,1
    - Dst: SMTPD_DNSXL_STAT_SOFT
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3894,1
    - Dst: DEFER_IF_REJECT3
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3896,1
    - Dst: SMTPD_DNSXL_STAT_OK
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3902,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3906,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - state
    - dnswl_domain
    - what
    - reply_class
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3908
      start: 3877
    functionDepth: 8
    functionLinenumber: 3877
    functionLinenumberEnd: 3908
    functionName: permit_dnswl_domain
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - find_dnsxl_domain
    - permit_auth_destination
    - DEFER_IF_REJECT3
    - SMTPD_DNSXL_STAT_OK
    - msg_info
    - SMTPD_DNSXL_STAT_SOFT
    - strcmp
    - SMTPD_DNXSL_STAT_HARD
    linkageType: ''
    returnType: int
    signature: "int permit_dnswl_domain(SMTPD_STATE *state, const char *dnswl_domain,\n\t\t\t
      \         const char *what, const char *reply_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3917,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3922,1
    - Dst: reject_server_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3926,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3927
      start: 3912
    functionDepth: 7
    functionLinenumber: 3912
    functionLinenumberEnd: 3927
    functionName: reject_maps_rbl
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - reject_server_error
    - msg_warn
    - msg_info
    linkageType: ''
    returnType: int
    signature: int reject_maps_rbl(SMTPD_STATE *state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: smtpd_resolve_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3949,1
    - Dst: reject_dict_retry
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3951,1
    - Dst: check_mail_addr_find
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3952,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3953,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3954,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3955,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3956,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3961,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3965,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - state
    - sender
    - allow_unknown_sender
    argTypes:
    - SMTPD_STATE*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3970
      start: 3933
    functionDepth: 8
    functionLinenumber: 3933
    functionLinenumberEnd: 3970
    functionName: reject_auth_sender_login_mismatch
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - reject_dict_retry
    - smtpd_resolve_addr
    - smtpd_check_reject
    - myfree
    - mystrtok
    - check_mail_addr_find
    - mystrdup
    - strcasecmp_utf8
    - STR
    linkageType: ''
    returnType: int
    signature: int reject_auth_sender_login_mismatch(SMTPD_STATE *state, const char
      *sender, int allow_unknown_sender)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: smtpd_resolve_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3983,1
    - Dst: reject_dict_retry
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3985,1
    - Dst: check_mail_addr_find
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3986,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3987,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:3988,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - state
    - sender
    argTypes:
    - SMTPD_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3992
      start: 3974
    functionDepth: 8
    functionLinenumber: 3974
    functionLinenumberEnd: 3992
    functionName: reject_unauth_sender_login_mismatch
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - reject_dict_retry
    - smtpd_resolve_addr
    - smtpd_check_reject
    - check_mail_addr_find
    - STR
    linkageType: ''
    returnType: int
    signature: int reject_unauth_sender_login_mismatch(SMTPD_STATE *state, const char
      *sender)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: valid_utf8_stringz
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4002,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4003,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - server
    - action
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4006
      start: 3998
    functionDepth: 1
    functionLinenumber: 3998
    functionLinenumberEnd: 4006
    functionName: valid_utf8_action
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - valid_utf8_stringz
    - msg_warn
    linkageType: ''
    returnType: int
    signature: int valid_utf8_action(const char *server, const char *action)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: htable_find
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4032,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4033,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4040,1
    - Dst: ENCODE_CN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4054,1
    - Dst: ENCODE_CN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4055,1
    - Dst: NONEMPTY
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4068,1
    - Dst: NONEMPTY
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4069,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4071,1
    - Dst: attr_clnt_request
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4077,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4079,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4080,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4081,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4083,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4084,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4085,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4086,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4087,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4089,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4091,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4093,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4095,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4097,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4099,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4100,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4101,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4102,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4104,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4106,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4107,1
    - Dst: SEND_ATTR_LONG
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4108,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4111,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4113,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4115,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4117,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4119,1
    - Dst: IF_ENCRYPTED
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4123,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4124,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4125,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4131,1
    - Dst: IF_ENCRYPTED
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4132,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4133,1
    - Dst: IF_ENCRYPTED
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4134,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4135,1
    - Dst: IF_ENCRYPTED
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4136,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4137,1
    - Dst: IF_ENCRYPTED
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4138,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4139,1
    - Dst: IF_ENCRYPTED
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4140,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4142,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4144,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4146,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4150,1
    - Dst: valid_utf8_action
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4152,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4152,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4161,1
    - Dst: ADDROF
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4161,1
    - Dst: ADDROF
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4161,1
    - Dst: setjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4162,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4165,1
    - Dst: ADDROF
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4165,1
    - Dst: ADDROF
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4165,1
    - Dst: longjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4167,1
    - Dst: check_table_result
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4169,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4175,1
    - Dst: ADDROF
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4175,1
    - Dst: ADDROF
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4175,1
    - Dst: check_table_result
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4183,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4183,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4189,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4191,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 5
    argNames:
    - state
    - server
    - reply_name
    - reply_class
    - def_acl
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4194
      start: 4010
    functionDepth: 8
    functionLinenumber: 4010
    functionLinenumberEnd: 4194
    functionName: check_policy_service
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - RECV_ATTR_STR
    - msg_info
    - memcpy
    - attr_clnt_request
    - msg_panic
    - setjmp
    - vstring_alloc
    - longjmp
    - strcasecmp
    - htable_find
    - SEND_ATTR_INT
    - SEND_ATTR_LONG
    - IF_ENCRYPTED
    - STREQ
    - valid_utf8_action
    - vstring_free
    - ENCODE_CN
    - SEND_ATTR_STR
    - check_table_result
    - NONEMPTY
    - ADDROF
    - STR
    linkageType: ''
    returnType: int
    signature: "int check_policy_service(SMTPD_STATE *state, const char *server,\n\t\t
      \           const char *reply_name, const char *reply_class,\n\t\t\t\t        const
      char *def_acl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - coded_CN
    - ','
    - coded_CN_buf
    - ','
    - CN
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4053
      start: 4043
    functionDepth: 0
    functionLinenumber: 4043
    functionLinenumberEnd: 4053
    functionName: ENCODE_CN
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCODE_CN(coded_CN, coded_CN_buf, CN)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4058
      start: 4057
    functionDepth: 0
    functionLinenumber: 4057
    functionLinenumberEnd: 4058
    functionName: NONEMPTY
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NONEMPTY(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4209,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4211,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4212,1
    - Dst: reject_server_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - state
    - name
    - command
    - argp
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4218
      start: 4198
    functionDepth: 7
    functionLinenumber: 4198
    functionLinenumberEnd: 4218
    functionName: is_map_command
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - reject_server_error
    - strcasecmp
    - strchr
    - msg_warn
    linkageType: ''
    returnType: int
    signature: "int is_map_command(SMTPD_STATE *state, const char *name,\n\t\t\t          const
      char *command, char ***argp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4226,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4227,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4228,1
    - Dst: reject_server_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - state
    - name
    - status
    - target
    argTypes:
    - SMTPD_STATE*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4231
      start: 4222
    functionDepth: 7
    functionLinenumber: 4222
    functionLinenumberEnd: 4231
    functionName: forbid_allowlist
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - reject_server_error
    - msg_warn
    linkageType: ''
    returnType: void
    signature: "void forbid_allowlist(SMTPD_STATE *state, const char *name,\n\t\t\t
      \            int status, const char *target)"
  - BBCount: 167
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4249,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4257,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4262,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4274,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4276,1
    - Dst: reject_server_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4279,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4288,1
    - Dst: smtpd_acl_permit
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4289,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4292,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4294,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4295,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4300,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4302,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4303,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4308,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4310,1
    - Dst: reject_unauth_pipelining
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4311,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4312,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4313,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4314,1
    - Dst: reject_server_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4316,1
    - Dst: check_policy_service
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4318,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4320,1
    - Dst: DEFER_IF_PERMIT2
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4321,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4326,1
    - Dst: DEFER_IF_REJECT2
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4327,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4331,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4332,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4333,1
    - Dst: reject_server_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4334,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4336,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4336,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4337,1
    - Dst: reject_plaintext_session
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4338,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4344,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4345,1
    - Dst: reject_unknown_client
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4346,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4347,1
    - Dst: reject_unknown_reverse_name
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4348,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4349,1
    - Dst: permit_inet_interfaces
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4350,1
    - Dst: smtpd_acl_permit
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4352,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4354,1
    - Dst: permit_mynetworks
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4355,1
    - Dst: smtpd_acl_permit
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4357,1
    - Dst: is_map_command
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4359,1
    - Dst: check_namadr_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4360,1
    - Dst: is_map_command
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4363,1
    - Dst: check_namadr_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4364,1
    - Dst: forbid_allowlist
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4367,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4368,1
    - Dst: reject_maps_rbl
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4369,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4370,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4371,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4373,1
    - Dst: reject_rbl_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4375,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4377,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4379,1
    - Dst: permit_dnswl_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4381,1
    - Dst: smtpd_acl_permit
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4384,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4387,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4389,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4393,1
    - Dst: reject_rbl_domain
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4394,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4397,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4399,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4403,1
    - Dst: permit_dnswl_domain
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4404,1
    - Dst: smtpd_acl_permit
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4407,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4411,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4413,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4417,1
    - Dst: reject_rbl_domain
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4418,1
    - Dst: is_map_command
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4421,1
    - Dst: check_ccert_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4422,1
    - Dst: is_map_command
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4423,1
    - Dst: check_sasl_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4427,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4430,1
    - Dst: is_map_command
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4431,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4432,1
    - Dst: check_server_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4433,1
    - Dst: forbid_allowlist
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4436,1
    - Dst: is_map_command
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4438,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4439,1
    - Dst: check_server_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4440,1
    - Dst: forbid_allowlist
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4443,1
    - Dst: is_map_command
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4445,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4446,1
    - Dst: check_server_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4447,1
    - Dst: forbid_allowlist
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4450,1
    - Dst: is_map_command
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4452,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4453,1
    - Dst: check_server_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4454,1
    - Dst: forbid_allowlist
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4457,1
    - Dst: is_map_command
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4459,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4460,1
    - Dst: check_server_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4461,1
    - Dst: forbid_allowlist
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4464,1
    - Dst: is_map_command
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4466,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4467,1
    - Dst: check_server_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4468,1
    - Dst: forbid_allowlist
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4471,1
    - Dst: is_map_command
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4478,1
    - Dst: check_domain_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4480,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4483,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4484,1
    - Dst: reject_invalid_hostname
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4487,1
    - Dst: reject_invalid_hostaddr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4490,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4493,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4494,1
    - Dst: reject_unknown_hostname
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4497,1
    - Dst: reject_invalid_hostaddr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4500,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4503,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4505,1
    - Dst: reject_server_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4509,1
    - Dst: is_map_command
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4510,1
    - Dst: check_server_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4512,1
    - Dst: forbid_allowlist
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4515,1
    - Dst: is_map_command
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4517,1
    - Dst: check_server_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4519,1
    - Dst: forbid_allowlist
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4522,1
    - Dst: is_map_command
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4524,1
    - Dst: check_server_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4526,1
    - Dst: forbid_allowlist
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4529,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4531,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4532,1
    - Dst: reject_non_fqdn_hostname
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4535,1
    - Dst: reject_invalid_hostaddr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4538,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4541,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4543,1
    - Dst: reject_rbl_domain
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4548,1
    - Dst: is_map_command
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4556,1
    - Dst: check_mail_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4558,1
    - Dst: check_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4562,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4565,1
    - Dst: reject_unknown_address
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4567,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4569,1
    - Dst: reject_unknown_address
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4571,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4573,1
    - Dst: reject_unverified_address
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4575,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4580,1
    - Dst: reject_non_fqdn_address
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4582,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4584,1
    - Dst: reject_auth_sender_login_mismatch
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4588,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4592,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4593,1
    - Dst: reject_auth_sender_login_mismatch
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4598,1
    - Dst: reject_unauth_sender_login_mismatch
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4601,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4605,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4606,1
    - Dst: reject_unauth_sender_login_mismatch
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4610,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4613,1
    - Dst: is_map_command
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4614,1
    - Dst: check_server_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4616,1
    - Dst: forbid_allowlist
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4619,1
    - Dst: is_map_command
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4621,1
    - Dst: check_server_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4623,1
    - Dst: forbid_allowlist
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4626,1
    - Dst: is_map_command
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4628,1
    - Dst: check_server_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4630,1
    - Dst: forbid_allowlist
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4633,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4635,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4637,1
    - Dst: reject_rbl_domain
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4641,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4644,1
    - Dst: check_sender_rcpt_maps
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4646,1
    - Dst: is_map_command
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4652,1
    - Dst: check_mail_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4654,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4657,1
    - Dst: permit_mx_backup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4659,1
    - Dst: smtpd_acl_permit
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4662,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4665,1
    - Dst: permit_auth_destination
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4667,1
    - Dst: smtpd_acl_permit
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4669,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4672,1
    - Dst: reject_unauth_destination
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4674,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4676,1
    - Dst: reject_unauth_destination
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4678,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4680,1
    - Dst: check_relay_domains
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4682,1
    - Dst: smtpd_acl_permit
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4685,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4688,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4690,1
    - Dst: permit_sasl_auth
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4692,1
    - Dst: smtpd_acl_permit
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4695,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4698,1
    - Dst: permit_tls_clientcerts
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4699,1
    - Dst: smtpd_acl_permit
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4701,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4703,1
    - Dst: permit_tls_clientcerts
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4704,1
    - Dst: smtpd_acl_permit
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4706,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4708,1
    - Dst: reject_unknown_address
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4710,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4712,1
    - Dst: reject_non_fqdn_address
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4714,1
    - Dst: is_map_command
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4716,1
    - Dst: check_server_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4718,1
    - Dst: forbid_allowlist
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4721,1
    - Dst: is_map_command
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4723,1
    - Dst: check_server_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4725,1
    - Dst: forbid_allowlist
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4728,1
    - Dst: is_map_command
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4730,1
    - Dst: check_server_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4732,1
    - Dst: forbid_allowlist
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4735,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4737,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4739,1
    - Dst: reject_rbl_domain
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4743,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4746,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4747,1
    - Dst: check_recipient_rcpt_maps
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4749,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4750,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4752,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4753,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4757,1
    - Dst: reject_unverified_address
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4759,1
    - Dst: is_map_command
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4769,1
    - Dst: check_domain_access
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4771,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4779,1
    - Dst: generic_checks
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4780,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4788,1
    - Dst: reject_server_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4789,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4792,1
    - Dst: reject_dict_retry
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4796,1
    - Dst: reject_server_error
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4798,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4810,1
    CyclomaticComplexity: 206
    EdgeCount: 206
    ICount: 430
    argCount: 5
    argNames:
    - state
    - restrictions
    - reply_name
    - reply_class
    - def_acl
    argTypes:
    - SMTPD_STATE*
    - ARGV*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4819
      start: 4235
    functionDepth: 10
    functionLinenumber: 4235
    functionLinenumberEnd: 4819
    functionName: generic_checks
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 2
    functionsReached:
    - sleep
    - is_map_command
    - reject_rbl_addr
    - generic_checks
    - permit_tls_clientcerts
    - check_recipient_rcpt_maps
    - reject_unknown_reverse_name
    - permit_auth_destination
    - reject_dict_retry
    - DEFER_IF_PERMIT2
    - DEFER_IF_REJECT2
    - permit_mx_backup
    - msg_info
    - atoi
    - reject_invalid_hostaddr
    - reject_unverified_address
    - reject_plaintext_session
    - reject_non_fqdn_address
    - permit_mynetworks
    - check_sasl_access
    - reject_unknown_hostname
    - reject_maps_rbl
    - check_sender_rcpt_maps
    - check_policy_service
    - permit_sasl_auth
    - reject_rbl_domain
    - reject_invalid_hostname
    - alldig
    - strcasecmp
    - forbid_allowlist
    - check_relay_domains
    - reject_unauth_destination
    - htable_find
    - check_mail_access
    - smtpd_acl_permit
    - permit_inet_interfaces
    - check_server_access
    - reject_unknown_address
    - reject_server_error
    - check_namadr_access
    - reject_non_fqdn_hostname
    - check_access
    - check_domain_access
    - reject_auth_sender_login_mismatch
    - strchr
    - msg_warn
    - check_ccert_access
    - permit_dnswl_addr
    - smtpd_check_reject
    - strcmp
    - permit_dnswl_domain
    - reject_unauth_pipelining
    - reject_unauth_sender_login_mismatch
    - reject_unknown_client
    linkageType: ''
    returnType: int
    signature: "int generic_checks(SMTPD_STATE *state, ARGV *restrictions,\n\t\t\t
      \         const char *reply_name,\n\t\t\t          const char *reply_class,\n\t\t\t
      \         const char *def_acl)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4830,1
    - Dst: smtpd_resolve_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4839,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4850,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4850,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4851,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - sender
    - addr
    - smtputf8
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4855
      start: 4823
    functionDepth: 2
    functionLinenumber: 4823
    functionLinenumberEnd: 4855
    functionName: smtpd_check_addr
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached:
    - strrchr
    - smtpd_resolve_addr
    - msg_info
    - allascii
    - STR
    linkageType: ''
    returnType: int
    signature: int smtpd_check_addr(const char *sender, const char *addr, int smtputf8)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4873,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4875,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4879,1
    - Dst: permit_inet_interfaces
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4880,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4881,1
    - Dst: permit_mynetworks
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4882,1
    - Dst: is_map_command
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4883,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4884,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4885,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4886,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4892,1
    - Dst: smtpd_sasl_is_active
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4894,1
    - Dst: permit_sasl_auth
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4895,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4898,1
    - Dst: permit_tls_clientcerts
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4899,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4900,1
    - Dst: permit_tls_clientcerts
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4901,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4903,1
    - Dst: log_whatsup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4910,1
    - Dst: log_whatsup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4915,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4927
      start: 4859
    functionDepth: 8
    functionLinenumber: 4859
    functionLinenumberEnd: 4927
    functionName: smtpd_check_rewrite
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - is_map_command
    - strchr
    - permit_inet_interfaces
    - permit_sasl_auth
    - permit_tls_clientcerts
    - msg_warn
    - maps_find
    - msg_info
    - strcasecmp
    - smtpd_sasl_is_active
    - htable_find
    - permit_mynetworks
    - log_whatsup
    linkageType: ''
    returnType: char
    signature: char *smtpd_check_rewrite(SMTPD_STATE *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SMTPD_CHECK_RESET
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4955,1
    - Dst: setjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4956,1
    - Dst: generic_checks
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4958,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4962,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4963
      start: 4931
    functionDepth: 11
    functionLinenumber: 4931
    functionLinenumberEnd: 4963
    functionName: smtpd_check_client
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached:
    - SMTPD_CHECK_RESET
    - setjmp
    - STR
    - generic_checks
    linkageType: ''
    returnType: char
    signature: char *smtpd_check_client(SMTPD_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4946
      start: 4941
    functionDepth: 0
    functionLinenumber: 4941
    functionLinenumberEnd: 4946
    functionName: SMTPD_CHECK_RESET
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTPD_CHECK_RESET()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SMTPD_CHECK_PUSH
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:4992,1
    - Dst: SMTPD_CHECK_RESET
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5009,1
    - Dst: setjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5010,1
    - Dst: generic_checks
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5012,1
    - Dst: SMTPD_CHECK_HELO_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5016,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5016,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - state
    - helohost
    argTypes:
    - SMTPD_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5017
      start: 4967
    functionDepth: 11
    functionLinenumber: 4967
    functionLinenumberEnd: 5017
    functionName: smtpd_check_helo
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 2
    functionsReached:
    - setjmp
    - generic_checks
    - SMTPD_CHECK_HELO_RETURN
    - SMTPD_CHECK_PUSH
    - SMTPD_CHECK_RESET
    - STR
    linkageType: ''
    returnType: char
    signature: char *smtpd_check_helo(SMTPD_STATE *state, char *helohost)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - backup
    - ','
    - current
    - ','
    - new
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4986
      start: 4982
    functionDepth: 0
    functionLinenumber: 4982
    functionLinenumberEnd: 4986
    functionName: SMTPD_CHECK_PUSH
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTPD_CHECK_PUSH(backup, current, new)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - current
    - ','
    - backup
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4991
      start: 4987
    functionDepth: 0
    functionLinenumber: 4987
    functionLinenumberEnd: 4991
    functionName: SMTPD_CHECK_POP
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTPD_CHECK_POP(current, backup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4998
      start: 4994
    functionDepth: 0
    functionLinenumber: 4994
    functionLinenumberEnd: 4998
    functionName: SMTPD_CHECK_HELO_RETURN
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTPD_CHECK_HELO_RETURN(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SMTPD_CHECK_PUSH
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5036,1
    - Dst: SMTPD_CHECK_RESET
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5055,1
    - Dst: setjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5056,1
    - Dst: generic_checks
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5058,1
    - Dst: check_sender_rcpt_maps
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5069,1
    - Dst: SMTPD_CHECK_MAIL_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5071,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5071,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - state
    - sender
    argTypes:
    - SMTPD_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5072
      start: 5021
    functionDepth: 11
    functionLinenumber: 5021
    functionLinenumberEnd: 5072
    functionName: smtpd_check_mail
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached:
    - check_sender_rcpt_maps
    - setjmp
    - generic_checks
    - SMTPD_CHECK_MAIL_RETURN
    - SMTPD_CHECK_PUSH
    - SMTPD_CHECK_RESET
    - STR
    linkageType: ''
    returnType: char
    signature: char *smtpd_check_mail(SMTPD_STATE *state, char *sender)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5042
      start: 5038
    functionDepth: 0
    functionLinenumber: 5038
    functionLinenumberEnd: 5042
    functionName: SMTPD_CHECK_MAIL_RETURN
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTPD_CHECK_MAIL_RETURN(x)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5096,1
    - Dst: SMTPD_CHECK_PUSH
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5103,1
    - Dst: smtpd_check_client
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5120,1
    - Dst: smtpd_check_helo
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5121,1
    - Dst: smtpd_check_mail
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5122,1
    - Dst: SMTPD_CHECK_RCPT_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5123,1
    - Dst: SMTPD_CHECK_RESET
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5152,1
    - Dst: setjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5161,1
    - Dst: generic_checks
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5163,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5167,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5177,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5187,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5189,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5190,1
    - Dst: check_recipient_rcpt_maps
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5200,1
    - Dst: SMTPD_CHECK_RCPT_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5202,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5202,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 33
    argCount: 2
    argNames:
    - state
    - recipient
    argTypes:
    - SMTPD_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5203
      start: 5076
    functionDepth: 12
    functionLinenumber: 5076
    functionLinenumberEnd: 5203
    functionName: smtpd_check_rcpt
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 2
    functionsReached:
    - setjmp
    - generic_checks
    - check_recipient_rcpt_maps
    - msg_info
    - smtpd_check_reject
    - SMTPD_CHECK_RCPT_RETURN
    - strcasecmp
    - smtpd_check_mail
    - SMTPD_CHECK_PUSH
    - SMTPD_CHECK_RESET
    - smtpd_check_helo
    - smtpd_check_client
    - STR
    linkageType: ''
    returnType: char
    signature: char *smtpd_check_rcpt(SMTPD_STATE *state, char *recipient)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5109
      start: 5105
    functionDepth: 0
    functionLinenumber: 5105
    functionLinenumberEnd: 5109
    functionName: SMTPD_CHECK_RCPT_RETURN
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTPD_CHECK_RCPT_RETURN(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SMTPD_CHECK_PUSH
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5223,1
    - Dst: smtpd_check_client
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5234,1
    - Dst: smtpd_check_helo
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5235,1
    - Dst: SMTPD_CHECK_ETRN_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5236,1
    - Dst: SMTPD_CHECK_RESET
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5249,1
    - Dst: setjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5250,1
    - Dst: generic_checks
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5252,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5260,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5262,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5263,1
    - Dst: SMTPD_CHECK_ETRN_RETURN
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5265,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5265,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - state
    - domain
    argTypes:
    - SMTPD_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5266
      start: 5207
    functionDepth: 12
    functionLinenumber: 5207
    functionLinenumberEnd: 5266
    functionName: smtpd_check_etrn
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached:
    - setjmp
    - generic_checks
    - SMTPD_CHECK_ETRN_RETURN
    - smtpd_check_reject
    - SMTPD_CHECK_PUSH
    - SMTPD_CHECK_RESET
    - smtpd_check_helo
    - smtpd_check_client
    - STR
    linkageType: ''
    returnType: char
    signature: char *smtpd_check_etrn(SMTPD_STATE *state, char *domain)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5229
      start: 5225
    functionDepth: 0
    functionLinenumber: 5225
    functionLinenumberEnd: 5229
    functionName: SMTPD_CHECK_ETRN_RETURN
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTPD_CHECK_ETRN_RETURN(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_rcpt_maps
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - state
    - recipient
    argTypes:
    - SMTPD_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5287
      start: 5270
    functionDepth: 1
    functionLinenumber: 5270
    functionLinenumberEnd: 5287
    functionName: check_recipient_rcpt_maps
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 2
    functionsReached:
    - check_rcpt_maps
    linkageType: ''
    returnType: int
    signature: int check_recipient_rcpt_maps(SMTPD_STATE *state, const char *recipient)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_rcpt_maps
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - state
    - sender
    argTypes:
    - SMTPD_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5308
      start: 5291
    functionDepth: 1
    functionLinenumber: 5291
    functionLinenumberEnd: 5308
    functionName: check_sender_rcpt_maps
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 2
    functionsReached:
    - check_rcpt_maps
    linkageType: ''
    returnType: int
    signature: int check_sender_rcpt_maps(SMTPD_STATE *state, const char *sender)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5320,1
    - Dst: smtpd_resolve_addr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5325,1
    - Dst: reject_dict_retry
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5327,1
    - Dst: MATCH
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5345,1
    - Dst: CONST_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5345,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5346,1
    - Dst: MATCH
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5347,1
    - Dst: CONST_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5347,1
    - Dst: MATCH
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5348,1
    - Dst: CONST_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5348,1
    - Dst: MATCH
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5349,1
    - Dst: CONST_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5349,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5360,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5360,1
    - Dst: dsn_split
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5361,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5361,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5362,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5363,1
    - Dst: smtpd_dsn_fix
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5366,1
    - Dst: DSN_STATUS
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5366,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5372,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5372,1
    - Dst: dsn_split
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5373,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5373,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5374,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5375,1
    - Dst: smtpd_dsn_fix
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5376,1
    - Dst: DSN_STATUS
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5376,1
    - Dst: MATCH_LEFT
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5406,1
    - Dst: CONST_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5406,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5407,1
    - Dst: MATCH_LEFT
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5409,1
    - Dst: CONST_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5409,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5410,1
    - Dst: MATCH_LEFT
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5412,1
    - Dst: CONST_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5412,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5413,1
    - Dst: NOMATCH
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5414,1
    - Dst: CONST_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5414,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5415,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5417,1
    - Dst: NOMATCH
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5430,1
    - Dst: CONST_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5430,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5431,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5433,1
    - Dst: NOMATCH
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5446,1
    - Dst: CONST_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5446,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5447,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5449,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5456,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 33
    argCount: 4
    argNames:
    - state
    - sender
    - recipient
    - reply_class
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5467
      start: 5312
    functionDepth: 7
    functionLinenumber: 5312
    functionLinenumberEnd: 5467
    functionName: check_rcpt_maps
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 2
    functionsReached:
    - MATCH_LEFT
    - strlen
    - reject_dict_retry
    - MATCH
    - dsn_split
    - smtpd_resolve_addr
    - msg_info
    - smtpd_check_reject
    - DSN_STATUS
    - strcmp
    - smtpd_dsn_fix
    - NOMATCH
    - CONST_STR
    - STR
    linkageType: ''
    returnType: int
    signature: "int check_rcpt_maps(SMTPD_STATE *state, const char *sender,\n\t\t\t
      \          const char *recipient,\n\t\t\t           const char *reply_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - map
    - ','
    - rcpt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5334
      start: 5332
    functionDepth: 0
    functionLinenumber: 5332
    functionLinenumberEnd: 5334
    functionName: MATCH
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(map, rcpt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - map
    - ','
    - rcpt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5336
      start: 5335
    functionDepth: 0
    functionLinenumber: 5335
    functionLinenumberEnd: 5336
    functionName: NOMATCH
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOMATCH(map, rcpt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - r
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5396
      start: 5394
    functionDepth: 0
    functionLinenumber: 5394
    functionLinenumberEnd: 5396
    functionName: MATCH_LEFT
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_LEFT(l, r, n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SMTPD_CHECK_RESET
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5478,1
    - Dst: setjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5479,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5480,1
    - Dst: ENFORCING_SIZE_LIMIT
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5485,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5486,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5489,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - state
    - size
    argTypes:
    - SMTPD_STATE*
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5492
      start: 5471
    functionDepth: 6
    functionLinenumber: 5471
    functionLinenumberEnd: 5492
    functionName: smtpd_check_size
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached:
    - ENFORCING_SIZE_LIMIT
    - setjmp
    - smtpd_check_reject
    - SMTPD_CHECK_RESET
    - STR
    linkageType: ''
    returnType: char
    signature: char *smtpd_check_size(SMTPD_STATE *state, off_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SMTPD_CHECK_RESET
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5505,1
    - Dst: setjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5506,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5507,1
    - Dst: fsspace
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5515,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5517,1
    - Dst: BLOCKS
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5523,1
    - Dst: BLOCKS
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5524,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5525,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5528,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5535
      start: 5496
    functionDepth: 6
    functionLinenumber: 5496
    functionLinenumberEnd: 5535
    functionName: smtpd_check_queue
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached:
    - setjmp
    - msg_warn
    - msg_info
    - smtpd_check_reject
    - fsspace
    - SMTPD_CHECK_RESET
    - BLOCKS
    - STR
    linkageType: ''
    returnType: char
    signature: char *smtpd_check_queue(SMTPD_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5514
      start: 5513
    functionDepth: 0
    functionLinenumber: 5513
    functionLinenumberEnd: 5514
    functionName: BLOCKS
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCKS(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SMTPD_CHECK_RESET
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5566,1
    - Dst: setjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5567,1
    - Dst: generic_checks
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5569,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5577,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5579,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5580,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5585,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5586
      start: 5539
    functionDepth: 11
    functionLinenumber: 5539
    functionLinenumberEnd: 5586
    functionName: smtpd_check_data
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 2
    functionsReached:
    - setjmp
    - generic_checks
    - smtpd_check_reject
    - SMTPD_CHECK_RESET
    - STR
    linkageType: ''
    returnType: char
    signature: char *smtpd_check_data(SMTPD_STATE *state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SMTPD_CHECK_RESET
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5617,1
    - Dst: setjmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5618,1
    - Dst: generic_checks
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5620,1
    - Dst: smtpd_check_reject
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5628,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5630,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5631,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5636,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5637
      start: 5590
    functionDepth: 11
    functionLinenumber: 5590
    functionLinenumberEnd: 5637
    functionName: smtpd_check_eod
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached:
    - setjmp
    - generic_checks
    - smtpd_check_reject
    - SMTPD_CHECK_RESET
    - STR
    linkageType: ''
    returnType: char
    signature: char *smtpd_check_eod(SMTPD_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5785
      start: 5779
    functionDepth: 1
    functionLinenumber: 5779
    functionLinenumberEnd: 5785
    functionName: string_init
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - mystrdup
    linkageType: ''
    returnType: void
    signature: void string_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5794,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5795,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5796,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5801
      start: 5789
    functionDepth: 1
    functionLinenumber: 5789
    functionLinenumberEnd: 5801
    functionName: string_update
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - myfree
    - strcasecmp
    - mystrdup
    linkageType: ''
    returnType: int
    signature: int string_update(char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5903
      start: 5897
    functionDepth: 0
    functionLinenumber: 5897
    functionLinenumberEnd: 5903
    functionName: int_init
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void int_init(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5912,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5913,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5914,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5915,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5920
      start: 5907
    functionDepth: 1
    functionLinenumber: 5907
    functionLinenumberEnd: 5920
    functionName: int_update
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - strcasecmp
    - ISDIGIT
    - atoi
    linkageType: ''
    returnType: int
    signature: int int_update(char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5952,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5953,1
    - Dst: smtpd_check_parse
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5954,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5959
      start: 5947
    functionDepth: 4
    functionLinenumber: 5947
    functionLinenumberEnd: 5959
    functionName: rest_update
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - smtpd_check_parse
    - argv_free
    linkageType: ''
    returnType: int
    signature: int rest_update(char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: htable_create
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5970,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5972,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5973,1
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5974,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5975,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5977,1
    - Dst: smtpd_check_parse
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5978,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - class
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5979
      start: 5963
    functionDepth: 4
    functionLinenumber: 5963
    functionLinenumberEnd: 5979
    functionName: rest_class
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - htable_create
    - argv_free
    - htable_enter
    - htable_locate
    - mystrtok
    - smtpd_check_parse
    linkageType: ''
    returnType: void
    signature: void rest_class(char *class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5986,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5987,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - reply
    argTypes:
    - RESOLVE_REPLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5989
      start: 5983
    functionDepth: 1
    functionLinenumber: 5983
    functionLinenumberEnd: 5989
    functionName: resolve_clnt_init
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 3
    functionsReached:
    - vstring_alloc
    linkageType: ''
    returnType: void
    signature: void resolve_clnt_init(RESOLVE_REPLY *reply)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5993,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5994,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:5995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - reply
    argTypes:
    - RESOLVE_REPLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5996
      start: 5991
    functionDepth: 1
    functionLinenumber: 5991
    functionLinenumberEnd: 5996
    functionName: resolve_clnt_free
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 2
    functionsReached:
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void resolve_clnt_free(RESOLVE_REPLY *reply)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - opts_name
    - opts_var
    argTypes:
    - SMTPD_STATE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6008
      start: 6004
    functionDepth: 1
    functionLinenumber: 6004
    functionLinenumberEnd: 6008
    functionName: smtpd_sasl_activate
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 3
    functionsReached:
    - msg_panic
    linkageType: ''
    returnType: void
    signature: "void smtpd_sasl_activate(SMTPD_STATE *state, const char *opts_name,\n\t\t\t
      \           const char *opts_var)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6015
      start: 6012
    functionDepth: 1
    functionLinenumber: 6012
    functionLinenumberEnd: 6015
    functionName: smtpd_sasl_deactivate
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 3
    functionsReached:
    - msg_panic
    linkageType: ''
    returnType: void
    signature: void smtpd_sasl_deactivate(SMTPD_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - ifyes
    - ifnot
    argTypes:
    - SMTPD_STATE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6022
      start: 6019
    functionDepth: 0
    functionLinenumber: 6019
    functionLinenumberEnd: 6022
    functionName: permit_sasl_auth
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int permit_sasl_auth(SMTPD_STATE *state, int ifyes, int ifnot)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6031
      start: 6026
    functionDepth: 0
    functionLinenumber: 6026
    functionLinenumberEnd: 6031
    functionName: smtpd_sasl_state_init
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void smtpd_sasl_state_init(SMTPD_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - addr
    - addr_status
    - why
    argTypes:
    - char*
    - int*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6041
      start: 6037
    functionDepth: 0
    functionLinenumber: 6037
    functionLinenumberEnd: 6041
    functionName: verify_clnt_query
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int verify_clnt_query(const char *addr, int *addr_status, VSTRING *why)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6048,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6049,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6050,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6051,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6052,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - context
    - addr
    - result
    argTypes:
    - char*
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6054
      start: 6045
    functionDepth: 1
    functionLinenumber: 6045
    functionLinenumberEnd: 6054
    functionName: rewrite_clnt_internal
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 4
    functionsReached:
    - msg_panic
    - strchr
    - vstring_strcpy
    - msg_fatal
    - STR
    linkageType: ''
    returnType: VSTRING
    signature: "VSTRING *rewrite_clnt_internal(const char *context, const char *addr,\n\t\t\t
      \              VSTRING *result)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CONST_STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6064,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6065,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6066,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6067,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6068,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6069,1
    - Dst: resolve_local
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6071,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6073,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6074,1
    - Dst: string_list_match
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6077,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6079,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6080,1
    - Dst: string_list_match
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6083,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6085,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6086,1
    - Dst: domain_list_match
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6089,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6091,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6092,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6097,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6098,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6100,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 4
    argNames:
    - class
    - unused_sender
    - addr
    - reply
    argTypes:
    - char*
    - char*
    - char*
    - RESOLVE_REPLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6101
      start: 6058
    functionDepth: 4
    functionLinenumber: 6058
    functionLinenumberEnd: 6101
    functionName: resolve_clnt
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - strrchr
    - strchr
    - domain_list_match
    - string_list_match
    - vstring_strcpy
    - resolve_local
    - msg_fatal
    - CONST_STR
    linkageType: ''
    returnType: void
    signature: "void resolve_clnt(const char *class, const char *unused_sender, const
      char *addr,\n\t\t             RESOLVE_REPLY *reply)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - unused_state
    argTypes:
    - SMTPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6107
      start: 6105
    functionDepth: 0
    functionLinenumber: 6105
    functionLinenumberEnd: 6107
    functionName: smtpd_chat_reset
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void smtpd_chat_reset(SMTPD_STATE *unused_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - myname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6114
      start: 6111
    functionDepth: 1
    functionLinenumber: 6111
    functionLinenumberEnd: 6114
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 25
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(char *myname)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6118,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6128,1
    - Dst: usage
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6130,1
    - Dst: string_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6131,1
    - Dst: int_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6132,1
    - Dst: smtpd_check_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6133,1
    - Dst: smtpd_expand_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6134,1
    - Dst: inet_proto_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6135,1
    - Dst: smtpd_state_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6136,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6143,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6149,1
    - Dst: isatty
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6150,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6151,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6152,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6158,1
    - Dst: system
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6158,1
    - Dst: argv_splitq
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6161,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6173,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6180,1
    - Dst: smtpd_check_rewrite
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6181,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6188,1
    - Dst: ctable_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6190,1
    - Dst: ctable_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6191,1
    - Dst: ctable_create
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6193,1
    - Dst: ctable_create
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6195,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6206,1
    - Dst: UPDATE_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6208,1
    - Dst: UPDATE_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6209,1
    - Dst: UPDATE_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6210,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6214,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6215,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6224,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6225,1
    - Dst: smtpd_check_client
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6227,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6242,1
    - Dst: UPDATE_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6243,1
    - Dst: resolve_local_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6244,1
    - Dst: smtpd_resolve_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6245,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6249,1
    - Dst: UPDATE_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6250,1
    - Dst: UPDATE_MAPS
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6251,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6257,1
    - Dst: UPDATE_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6258,1
    - Dst: UPDATE_LIST
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6259,1
    - Dst: smtpd_resolve_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6261,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6265,1
    - Dst: UPDATE_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6266,1
    - Dst: UPDATE_MAPS
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6267,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6273,1
    - Dst: UPDATE_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6274,1
    - Dst: UPDATE_LIST
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6275,1
    - Dst: smtpd_resolve_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6277,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6281,1
    - Dst: UPDATE_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6282,1
    - Dst: UPDATE_MAPS
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6283,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6289,1
    - Dst: UPDATE_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6290,1
    - Dst: UPDATE_MAPS
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6291,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6297,1
    - Dst: UPDATE_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6298,1
    - Dst: UPDATE_MAPS
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6299,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6305,1
    - Dst: UPDATE_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6306,1
    - Dst: UPDATE_MAPS
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6307,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6313,1
    - Dst: UPDATE_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6314,1
    - Dst: UPDATE_MAPS
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6315,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6321,1
    - Dst: UPDATE_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6322,1
    - Dst: UPDATE_MAPS
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6323,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6329,1
    - Dst: namadr_list_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6331,1
    - Dst: namadr_list_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6333,1
    - Dst: match_parent_style
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6334,1
    - Dst: smtpd_resolve_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6336,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6340,1
    - Dst: domain_list_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6342,1
    - Dst: domain_list_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6344,1
    - Dst: match_parent_style
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6345,1
    - Dst: smtpd_resolve_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6347,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6351,1
    - Dst: UPDATE_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6352,1
    - Dst: domain_list_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6353,1
    - Dst: namadr_list_init
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6355,1
    - Dst: match_parent_style
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6356,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6361,1
    - Dst: dns_rr_filter_compile
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6363,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6368,1
    - Dst: UPDATE_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6369,1
    - Dst: UPDATE_MAPS
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6370,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6376,1
    - Dst: rest_class
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6377,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6381,1
    - Dst: UPDATE_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6382,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6383,1
    - Dst: smtpd_check_parse
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6384,1
    - Dst: int_update
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6387,1
    - Dst: string_update
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6388,1
    - Dst: rest_update
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6389,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6406,1
    - Dst: smtpd_check_helo
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6408,1
    - Dst: UPDATE_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6409,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6410,1
    - Dst: TRIM_ADDR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6412,1
    - Dst: UPDATE_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6413,1
    - Dst: smtpd_check_mail
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6414,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6415,1
    - Dst: TRIM_ADDR
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6417,1
    - Dst: smtpd_check_rcpt
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6418,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6420,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6423,1
    - Dst: memset
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6424,1
    - Dst: UPDATE_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6430,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6444,1
    - Dst: smtpd_check_rewrite
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6445,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6466,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6467,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6468,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6470,1
    - Dst: smtpd_state_reset
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6471,1
    - Dst: FREE_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6473,1
    - Dst: FREE_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6474,1
    - Dst: FREE_STRING
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6477,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6478,1
    - Dst: exit
      Src: /src/postfix/postfix/src/smtpd/smtpd_check.c:6481,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 228
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6482
      start: 6116
    functionDepth: 13
    functionLinenumber: 6116
    functionLinenumberEnd: 6482
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 29
    functionsReached:
    - UPDATE_LIST
    - resolve_local_init
    - msg_vstream_init
    - namadr_list_free
    - atoi
    - inet_proto_init
    - smtpd_state_init
    - smtpd_check_helo
    - domain_list_free
    - UPDATE_STRING
    - argv_splitq
    - smtpd_check_init
    - UPDATE_MAPS
    - rest_class
    - vstream_fflush
    - vstring_alloc
    - dns_rr_filter_compile
    - exit
    - strcasecmp
    - concatenate
    - mymalloc
    - smtpd_check_parse
    - smtpd_state_reset
    - domain_list_init
    - rest_update
    - smtpd_resolve_init
    - TRIM_ADDR
    - string_init
    - system
    - myfree
    - int_init
    - vstream_printf
    - memset
    - isatty
    - smtpd_check_client
    - int_update
    - smtpd_check_rcpt
    - vstring_free
    - FREE_STRING
    - vstring_fgets_nonl
    - ctable_create
    - smtpd_expand_init
    - argv_free
    - ctable_free
    - namadr_list_init
    - string_update
    - match_parent_style
    - strcmp
    - usage
    - smtpd_check_mail
    - smtpd_check_rewrite
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ptr
    - ','
    - var
    - ','
    - val
    - ','
    - lock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6236
      start: 6234
    functionDepth: 0
    functionLinenumber: 6234
    functionLinenumberEnd: 6236
    functionName: UPDATE_MAPS
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_MAPS(ptr, var, val, lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - var
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6240
      start: 6237
    functionDepth: 0
    functionLinenumber: 6237
    functionLinenumberEnd: 6240
    functionName: UPDATE_LIST
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_LIST(ptr, var, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - src
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6405
      start: 6397
    functionDepth: 0
    functionLinenumber: 6397
    functionLinenumberEnd: 6405
    functionName: TRIM_ADDR
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRIM_ADDR(src, res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6473
      start: 6472
    functionDepth: 0
    functionLinenumber: 6472
    functionLinenumberEnd: 6473
    functionName: FREE_STRING
    functionSourceFile: /src/postfix/postfix/src/smtpd/smtpd_check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_STRING(s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/qmgr/qmgr_feedback.c:125,1
    - Dst: get_mail_conf_str
      Src: /src/postfix/postfix/src/qmgr/qmgr_feedback.c:126,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/qmgr/qmgr_feedback.c:142,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/qmgr/qmgr_feedback.c:149,1
    - Dst: INCLUSIVE_BOUNDS
      Src: /src/postfix/postfix/src/qmgr/qmgr_feedback.c:152,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/qmgr/qmgr_feedback.c:153,1
    - Dst: INCLUSIVE_BOUNDS
      Src: /src/postfix/postfix/src/qmgr/qmgr_feedback.c:154,1
    - Dst: INCLUSIVE_BOUNDS
      Src: /src/postfix/postfix/src/qmgr/qmgr_feedback.c:164,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_feedback.c:165,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_feedback.c:166,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_feedback.c:175,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_feedback.c:176,1
    - Dst: QMGR_FEEDBACK_VAL
      Src: /src/postfix/postfix/src/qmgr/qmgr_feedback.c:178,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_feedback.c:180,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_feedback.c:181,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 5
    argNames:
    - fb
    - name_prefix
    - name_tail
    - def_name
    - def_val
    argTypes:
    - QMGR_FEEDBACK*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 182
    functionName: qmgr_feedback_init
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_feedback.c
    functionUses: 0
    functionsReached:
    - INCLUSIVE_BOUNDS
    - name_code
    - msg_warn
    - msg_info
    - sscanf
    - myfree
    - get_mail_conf_str
    - strcmp
    - concatenate
    - QMGR_FEEDBACK_VAL
    linkageType: ''
    returnType: void
    signature: "void qmgr_feedback_init(QMGR_FEEDBACK *fb,\n\t\t\t           const
      char *name_prefix,\n\t\t\t           const char *name_tail,\n\t\t\t           const
      char *def_name,\n\t\t\t           const char *def_val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - val
    - ','
    - low
    - ','
    - high
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: INCLUSIVE_BOUNDS
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_feedback.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCLUSIVE_BOUNDS(val, low, high)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_transport_unthrottle
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: qmgr_transport_unthrottle_wrapper
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_transport.c
    functionUses: 0
    functionsReached:
    - qmgr_transport_unthrottle
    linkageType: ''
    returnType: void
    signature: void qmgr_transport_unthrottle_wrapper(int unused_event, void *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:200,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:203,1
    - Dst: dsn_free
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:205,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - transport
    argTypes:
    - QMGR_TRANSPORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 212
    functionName: qmgr_transport_unthrottle
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_transport.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - event_cancel_timer
    - dsn_free
    - msg_info
    linkageType: ''
    returnType: void
    signature: void qmgr_transport_unthrottle(QMGR_TRANSPORT *transport)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:227,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:231,1
    - Dst: DSN_COPY
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:233,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - transport
    - dsn
    argTypes:
    - QMGR_TRANSPORT*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 237
    functionName: qmgr_transport_throttle
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_transport.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - event_request_timer
    - DSN_COPY
    - msg_info
    linkageType: ''
    returnType: void
    signature: void qmgr_transport_throttle(QMGR_TRANSPORT *transport, DSN *dsn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: qmgr_transport_abort
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_transport.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void qmgr_transport_abort(int unused_event, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMGR_TRANSPORT_ALLOC*::notify
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:254,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 256
    functionName: qmgr_transport_rate_event
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_transport.c
    functionUses: 0
    functionsReached:
    - myfree
    - QMGR_TRANSPORT_ALLOC*::notify
    linkageType: ''
    returnType: void
    signature: void qmgr_transport_rate_event(int unused_event, void *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:269,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:274,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:281,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:281,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:282,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:282,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:291,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:293,1
    - Dst: QMGR_TRANSPORT_ALLOC*::notify
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:296,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 299
    functionName: qmgr_transport_event
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_transport.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - event_request_timer
    - msg_info
    - myfree
    - non_blocking
    - event_disable_readwrite
    - QMGR_TRANSPORT_ALLOC*::notify
    - vstream_fileno
    - event_cancel_timer
    linkageType: ''
    returnType: void
    signature: void qmgr_transport_event(int unused_event, void *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:328,1
    - Dst: MIN5af51743e4eef
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:330,1
    - Dst: QMGR_LIST_ROTATE
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:332,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:334,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 340
    functionName: qmgr_transport_select
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_transport.c
    functionUses: 0
    functionsReached:
    - QMGR_LIST_ROTATE
    - MIN5af51743e4eef
    - QMGR_QUEUE_READY
    - msg_info
    linkageType: ''
    returnType: QMGR_TRANSPORT
    signature: QMGR_TRANSPORT *qmgr_transport_select(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    functionName: MIN5af51743e4eef
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_transport.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN5af51743e4eef(x, y)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:352,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:354,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:356,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:384,1
    - Dst: mail_connect
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:388,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:390,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:392,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:399,1
    - Dst: CA_VSTREAM_CTL_DUPFD
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:400,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:403,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:403,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:409,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - transport
    - notify
    argTypes:
    - QMGR_TRANSPORT*
    - QMGR_TRANSPORT_ALLOC_NOTIFY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 411
    functionName: qmgr_transport_alloc
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_transport.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_warn
    - event_request_timer
    - mail_connect
    - event_enable_read
    - CA_VSTREAM_CTL_DUPFD
    - vstream_control
    - mymalloc
    - vstream_fileno
    linkageType: ''
    returnType: void
    signature: void qmgr_transport_alloc(QMGR_TRANSPORT *transport, QMGR_TRANSPORT_ALLOC_NOTIFY
      notify)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: htable_find
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:419,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:420,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:421,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:424,1
    - Dst: get_mail_conf_int2
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:430,1
    - Dst: get_mail_conf_int2
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:433,1
    - Dst: get_mail_conf_int2
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:436,1
    - Dst: get_mail_conf_time2
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:438,1
    - Dst: get_mail_conf_time2
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:441,1
    - Dst: get_mail_conf_int2
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:451,1
    - Dst: get_mail_conf_int2
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:453,1
    - Dst: get_mail_conf_int2
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:456,1
    - Dst: get_mail_conf_int2
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:458,1
    - Dst: get_mail_conf_int2
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:460,1
    - Dst: get_mail_conf_int2
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:462,1
    - Dst: get_mail_conf_int2
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:464,1
    - Dst: get_mail_conf_time2
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:466,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:469,1
    - Dst: QMGR_LIST_INIT
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:470,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:471,1
    - Dst: QMGR_LIST_INIT
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:472,1
    - Dst: QMGR_LIST_INIT
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:473,1
    - Dst: qmgr_feedback_init
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:481,1
    - Dst: qmgr_feedback_init
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:483,1
    - Dst: get_mail_conf_int2
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:486,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:489,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:490,1
    - Dst: QMGR_LIST_PREPEND
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:491,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:493,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 46
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 415
    functionDepth: 4
    functionLinenumber: 415
    functionLinenumberEnd: 497
    functionName: qmgr_transport_create
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_transport.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - qmgr_feedback_init
    - get_mail_conf_time2
    - QMGR_LIST_PREPEND
    - htable_create
    - msg_info
    - htable_enter
    - QMGR_LIST_INIT
    - mymalloc
    - mystrdup
    - htable_find
    - get_mail_conf_int2
    linkageType: ''
    returnType: QMGR_TRANSPORT
    signature: QMGR_TRANSPORT *qmgr_transport_create(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htable_find
      Src: /src/postfix/postfix/src/qmgr/qmgr_transport.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 504
    functionName: qmgr_transport_find
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_transport.c
    functionUses: 0
    functionsReached:
    - htable_find
    linkageType: ''
    returnType: QMGR_TRANSPORT
    signature: QMGR_TRANSPORT *qmgr_transport_find(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_scan_request
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:537,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - unused_event
    - dummy
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 539
    functionName: qmgr_deferred_run_event
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr.c
    functionUses: 0
    functionsReached:
    - qmgr_scan_request
    - event_request_timer
    linkageType: ''
    returnType: void
    signature: void qmgr_deferred_run_event(int unused_event, void *dummy)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:554,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:566,1
    - Dst: ISALNUM
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:567,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:586,1
    - Dst: qmgr_scan_request
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:597,1
    - Dst: qmgr_scan_request
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:599,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 4
    argNames:
    - buf
    - len
    - unused_service
    - argv
    argTypes:
    - char*
    - ssize_t
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 600
    functionName: qmgr_trigger_event
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr.c
    functionUses: 0
    functionsReached:
    - qmgr_scan_request
    - ISALNUM
    - msg_fatal
    - msg_info
    linkageType: ''
    returnType: void
    signature: "void qmgr_trigger_event(char *buf, ssize_t len,\n\t\t\t               char
      *unused_service, char **argv)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_active_drain
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:629,1
    - Dst: qmgr_scan_next
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:643,1
    - Dst: qmgr_active_feed
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:645,1
    - Dst: mail_flow_count
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:665,1
    - Dst: mail_flow_put
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:668,1
    - Dst: mail_flow_put
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:670,1
    - Dst: mail_flow_get
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:672,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 676
    functionName: qmgr_loop
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr.c
    functionUses: 0
    functionsReached:
    - qmgr_scan_next
    - mail_flow_get
    - qmgr_active_drain
    - mail_flow_put
    - mail_flow_count
    - qmgr_active_feed
    linkageType: ''
    returnType: int
    signature: int qmgr_loop(char *unused_name, char **unused_argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_changed_name
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:684,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:685,1
    - Dst: exit
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 688
    functionName: pre_accept
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr.c
    functionUses: 0
    functionsReached:
    - dict_changed_name
    - exit
    - msg_info
    linkageType: ''
    returnType: void
    signature: void pre_accept(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flush_init
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 692
    functionDepth: 2
    functionLinenumber: 692
    functionLinenumberEnd: 695
    functionName: qmgr_pre_init
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr.c
    functionUses: 0
    functionsReached:
    - flush_init
    linkageType: ''
    returnType: void
    signature: void qmgr_pre_init(char *unused_name, char **unused_argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:705,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:706,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:708,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:709,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:716,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:721,1
    - Dst: qmgr_move
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:743,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:743,1
    - Dst: qmgr_scan_create
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:744,1
    - Dst: qmgr_scan_create
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:745,1
    - Dst: qmgr_scan_request
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:746,1
    - Dst: qmgr_deferred_run_event
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:747,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 748
    functionName: qmgr_post_init
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - qmgr_scan_request
    - qmgr_scan_create
    - event_time
    - qmgr_move
    - strcmp
    - qmgr_deferred_run_event
    linkageType: ''
    returnType: void
    signature: void qmgr_post_init(char *name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trigger_server_main
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:815,1
    - Dst: CA_MAIL_SERVER_INT_TABLE
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:816,1
    - Dst: CA_MAIL_SERVER_STR_TABLE
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:817,1
    - Dst: CA_MAIL_SERVER_BOOL_TABLE
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:818,1
    - Dst: CA_MAIL_SERVER_TIME_TABLE
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:819,1
    - Dst: CA_MAIL_SERVER_PRE_INIT
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:820,1
    - Dst: CA_MAIL_SERVER_POST_INIT
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:821,1
    - Dst: CA_MAIL_SERVER_LOOP
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:822,1
    - Dst: CA_MAIL_SERVER_PRE_ACCEPT
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:823,1
    - Dst: CA_MAIL_SERVER_WATCHDOG
      Src: /src/postfix/postfix/src/qmgr/qmgr.c:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 827
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr.c
    functionUses: 30
    functionsReached:
    - CA_MAIL_SERVER_WATCHDOG
    - CA_MAIL_SERVER_PRE_ACCEPT
    - CA_MAIL_SERVER_STR_TABLE
    - CA_MAIL_SERVER_POST_INIT
    - CA_MAIL_SERVER_LOOP
    - CA_MAIL_SERVER_INT_TABLE
    - CA_MAIL_SERVER_TIME_TABLE
    - trigger_server_main
    - CA_MAIL_SERVER_PRE_INIT
    - CA_MAIL_SERVER_BOOL_TABLE
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_scan.c:90,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_scan.c:97,1
    - Dst: scan_dir_open
      Src: /src/postfix/postfix/src/qmgr/qmgr_scan.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - scan_info
    argTypes:
    - QMGR_SCAN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 108
    functionName: qmgr_scan_start
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_scan.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - scan_dir_open
    - msg_info
    linkageType: ''
    returnType: void
    signature: void qmgr_scan_start(QMGR_SCAN *scan_info)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_enable_all
      Src: /src/postfix/postfix/src/qmgr/qmgr_scan.c:126,1
    - Dst: qmgr_scan_start
      Src: /src/postfix/postfix/src/qmgr/qmgr_scan.c:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - scan_info
    - flags
    argTypes:
    - QMGR_SCAN*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 150
    functionName: qmgr_scan_request
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_scan.c
    functionUses: 3
    functionsReached:
    - qmgr_scan_start
    - qmgr_enable_all
    linkageType: ''
    returnType: void
    signature: void qmgr_scan_request(QMGR_SCAN *scan_info, int flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mail_scan_dir_next
      Src: /src/postfix/postfix/src/qmgr/qmgr_scan.c:162,1
    - Dst: scan_dir_close
      Src: /src/postfix/postfix/src/qmgr/qmgr_scan.c:163,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_scan.c:165,1
    - Dst: qmgr_scan_start
      Src: /src/postfix/postfix/src/qmgr/qmgr_scan.c:168,1
    - Dst: mail_scan_dir_next
      Src: /src/postfix/postfix/src/qmgr/qmgr_scan.c:169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - scan_info
    argTypes:
    - QMGR_SCAN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 172
    functionName: qmgr_scan_next
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_scan.c
    functionUses: 1
    functionsReached:
    - mail_scan_dir_next
    - qmgr_scan_start
    - scan_dir_close
    - msg_info
    linkageType: ''
    returnType: char
    signature: char *qmgr_scan_next(QMGR_SCAN *scan_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/qmgr/qmgr_scan.c:180,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_scan.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - queue
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: qmgr_scan_create
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_scan.c
    functionUses: 1
    functionsReached:
    - mymalloc
    - mystrdup
    linkageType: ''
    returnType: QMGR_SCAN
    signature: QMGR_SCAN *qmgr_scan_create(const char *queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - object
    - ','
    - peers
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: QMGR_LIST_ROTATE
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_LIST_ROTATE(head, object, peers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - type
    - ','
    - object
    - ','
    - peers
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: QMGR_LIST_UNLINK
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_LIST_UNLINK(head, type, object, peers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - pred
    - ','
    - object
    - ','
    - succ
    - ','
    - peers
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: QMGR_LIST_LINK
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_LIST_LINK(head, pred, object, succ, peers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - object
    - ','
    - peers
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: QMGR_LIST_PREPEND
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_LIST_PREPEND(head, object, peers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - object
    - ','
    - peers
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: QMGR_LIST_APPEND
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_LIST_APPEND(head, object, peers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: QMGR_LIST_INIT
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_LIST_INIT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fb
    - ','
    - win
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: QMGR_FEEDBACK_VAL
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_FEEDBACK_VAL(fb, win)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fb
    - ','
    - win
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: QMGR_FEEDBACK_VAL
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_FEEDBACK_VAL(fb, win)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 223
    functionName: QMGR_TRANSPORT_THROTTLED
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_TRANSPORT_THROTTLED(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 284
    functionName: QMGR_QUEUE_READY
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_QUEUE_READY(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 285
    functionName: QMGR_QUEUE_THROTTLED
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_QUEUE_THROTTLED(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: QMGR_QUEUE_SUSPENDED
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_QUEUE_SUSPENDED(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 287
    functionName: QMGR_QUEUE_SAVED
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_QUEUE_SAVED(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 288
    functionName: QMGR_QUEUE_BAD
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_QUEUE_BAD(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 296
    functionName: QMGR_QUEUE_STATUS
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_QUEUE_STATUS(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stats
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 395
    functionName: QMGR_MSG_STATS
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_MSG_STATS(stats, message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_defer.c:94,1
    - Dst: qmgr_defer_todo
      Src: /src/postfix/postfix/src/qmgr/qmgr_defer.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - transport
    - dsn
    argTypes:
    - QMGR_TRANSPORT*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: qmgr_defer_transport
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_defer.c
    functionUses: 0
    functionsReached:
    - qmgr_defer_todo
    - msg_info
    linkageType: ''
    returnType: void
    signature: void qmgr_defer_transport(QMGR_TRANSPORT *transport, DSN *dsn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_defer.c:121,1
    - Dst: qmgr_error_queue
      Src: /src/postfix/postfix/src/qmgr/qmgr_defer.c:130,1
    - Dst: qmgr_entry_move_todo
      Src: /src/postfix/postfix/src/qmgr/qmgr_defer.c:138,1
    - Dst: qmgr_defer_recipient
      Src: /src/postfix/postfix/src/qmgr/qmgr_defer.c:144,1
    - Dst: qmgr_entry_done
      Src: /src/postfix/postfix/src/qmgr/qmgr_defer.c:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - queue
    - dsn
    argTypes:
    - QMGR_QUEUE*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 148
    functionName: qmgr_defer_todo
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_defer.c
    functionUses: 1
    functionsReached:
    - qmgr_entry_done
    - msg_info
    - qmgr_entry_move_todo
    - qmgr_error_queue
    - qmgr_defer_recipient
    linkageType: ''
    returnType: void
    signature: void qmgr_defer_todo(QMGR_QUEUE *queue, DSN *dsn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: defer_append
      Src: /src/postfix/postfix/src/qmgr/qmgr_defer.c:160,1
    - Dst: QMGR_MSG_STATS
      Src: /src/postfix/postfix/src/qmgr/qmgr_defer.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - message
    - recipient
    - dsn
    argTypes:
    - QMGR_MESSAGE*
    - RECIPIENT*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 152
    functionDepth: 5
    functionLinenumber: 152
    functionLinenumberEnd: 163
    functionName: qmgr_defer_recipient
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_defer.c
    functionUses: 1
    functionsReached:
    - QMGR_MSG_STATS
    - defer_append
    linkageType: ''
    returnType: void
    signature: "void qmgr_defer_recipient(QMGR_MESSAGE *message, RECIPIENT *recipient,\n\t\t\t
      \            DSN *dsn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_transport_find
      Src: /src/postfix/postfix/src/qmgr/qmgr_error.c:72,1
    - Dst: qmgr_transport_create
      Src: /src/postfix/postfix/src/qmgr/qmgr_error.c:73,1
    - Dst: QMGR_TRANSPORT_THROTTLED
      Src: /src/postfix/postfix/src/qmgr/qmgr_error.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - service
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: qmgr_error_transport
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_error.c
    functionUses: 0
    functionsReached:
    - qmgr_transport_find
    - qmgr_transport_create
    - QMGR_TRANSPORT_THROTTLED
    linkageType: ''
    returnType: QMGR_TRANSPORT
    signature: QMGR_TRANSPORT *qmgr_error_transport(const char *service)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_error_transport
      Src: /src/postfix/postfix/src/qmgr/qmgr_error.c:94,1
    - Dst: qmgr_error_nexthop
      Src: /src/postfix/postfix/src/qmgr/qmgr_error.c:100,1
    - Dst: qmgr_queue_find
      Src: /src/postfix/postfix/src/qmgr/qmgr_error.c:101,1
    - Dst: qmgr_queue_create
      Src: /src/postfix/postfix/src/qmgr/qmgr_error.c:102,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_error.c:103,1
    - Dst: QMGR_QUEUE_THROTTLED
      Src: /src/postfix/postfix/src/qmgr/qmgr_error.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - service
    - dsn
    argTypes:
    - char*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 111
    functionName: qmgr_error_queue
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_error.c
    functionUses: 1
    functionsReached:
    - qmgr_queue_create
    - qmgr_error_nexthop
    - qmgr_queue_find
    - qmgr_error_transport
    - myfree
    - QMGR_QUEUE_THROTTLED
    linkageType: ''
    returnType: QMGR_QUEUE
    signature: QMGR_QUEUE *qmgr_error_queue(const char *service, DSN *dsn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/qmgr/qmgr_error.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dsn
    argTypes:
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: qmgr_error_nexthop
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_error.c
    functionUses: 1
    functionsReached:
    - concatenate
    linkageType: ''
    returnType: char
    signature: char *qmgr_error_nexthop(DSN *dsn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:174,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:186,1
    - Dst: sane_time
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:187,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:190,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:191,1
    - Dst: recipient_list_init
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:216,1
    - Dst: QMGR_LIST_INIT
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 3
    argNames:
    - queue_name
    - queue_id
    - qflags
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 222
    functionName: qmgr_message_create
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_message.c
    functionUses: 0
    functionsReached:
    - sane_time
    - GETTIMEOFDAY
    - recipient_list_init
    - QMGR_LIST_INIT
    - mymalloc
    - mystrdup
    linkageType: ''
    returnType: QMGR_MESSAGE
    signature: "QMGR_MESSAGE *qmgr_message_create(const char *queue_name,\n\t\t\t\t
      \          const char *queue_id, int qflags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: qmgr_message_close
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_message.c
    functionUses: 0
    functionsReached:
    - vstream_fclose
    linkageType: ''
    returnType: void
    signature: void qmgr_message_close(QMGR_MESSAGE *message)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:241,1
    - Dst: mail_queue_open
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:247,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:251,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 234
    functionDepth: 4
    functionLinenumber: 234
    functionLinenumberEnd: 256
    functionName: qmgr_message_open
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_message.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_fatal
    - msg_warn
    - mail_queue_open
    linkageType: ''
    returnType: int
    signature: int qmgr_message_open(QMGR_MESSAGE *message)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:270,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:271,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:272,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:272,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:277,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:278,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:278,1
    - Dst: rec_get
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:289,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:293,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:295,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:306,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:307,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:307,1
    - Dst: atol
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:308,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:309,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:310,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:311,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:312,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:312,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:322,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:323,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:323,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:324,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:331,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 38
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 332
    functionName: qmgr_message_oldstyle_scan
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_message.c
    functionUses: 0
    functionsReached:
    - vstream_ftell
    - VSTREAM_PATH
    - vstring_str
    - vstream_fseek
    - vstring_alloc
    - msg_info
    - rec_get
    - atol
    - msg_fatal
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void qmgr_message_oldstyle_scan(QMGR_MESSAGE *message)
  - BBCount: 138
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:361,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:378,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:380,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:381,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:381,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:393,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:395,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:422,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:423,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:423,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:425,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:426,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:426,1
    - Dst: rec_get_raw
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:430,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:431,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:433,1
    - Dst: rec_goto
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:435,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:441,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:445,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:446,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:463,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:464,1
    - Dst: rec_attr_map
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:469,1
    - Dst: recipient_list_add
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:482,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:487,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:491,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:497,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:498,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:499,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:519,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:521,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:521,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:531,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:535,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:546,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:548,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:552,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:558,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:563,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:563,1
    - Dst: DSN_NOTIFY_OK
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:563,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:564,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:574,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:576,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:580,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:592,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:599,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:605,1
    - Dst: qmgr_message_oldstyle_scan
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:614,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:617,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:627,1
    - Dst: REC_TYPE_TIME_SCAN
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:636,1
    - Dst: atol
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:641,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:646,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:647,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:652,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:653,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:658,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:659,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:664,1
    - Dst: opened
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:665,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:674,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:675,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:679,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:679,1
    - Dst: DSN_RET_OK
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:679,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:680,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:687,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:689,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:690,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:707,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:709,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:710,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:712,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:713,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:715,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:716,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:718,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:719,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:721,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:724,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:726,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:727,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:729,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:731,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:732,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:734,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:736,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:737,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:739,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:741,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:742,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:744,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:746,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:747,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:749,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:751,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:753,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:755,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:757,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:759,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:761,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:763,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:765,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:767,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:769,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:771,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:773,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:775,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:777,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:786,1
    - Dst: DEL_REQ_TRACE_FLAGS
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:788,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:788,1
    - Dst: REC_TYPE_WARN_SCAN
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:802,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:809,1
    - Dst: verp_delims_verify
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:811,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:812,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:816,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:819,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:831,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:833,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:837,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:839,1
    - Dst: sane_time
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:857,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:865,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:867,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:869,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:871,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:873,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:875,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:877,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:879,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:881,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:883,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:885,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:887,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:895,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:903,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:910,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:913,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:916,1
    - Dst: recipient_list_free
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:923,1
    - Dst: recipient_list_init
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:924,1
    CyclomaticComplexity: 184
    EdgeCount: 184
    ICount: 402
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 926
    functionName: qmgr_message_read
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_message.c
    functionUses: 0
    functionsReached:
    - recipient_list_free
    - split_nameval
    - rec_attr_map
    - msg_info
    - atoi
    - rec_goto
    - REC_TYPE_TIME_SCAN
    - DSN_NOTIFY_OK
    - msg_panic
    - VSTREAM_PATH
    - recipient_list_init
    - alldig
    - vstring_alloc
    - recipient_list_add
    - sscanf
    - vstring_str
    - qmgr_message_oldstyle_scan
    - verp_delims_verify
    - opened
    - DSN_RET_OK
    - rec_get_raw
    - myfree
    - atol
    - vstring_free
    - msg_warn
    - vstream_ftell
    - strchr
    - sane_time
    - vstream_fseek
    - REC_TYPE_WARN_SCAN
    - DEL_REQ_TRACE_FLAGS
    - strcmp
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: int
    signature: int qmgr_message_read(QMGR_MESSAGE *message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_message_open
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:937,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:938,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:939,1
    - Dst: REC_TYPE_WARN_ARG
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:940,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:941,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:942,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:942,1
    - Dst: qmgr_message_close
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:943,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 930
    functionDepth: 3
    functionLinenumber: 930
    functionLinenumberEnd: 944
    functionName: qmgr_message_update_warn
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_message.c
    functionUses: 0
    functionsReached:
    - VSTREAM_PATH
    - vstream_fseek
    - vstream_fflush
    - rec_fprintf
    - REC_TYPE_WARN_ARG
    - qmgr_message_open
    - msg_fatal
    - qmgr_message_close
    linkageType: ''
    returnType: void
    signature: void qmgr_message_update_warn(QMGR_MESSAGE *message)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:951,1
    - Dst: qmgr_message_open
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:952,1
    - Dst: rec_put_type
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:953,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:954,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:955,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:955,1
    - Dst: qmgr_message_close
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:956,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - message
    - offset
    argTypes:
    - QMGR_MESSAGE*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 948
    functionDepth: 2
    functionLinenumber: 948
    functionLinenumberEnd: 957
    functionName: qmgr_message_kill_record
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_message.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - VSTREAM_PATH
    - vstream_fflush
    - rec_put_type
    - msg_fatal
    - qmgr_message_open
    - qmgr_message_close
    linkageType: ''
    returnType: void
    signature: void qmgr_message_kill_record(QMGR_MESSAGE *message, long offset)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:988,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:995,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1002,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1003,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1009,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1015,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 1016
    functionName: qmgr_message_sort_compare
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_message.c
    functionUses: 0
    functionsReached:
    - strrchr
    - strcmp
    - strcasecmp_utf8
    linkageType: ''
    returnType: int
    signature: int qmgr_message_sort_compare(const void *p1, const void *p2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1022,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1028,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1030,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1020
    functionDepth: 1
    functionLinenumber: 1020
    functionLinenumberEnd: 1033
    functionName: qmgr_message_sort
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_message.c
    functionUses: 0
    functionsReached:
    - msg_info
    - qsort
    linkageType: ''
    returnType: void
    signature: void qmgr_message_sort(QMGR_MESSAGE *message)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: resolve_clnt_query_from
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1047,1
    - Dst: resolve_clnt_verify_from
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1049,1
    - Dst: QMGR_REDIRECT
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1051,1
    - Dst: QMGR_REDIRECT
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1055,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - message
    - recipient
    - addr
    - reply
    argTypes:
    - QMGR_MESSAGE*
    - RECIPIENT*
    - char*
    - RESOLVE_REPLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1037
    functionDepth: 1
    functionLinenumber: 1037
    functionLinenumberEnd: 1061
    functionName: qmgr_resolve_one
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_message.c
    functionUses: 0
    functionsReached:
    - QMGR_REDIRECT
    - resolve_clnt_query_from
    - resolve_clnt_verify_from
    linkageType: ''
    returnType: int
    signature: "int qmgr_resolve_one(QMGR_MESSAGE *message, RECIPIENT *recipient,\n\t\t\t
      \           const char *addr, RESOLVE_REPLY *reply)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rp
    - ','
    - tp
    - ','
    - np
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1045
    functionName: QMGR_REDIRECT
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_message.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_REDIRECT(rp, tp, np)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: resolve_clnt_init
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1087,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1088,1
    - Dst: rewrite_clnt_internal
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1104,1
    - Dst: RECIPIENT_UPDATE
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1106,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1106,1
    - Dst: qmgr_resolve_one
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1107,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1110,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1110,1
    - Dst: RECIPIENT_UPDATE
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1111,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1111,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1131,1
    - Dst: FILTER_WITHOUT_NEXTHOP
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1132,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1132,1
    - Dst: RCPT_WITHOUT_DOMAIN
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1134,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1136,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1137,1
    - Dst: if
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1145,1
    - Dst: qmgr_resolve_one
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1145,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1148,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1148,1
    - Dst: RECIPIENT_UPDATE
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1149,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1149,1
    - Dst: QMGR_REDIRECT
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1158,1
    - Dst: QMGR_REDIRECT
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1173,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1187,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1187,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1188,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1189,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1189,1
    - Dst: strncasecmp_utf8
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1190,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1190,1
    - Dst: sent
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1193,1
    - Dst: QMGR_MSG_STATS
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1194,1
    - Dst: DSN_SIMPLE
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1195,1
    - Dst: deliver_completed
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1198,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1201,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1216,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1218,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1218,1
    - Dst: QMGR_REDIRECT
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1221,1
    - Dst: QMGR_REDIRECT
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1231,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1237,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1237,1
    - Dst: qmgr_transport_find
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1238,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1238,1
    - Dst: qmgr_transport_create
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1239,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1239,1
    - Dst: QMGR_TRANSPORT_THROTTLED
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1248,1
    - Dst: qmgr_transport_unthrottle
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1249,1
    - Dst: QMGR_TRANSPORT_THROTTLED
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1254,1
    - Dst: qmgr_error_transport
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1256,1
    - Dst: qmgr_error_nexthop
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1257,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1258,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1259,1
    - Dst: qmgr_defer_recipient
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1262,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1300,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1300,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1301,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1302,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1305,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1305,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1306,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1307,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1307,1
    - Dst: vstring_strncpy
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1308,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1308,1
    - Dst: split_addr
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1310,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1310,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1311,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1311,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1311,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1313,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1313,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1315,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1315,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1321,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1321,1
    - Dst: qmgr_queue_find
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1322,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1322,1
    - Dst: qmgr_queue_create
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1323,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1323,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1324,1
    - Dst: QMGR_QUEUE_THROTTLED
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1331,1
    - Dst: qmgr_queue_unthrottle
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1332,1
    - Dst: QMGR_QUEUE_THROTTLED
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1337,1
    - Dst: qmgr_error_queue
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1339,1
    - Dst: qmgr_defer_recipient
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1340,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 101
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1065
    functionDepth: 3
    functionLinenumber: 1065
    functionLinenumberEnd: 1349
    functionName: qmgr_message_resolve
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_message.c
    functionUses: 0
    functionsReached:
    - vstring_truncate
    - QMGR_REDIRECT
    - qmgr_transport_create
    - vstring_strncpy
    - qmgr_error_nexthop
    - qmgr_queue_unthrottle
    - qmgr_transport_unthrottle
    - qmgr_error_queue
    - rewrite_clnt_internal
    - sent
    - RCPT_WITHOUT_DOMAIN
    - strlen
    - strncasecmp_utf8
    - vstring_alloc
    - resolve_clnt_init
    - if
    - QMGR_QUEUE_THROTTLED
    - RECIPIENT_UPDATE
    - qmgr_transport_find
    - FILTER_WITHOUT_NEXTHOP
    - split_addr
    - qmgr_queue_create
    - QMGR_TRANSPORT_THROTTLED
    - qmgr_resolve_one
    - DSN_SIMPLE
    - qmgr_error_transport
    - myfree
    - STREQ
    - argv_split
    - vstring_sprintf_append
    - qmgr_defer_recipient
    - lowercase
    - strrchr
    - msg_warn
    - deliver_completed
    - qmgr_queue_find
    - strcmp
    - vstring_strcpy
    - QMGR_MSG_STATS
    - STR
    linkageType: ''
    returnType: void
    signature: void qmgr_message_resolve(QMGR_MESSAGE *message)
  - 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: 1084
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1084
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_message.c
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - filter
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1124
    functionName: FILTER_WITHOUT_NEXTHOP
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_message.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_WITHOUT_NEXTHOP(filter, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rcpt
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1127
    functionName: RCPT_WITHOUT_DOMAIN
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_message.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RCPT_WITHOUT_DOMAIN(rcpt, next)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_job_obtain
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1387,1
    - Dst: qmgr_peer_obtain
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1395,1
    - Dst: LIMIT_OK
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1403,1
    - Dst: qmgr_entry_create
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1404,1
    - Dst: recipient_list_add
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1410,1
    - Dst: recipient_list_free
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1422,1
    - Dst: recipient_list_init
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1423,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1356
    functionDepth: 2
    functionLinenumber: 1356
    functionLinenumberEnd: 1437
    functionName: qmgr_message_assign
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_message.c
    functionUses: 0
    functionsReached:
    - qmgr_job_obtain
    - recipient_list_free
    - qmgr_peer_obtain
    - recipient_list_init
    - recipient_list_add
    - LIMIT_OK
    - qmgr_entry_create
    linkageType: ''
    returnType: void
    signature: void qmgr_message_assign(QMGR_MESSAGE *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - limit
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1374
    functionName: LIMIT_OK
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_message.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIMIT_OK(limit, count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_job_move_limits
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1447
    functionName: qmgr_message_move_limits
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_message.c
    functionUses: 0
    functionsReached:
    - qmgr_job_move_limits
    linkageType: ''
    returnType: void
    signature: void qmgr_message_move_limits(QMGR_MESSAGE *message)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1456,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1458,1
    - Dst: qmgr_job_free
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1460,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1461,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1462,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1464,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1466,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1468,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1470,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1472,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1474,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1476,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1478,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1480,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1482,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1484,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1486,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1488,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1490,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1492,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1494,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1496,1
    - Dst: recipient_list_free
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1497,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1501,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 48
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1451
    functionDepth: 1
    functionLinenumber: 1451
    functionLinenumberEnd: 1502
    functionName: qmgr_message_free
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_message.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - recipient_list_free
    - myfree
    - qmgr_job_free
    linkageType: ''
    returnType: void
    signature: void qmgr_message_free(QMGR_MESSAGE *message)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1514,1
    - Dst: qmgr_message_create
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1519,1
    - Dst: qmgr_message_open
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1527,1
    - Dst: qmgr_message_free
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1528,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1531,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1531,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1532,1
    - Dst: qmgr_message_close
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1533,1
    - Dst: qmgr_message_free
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1534,1
    - Dst: qmgr_message_read
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1537,1
    - Dst: qmgr_message_close
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1538,1
    - Dst: qmgr_message_free
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1539,1
    - Dst: fchmod
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1547,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1547,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1548,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1548,1
    - Dst: stat
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1561,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1561,1
    - Dst: qmgr_message_close
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1565,1
    - Dst: mail_queue_remove
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1580,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1581,1
    - Dst: qmgr_message_sort
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1583,1
    - Dst: qmgr_message_resolve
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1584,1
    - Dst: qmgr_message_sort
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1585,1
    - Dst: qmgr_message_assign
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1586,1
    - Dst: qmgr_message_close
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1587,1
    - Dst: qmgr_message_move_limits
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1589,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 4
    argNames:
    - queue_name
    - queue_id
    - qflags
    - mode
    argTypes:
    - char*
    - char*
    - int
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1506
    functionDepth: 4
    functionLinenumber: 1506
    functionLinenumberEnd: 1592
    functionName: qmgr_message_alloc
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_message.c
    functionUses: 0
    functionsReached:
    - stat
    - myflock
    - VSTREAM_PATH
    - qmgr_message_free
    - qmgr_message_create
    - msg_info
    - fchmod
    - mail_queue_path
    - qmgr_message_assign
    - qmgr_message_resolve
    - mail_queue_remove
    - qmgr_message_sort
    - qmgr_message_open
    - qmgr_message_read
    - msg_fatal
    - vstream_fileno
    - qmgr_message_move_limits
    - qmgr_message_close
    linkageType: ''
    returnType: QMGR_MESSAGE
    signature: "QMGR_MESSAGE *qmgr_message_alloc(const char *queue_name, const char
      *queue_id,\n\t\t\t\t         int qflags, mode_t mode)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1604,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1606,1
    - Dst: qmgr_message_open
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1613,1
    - Dst: qmgr_message_read
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1615,1
    - Dst: qmgr_message_close
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1616,1
    - Dst: qmgr_message_sort
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1619,1
    - Dst: qmgr_message_resolve
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1620,1
    - Dst: qmgr_message_sort
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1621,1
    - Dst: qmgr_message_assign
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1622,1
    - Dst: qmgr_message_close
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1623,1
    - Dst: qmgr_message_move_limits
      Src: /src/postfix/postfix/src/qmgr/qmgr_message.c:1625,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1596
    functionDepth: 2
    functionLinenumber: 1596
    functionLinenumberEnd: 1628
    functionName: qmgr_message_realloc
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_message.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_info
    - qmgr_message_assign
    - qmgr_message_sort
    - qmgr_message_open
    - qmgr_message_read
    - qmgr_message_resolve
    - qmgr_message_move_limits
    - qmgr_message_close
    linkageType: ''
    returnType: QMGR_MESSAGE
    signature: QMGR_MESSAGE *qmgr_message_realloc(QMGR_MESSAGE *message)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mail_queue_rename
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:141,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:143,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - queue_id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: qmgr_active_corrupt
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_active.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - msg_warn
    - mail_queue_rename
    linkageType: ''
    returnType: void
    signature: void qmgr_active_corrupt(const char *queue_id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:161,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:163,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:164,1
    - Dst: utime
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:165,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:166,1
    - Dst: mail_queue_rename
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:167,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:169,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:171,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - queue_name
    - queue_id
    - dest_queue
    - delay
    argTypes:
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 176
    functionName: qmgr_active_defer
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_active.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - msg_info
    - event_time
    - msg_fatal
    - mail_queue_path
    - mail_queue_rename
    - utime
    linkageType: ''
    returnType: void
    signature: "void qmgr_active_defer(const char *queue_name, const char *queue_id,\n\t\t\t
      \             const char *dest_queue, int delay)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:187,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:188,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:190,1
    - Dst: mail_open_ok
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:195,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:199,1
    - Dst: time
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:206,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:208,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:209,1
    - Dst: mail_queue_rename
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:216,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:218,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:220,1
    - Dst: qmgr_message_alloc
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:248,1
    - Dst: MAYBE_FLUSH_AFTER
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:250,1
    - Dst: MAYBE_FORCE_EXPIRE
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:251,1
    - Dst: MAYBE_UPDATE_MODE
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:252,1
    - Dst: qmgr_active_corrupt
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:253,1
    - Dst: qmgr_active_defer
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:256,1
    - Dst: qmgr_active_done
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:265,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - scan_info
    - queue_id
    argTypes:
    - QMGR_SCAN*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 268
    functionName: qmgr_active_feed
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_active.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - qmgr_active_defer
    - msg_warn
    - MAYBE_FORCE_EXPIRE
    - qmgr_active_corrupt
    - qmgr_active_done
    - time
    - msg_info
    - event_time
    - MAYBE_UPDATE_MODE
    - strcmp
    - mail_open_ok
    - qmgr_message_alloc
    - MAYBE_FLUSH_AFTER
    - msg_fatal
    - mail_queue_rename
    linkageType: ''
    returnType: int
    signature: int qmgr_active_feed(QMGR_SCAN *scan_info, const char *queue_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: MAYBE_FLUSH_AFTER
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_active.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAYBE_FLUSH_AFTER(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: MAYBE_FORCE_EXPIRE
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_active.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAYBE_FORCE_EXPIRE(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: MAYBE_UPDATE_MODE
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_active.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAYBE_UPDATE_MODE(mode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:278,1
    - Dst: stat
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:300,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:300,1
    - Dst: mail_queue_remove
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:302,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:303,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:307,1
    - Dst: abounce_flush
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:309,1
    - Dst: abounce_flush_verp
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:320,1
    - Dst: qmgr_active_done_2_generic
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:338,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 272
    functionDepth: 4
    functionLinenumber: 272
    functionLinenumberEnd: 339
    functionName: qmgr_active_done
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_active.c
    functionUses: 1
    functionsReached:
    - stat
    - abounce_flush
    - qmgr_active_done_2_generic
    - msg_info
    - mail_queue_remove
    - abounce_flush_verp
    - msg_fatal
    - mail_queue_path
    linkageType: ''
    returnType: void
    signature: void qmgr_active_done(QMGR_MESSAGE *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_active_done_2_generic
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - status
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 352
    functionName: qmgr_active_done_2_bounce_flush
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_active.c
    functionUses: 0
    functionsReached:
    - qmgr_active_done_2_generic
    linkageType: ''
    returnType: void
    signature: void qmgr_active_done_2_bounce_flush(int status, void *context)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mail_open_ok
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:366,1
    - Dst: qmgr_active_corrupt
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:367,1
    - Dst: qmgr_message_free
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:368,1
    - Dst: qmgr_message_realloc
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:381,1
    - Dst: qmgr_active_corrupt
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:382,1
    - Dst: qmgr_message_free
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:383,1
    - Dst: qmgr_active_done
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:386,1
    - Dst: atrace_flush
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:405,1
    - Dst: qmgr_active_done_25_generic
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:421,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 356
    functionDepth: 4
    functionLinenumber: 356
    functionLinenumberEnd: 422
    functionName: qmgr_active_done_2_generic
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_active.c
    functionUses: 2
    functionsReached:
    - qmgr_message_free
    - qmgr_active_done
    - qmgr_active_corrupt
    - qmgr_message_realloc
    - mail_open_ok
    - atrace_flush
    - qmgr_active_done_25_generic
    linkageType: ''
    returnType: void
    signature: void qmgr_active_done_2_generic(QMGR_MESSAGE *message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_message_kill_record
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:434,1
    - Dst: qmgr_active_done_25_generic
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - status
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 437
    functionName: qmgr_active_done_25_trace_flush
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_active.c
    functionUses: 0
    functionsReached:
    - qmgr_message_kill_record
    - qmgr_active_done_25_generic
    linkageType: ''
    returnType: void
    signature: void qmgr_active_done_25_trace_flush(int status, void *context)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: event_time
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:456,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:463,1
    - Dst: info_log_addr_form_sender
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:464,1
    - Dst: adefer_flush
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:467,1
    - Dst: adefer_flush_verp
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:478,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:491,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:493,1
    - Dst: adefer_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:494,1
    - Dst: qmgr_active_done_3_generic
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:511,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 441
    functionDepth: 4
    functionLinenumber: 441
    functionLinenumberEnd: 512
    functionName: qmgr_active_done_25_generic
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_active.c
    functionUses: 2
    functionsReached:
    - info_log_addr_form_sender
    - msg_info
    - event_time
    - adefer_flush_verp
    - adefer_warn
    - adefer_flush
    - qmgr_active_done_3_generic
    linkageType: ''
    returnType: void
    signature: void qmgr_active_done_25_generic(QMGR_MESSAGE *message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_message_update_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:524,1
    - Dst: qmgr_active_done_3_generic
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - status
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 526
    functionName: qmgr_active_done_3_defer_warn
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_active.c
    functionUses: 0
    functionsReached:
    - qmgr_message_update_warn
    - qmgr_active_done_3_generic
    linkageType: ''
    returnType: void
    signature: void qmgr_active_done_3_defer_warn(int status, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_active_done_3_generic
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - status
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 539
    functionName: qmgr_active_done_3_defer_flush
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_active.c
    functionUses: 0
    functionsReached:
    - qmgr_active_done_3_generic
    linkageType: ''
    returnType: void
    signature: void qmgr_active_done_3_defer_flush(int status, void *context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: event_time
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:561,1
    - Dst: qmgr_active_defer
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:569,1
    - Dst: mail_queue_remove
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:577,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:579,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:581,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:585,1
    - Dst: qmgr_message_free
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:592,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 543
    functionDepth: 4
    functionLinenumber: 543
    functionLinenumberEnd: 593
    functionName: qmgr_active_done_3_generic
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_active.c
    functionUses: 3
    functionsReached:
    - qmgr_active_defer
    - msg_warn
    - qmgr_message_free
    - msg_info
    - event_time
    - mail_queue_remove
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void qmgr_active_done_3_generic(QMGR_MESSAGE *message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_transport_select
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:605,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:607,1
    - Dst: qmgr_transport_alloc
      Src: /src/postfix/postfix/src/qmgr/qmgr_active.c:608,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 610
    functionName: qmgr_active_drain
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_active.c
    functionUses: 1
    functionsReached:
    - qmgr_transport_select
    - qmgr_transport_alloc
    - msg_info
    linkageType: ''
    returnType: void
    signature: void qmgr_active_drain(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - queue
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: QMGR_ERROR_OR_RETRY_QUEUE
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_queue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_ERROR_OR_RETRY_QUEUE(queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - feedback
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: QMGR_LOG_FEEDBACK
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_queue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_LOG_FEEDBACK(feedback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - queue
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: QMGR_LOG_WINDOW
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_queue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_LOG_WINDOW(queue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QMGR_QUEUE_SUSPENDED
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:144,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:145,1
    - Dst: QMGR_QUEUE_STATUS
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:145,1
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:169,1
    - Dst: qmgr_queue_done
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:170,1
    - Dst: qmgr_job_blocker_update
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 173
    functionName: qmgr_queue_resume
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_queue.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - qmgr_job_blocker_update
    - qmgr_queue_done
    - QMGR_QUEUE_READY
    - QMGR_QUEUE_STATUS
    - QMGR_QUEUE_SUSPENDED
    linkageType: ''
    returnType: void
    signature: void qmgr_queue_resume(int event, void *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:184,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:185,1
    - Dst: QMGR_QUEUE_STATUS
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:185,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:187,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - queue
    - delay
    argTypes:
    - QMGR_QUEUE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 195
    functionName: qmgr_queue_suspend
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_queue.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - QMGR_QUEUE_STATUS
    - event_request_timer
    - QMGR_QUEUE_READY
    linkageType: ''
    returnType: void
    signature: void qmgr_queue_suspend(QMGR_QUEUE *queue, int delay)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_queue_unthrottle
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:208,1
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:209,1
    - Dst: qmgr_queue_done
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 211
    functionName: qmgr_queue_unthrottle_wrapper
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_queue.c
    functionUses: 0
    functionsReached:
    - qmgr_queue_unthrottle
    - qmgr_queue_done
    - QMGR_QUEUE_READY
    linkageType: ''
    returnType: void
    signature: void qmgr_queue_unthrottle_wrapper(int unused_event, void *context)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:222,1
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:227,1
    - Dst: QMGR_QUEUE_THROTTLED
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:227,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:228,1
    - Dst: QMGR_QUEUE_STATUS
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:228,1
    - Dst: QMGR_QUEUE_THROTTLED
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:242,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:243,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:245,1
    - Dst: dsn_free
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:246,1
    - Dst: QMGR_LOG_WINDOW
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:254,1
    - Dst: QMGR_FEEDBACK_VAL
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:276,1
    - Dst: QMGR_LOG_FEEDBACK
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:277,1
    - Dst: QMGR_LOG_WINDOW
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:290,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 1
    argNames:
    - queue
    argTypes:
    - QMGR_QUEUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 291
    functionName: qmgr_queue_unthrottle
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_queue.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - dsn_free
    - QMGR_LOG_FEEDBACK
    - event_cancel_timer
    - msg_info
    - QMGR_QUEUE_THROTTLED
    - QMGR_LOG_WINDOW
    - QMGR_QUEUE_READY
    - QMGR_QUEUE_STATUS
    - QMGR_FEEDBACK_VAL
    linkageType: ''
    returnType: void
    signature: void qmgr_queue_unthrottle(QMGR_QUEUE *queue)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:304,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:305,1
    - Dst: QMGR_QUEUE_STATUS
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:305,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:307,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:310,1
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:325,1
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:341,1
    - Dst: QMGR_FEEDBACK_VAL
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:342,1
    - Dst: QMGR_LOG_FEEDBACK
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:343,1
    - Dst: QMGR_QUEUE_THROTTLED
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:359,1
    - Dst: DSN_COPY
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:360,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:361,1
    - Dst: QMGR_LOG_WINDOW
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:365,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - queue
    - dsn
    argTypes:
    - QMGR_QUEUE*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 366
    functionName: qmgr_queue_throttle
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_queue.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - QMGR_LOG_FEEDBACK
    - event_request_timer
    - DSN_COPY
    - msg_info
    - QMGR_QUEUE_THROTTLED
    - QMGR_LOG_WINDOW
    - QMGR_QUEUE_READY
    - QMGR_QUEUE_STATUS
    - QMGR_FEEDBACK_VAL
    linkageType: ''
    returnType: void
    signature: void qmgr_queue_throttle(QMGR_QUEUE *queue, DSN *dsn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:380,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:383,1
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:384,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:385,1
    - Dst: QMGR_QUEUE_STATUS
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:385,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:387,1
    - Dst: QMGR_LIST_UNLINK
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:393,1
    - Dst: htable_delete
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:394,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:395,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:396,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:398,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - queue
    argTypes:
    - QMGR_QUEUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 399
    functionName: qmgr_queue_done
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_queue.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - htable_delete
    - QMGR_LIST_UNLINK
    - myfree
    - QMGR_QUEUE_READY
    - QMGR_QUEUE_STATUS
    linkageType: ''
    returnType: void
    signature: void qmgr_queue_done(QMGR_QUEUE *queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:413,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:417,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:418,1
    - Dst: QMGR_LIST_INIT
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:424,1
    - Dst: QMGR_LIST_INIT
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:425,1
    - Dst: QMGR_LIST_APPEND
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:429,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 3
    argNames:
    - transport
    - name
    - nexthop
    argTypes:
    - QMGR_TRANSPORT*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 432
    functionName: qmgr_queue_create
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_queue.c
    functionUses: 2
    functionsReached:
    - QMGR_LIST_APPEND
    - htable_enter
    - QMGR_LIST_INIT
    - mymalloc
    - mystrdup
    linkageType: ''
    returnType: QMGR_QUEUE
    signature: "QMGR_QUEUE *qmgr_queue_create(QMGR_TRANSPORT *transport, const char
      *name,\n\t\t\t              const char *nexthop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htable_find
      Src: /src/postfix/postfix/src/qmgr/qmgr_queue.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - transport
    - name
    argTypes:
    - QMGR_TRANSPORT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 439
    functionName: qmgr_queue_find
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_queue.c
    functionUses: 2
    functionsReached:
    - htable_find
    linkageType: ''
    returnType: QMGR_QUEUE
    signature: QMGR_QUEUE *qmgr_queue_find(QMGR_TRANSPORT *transport, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_enable.c:65,1
    - Dst: qmgr_enable_transport
      Src: /src/postfix/postfix/src/qmgr/qmgr_enable.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: qmgr_enable_all
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_enable.c
    functionUses: 1
    functionsReached:
    - qmgr_enable_transport
    - msg_info
    linkageType: ''
    returnType: void
    signature: void qmgr_enable_all(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_enable.c:87,1
    - Dst: qmgr_transport_unthrottle
      Src: /src/postfix/postfix/src/qmgr/qmgr_enable.c:88,1
    - Dst: qmgr_enable_queue
      Src: /src/postfix/postfix/src/qmgr/qmgr_enable.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - transport
    argTypes:
    - QMGR_TRANSPORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 94
    functionName: qmgr_enable_transport
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_enable.c
    functionUses: 1
    functionsReached:
    - qmgr_transport_unthrottle
    - qmgr_enable_queue
    - msg_info
    linkageType: ''
    returnType: void
    signature: void qmgr_enable_transport(QMGR_TRANSPORT *transport)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QMGR_QUEUE_THROTTLED
      Src: /src/postfix/postfix/src/qmgr/qmgr_enable.c:100,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_enable.c:102,1
    - Dst: qmgr_queue_unthrottle
      Src: /src/postfix/postfix/src/qmgr/qmgr_enable.c:103,1
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/qmgr/qmgr_enable.c:105,1
    - Dst: qmgr_queue_done
      Src: /src/postfix/postfix/src/qmgr/qmgr_enable.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - queue
    argTypes:
    - QMGR_QUEUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: qmgr_enable_queue
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_enable.c
    functionUses: 1
    functionsReached:
    - qmgr_queue_done
    - msg_info
    - qmgr_queue_unthrottle
    - QMGR_QUEUE_THROTTLED
    - QMGR_QUEUE_READY
    linkageType: ''
    returnType: void
    signature: void qmgr_enable_queue(QMGR_QUEUE *queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/qmgr/qmgr_peer.c:82,1
    - Dst: QMGR_LIST_APPEND
      Src: /src/postfix/postfix/src/qmgr/qmgr_peer.c:85,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/qmgr/qmgr_peer.c:86,1
    - Dst: QMGR_LIST_INIT
      Src: /src/postfix/postfix/src/qmgr/qmgr_peer.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - job
    - queue
    argTypes:
    - QMGR_JOB*
    - QMGR_QUEUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: qmgr_peer_create
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_peer.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - htable_enter
    - QMGR_LIST_INIT
    - QMGR_LIST_APPEND
    linkageType: ''
    returnType: QMGR_PEER
    signature: QMGR_PEER *qmgr_peer_create(QMGR_JOB *job, QMGR_QUEUE *queue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_peer.c:104,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_peer.c:106,1
    - Dst: QMGR_LIST_UNLINK
      Src: /src/postfix/postfix/src/qmgr/qmgr_peer.c:108,1
    - Dst: htable_delete
      Src: /src/postfix/postfix/src/qmgr/qmgr_peer.c:109,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_peer.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - peer
    argTypes:
    - QMGR_PEER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: qmgr_peer_free
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_peer.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - myfree
    - QMGR_LIST_UNLINK
    - htable_delete
    linkageType: ''
    returnType: void
    signature: void qmgr_peer_free(QMGR_PEER *peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htable_find
      Src: /src/postfix/postfix/src/qmgr/qmgr_peer.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - job
    - queue
    argTypes:
    - QMGR_JOB*
    - QMGR_QUEUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: qmgr_peer_find
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_peer.c
    functionUses: 0
    functionsReached:
    - htable_find
    linkageType: ''
    returnType: QMGR_PEER
    signature: QMGR_PEER *qmgr_peer_find(QMGR_JOB *job, QMGR_QUEUE *queue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_peer_find
      Src: /src/postfix/postfix/src/qmgr/qmgr_peer.c:126,1
    - Dst: qmgr_peer_create
      Src: /src/postfix/postfix/src/qmgr/qmgr_peer.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - job
    - queue
    argTypes:
    - QMGR_JOB*
    - QMGR_QUEUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: qmgr_peer_obtain
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_peer.c
    functionUses: 1
    functionsReached:
    - qmgr_peer_create
    - qmgr_peer_find
    linkageType: ''
    returnType: QMGR_PEER
    signature: QMGR_PEER *qmgr_peer_obtain(QMGR_JOB *job, QMGR_QUEUE *queue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QMGR_LIST_ROTATE
      Src: /src/postfix/postfix/src/qmgr/qmgr_peer.c:145,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_peer.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - job
    argTypes:
    - QMGR_JOB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 154
    functionName: qmgr_peer_select
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_peer.c
    functionUses: 0
    functionsReached:
    - QMGR_LIST_ROTATE
    - msg_info
    linkageType: ''
    returnType: QMGR_PEER
    signature: QMGR_PEER *qmgr_peer_select(QMGR_JOB *job)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmgr/qmgr_move.c:66,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_move.c:67,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_move.c:69,1
    - Dst: scan_dir_open
      Src: /src/postfix/postfix/src/qmgr/qmgr_move.c:71,1
    - Dst: mail_scan_dir_next
      Src: /src/postfix/postfix/src/qmgr/qmgr_move.c:72,1
    - Dst: mail_queue_id_ok
      Src: /src/postfix/postfix/src/qmgr/qmgr_move.c:73,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/qmgr/qmgr_move.c:76,1
    - Dst: utime
      Src: /src/postfix/postfix/src/qmgr/qmgr_move.c:77,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_move.c:79,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_move.c:80,1
    - Dst: mail_queue_rename
      Src: /src/postfix/postfix/src/qmgr/qmgr_move.c:84,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_move.c:86,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_move.c:88,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_move.c:93,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_move.c:96,1
    - Dst: scan_dir_close
      Src: /src/postfix/postfix/src/qmgr/qmgr_move.c:100,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_move.c:103,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 3
    argNames:
    - src_queue
    - dst_queue
    - time_stamp
    argTypes:
    - char*
    - char*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 57
    functionDepth: 4
    functionLinenumber: 57
    functionLinenumberEnd: 104
    functionName: qmgr_move
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_move.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - msg_warn
    - scan_dir_close
    - mail_scan_dir_next
    - msg_info
    - scan_dir_open
    - strcmp
    - mail_queue_id_ok
    - msg_fatal
    - mail_queue_path
    - mail_queue_rename
    - utime
    linkageType: ''
    returnType: void
    signature: "void qmgr_move(const char *src_queue, const char *dst_queue,\n\t\t
      \         time_t time_stamp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QMGR_LIST_UNLINK
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:118,1
    - Dst: QMGR_LIST_APPEND
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:120,1
    - Dst: QMGR_LIST_UNLINK
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:122,1
    - Dst: BACK_TO_BACK_DELIVERY
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:154,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:156,1
    - Dst: CONCURRENT_OR_BACK_TO_BACK_DELIVERY
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:169,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:171,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - peer
    argTypes:
    - QMGR_PEER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 178
    functionName: qmgr_entry_select
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_entry.c
    functionUses: 0
    functionsReached:
    - CONCURRENT_OR_BACK_TO_BACK_DELIVERY
    - BACK_TO_BACK_DELIVERY
    - QMGR_LIST_APPEND
    - QMGR_LIST_UNLINK
    - msg_info
    linkageType: ''
    returnType: QMGR_ENTRY
    signature: QMGR_ENTRY *qmgr_entry_select(QMGR_PEER *peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: CONCURRENT_OR_BACK_TO_BACK_DELIVERY
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_entry.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONCURRENT_OR_BACK_TO_BACK_DELIVERY()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: BACK_TO_BACK_DELIVERY
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_entry.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BACK_TO_BACK_DELIVERY()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMGR_LIST_UNLINK
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:193,1
    - Dst: QMGR_LIST_APPEND
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:195,1
    - Dst: QMGR_LIST_PREPEND
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - QMGR_ENTRY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 199
    functionName: qmgr_entry_unselect
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_entry.c
    functionUses: 0
    functionsReached:
    - QMGR_LIST_UNLINK
    - QMGR_LIST_APPEND
    - QMGR_LIST_PREPEND
    linkageType: ''
    returnType: void
    signature: void qmgr_entry_unselect(QMGR_ENTRY *entry)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:215,1
    - Dst: QMGR_QUEUE_THROTTLED
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:216,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:217,1
    - Dst: QMGR_TRANSPORT_THROTTLED
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:218,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:219,1
    - Dst: qmgr_job_obtain
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:234,1
    - Dst: qmgr_peer_obtain
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:235,1
    - Dst: qmgr_entry_create
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:237,1
    - Dst: recipient_list_swap
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:239,1
    - Dst: qmgr_entry_done
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - dst_queue
    - entry
    argTypes:
    - QMGR_QUEUE*
    - QMGR_ENTRY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 245
    functionName: qmgr_entry_move_todo
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_entry.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - qmgr_job_obtain
    - recipient_list_swap
    - qmgr_peer_obtain
    - qmgr_entry_done
    - QMGR_TRANSPORT_THROTTLED
    - QMGR_QUEUE_THROTTLED
    - qmgr_entry_create
    linkageType: ''
    returnType: void
    signature: void qmgr_entry_move_todo(QMGR_QUEUE *dst_queue, QMGR_ENTRY *entry)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:262,1
    - Dst: QMGR_LIST_UNLINK
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:264,1
    - Dst: QMGR_LIST_UNLINK
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:267,1
    - Dst: QMGR_LIST_UNLINK
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:269,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:272,1
    - Dst: recipient_list_free
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:282,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:283,1
    - Dst: qmgr_job_move_limits
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:295,1
    - Dst: qmgr_job_move_limits
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:298,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:311,1
    - Dst: QMGR_QUEUE_THROTTLED
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:313,1
    - Dst: qmgr_queue_unthrottle
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:314,1
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:315,1
    - Dst: qmgr_queue_suspend
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:316,1
    - Dst: QMGR_QUEUE_SUSPENDED
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:318,1
    - Dst: qmgr_job_blocker_update
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:320,1
    - Dst: qmgr_peer_free
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:328,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:334,1
    - Dst: QMGR_QUEUE_THROTTLED
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:343,1
    - Dst: qmgr_queue_unthrottle
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:344,1
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:345,1
    - Dst: qmgr_queue_done
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:346,1
    - Dst: qmgr_active_done
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:355,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 53
    argCount: 2
    argNames:
    - entry
    - which
    argTypes:
    - QMGR_ENTRY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 356
    functionName: qmgr_entry_done
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_entry.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - recipient_list_free
    - qmgr_queue_suspend
    - qmgr_job_blocker_update
    - qmgr_active_done
    - qmgr_job_move_limits
    - QMGR_LIST_UNLINK
    - qmgr_queue_done
    - qmgr_peer_free
    - myfree
    - qmgr_queue_unthrottle
    - event_time
    - QMGR_QUEUE_THROTTLED
    - QMGR_QUEUE_READY
    - QMGR_QUEUE_SUSPENDED
    linkageType: ''
    returnType: void
    signature: void qmgr_entry_done(QMGR_ENTRY *entry, int which)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QMGR_QUEUE_THROTTLED
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:368,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:369,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:374,1
    - Dst: recipient_list_init
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:377,1
    - Dst: QMGR_LIST_APPEND
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:380,1
    - Dst: QMGR_LIST_APPEND
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:383,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:415,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:417,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:420,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:424,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:428,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:431,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:434,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:436,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:437,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:439,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:440,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:443,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:444,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_entry.c:445,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - peer
    - message
    argTypes:
    - QMGR_PEER*
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 451
    functionName: qmgr_entry_create
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_entry.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - msg_warn
    - QMGR_LIST_APPEND
    - recipient_list_init
    - event_time
    - QMGR_QUEUE_THROTTLED
    - mymalloc
    linkageType: ''
    returnType: QMGR_ENTRY
    signature: QMGR_ENTRY *qmgr_entry_create(QMGR_PEER *peer, QMGR_MESSAGE *message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bounce_append
      Src: /src/postfix/postfix/src/qmgr/qmgr_bounce.c:63,1
    - Dst: QMGR_MSG_STATS
      Src: /src/postfix/postfix/src/qmgr/qmgr_bounce.c:64,1
    - Dst: deliver_completed
      Src: /src/postfix/postfix/src/qmgr/qmgr_bounce.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - message
    - recipient
    - dsn
    argTypes:
    - QMGR_MESSAGE*
    - RECIPIENT*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: qmgr_bounce_recipient
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_bounce.c
    functionUses: 0
    functionsReached:
    - deliver_completed
    - QMGR_MSG_STATS
    - bounce_append
    linkageType: ''
    returnType: void
    signature: "void qmgr_bounce_recipient(QMGR_MESSAGE *message, RECIPIENT *recipient,\n\t\t\t
      \             DSN *dsn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: peekfd
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:114,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:114,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:115,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:115,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:117,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:118,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:120,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: qmgr_deliver_initial_reply
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_deliver.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - VSTREAM_PATH
    - attr_scan
    - RECV_ATTR_STREQ
    - vstream_fileno
    - peekfd
    linkageType: ''
    returnType: int
    signature: int qmgr_deliver_initial_reply(VSTREAM *stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: peekfd
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:133,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:133,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:134,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:134,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:136,1
    - Dst: RECV_ATTR_FUNC
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:137,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:138,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:140,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - stream
    - dsb
    argTypes:
    - VSTREAM*
    - DSN_BUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 145
    functionName: qmgr_deliver_final_reply
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_deliver.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - VSTREAM_PATH
    - RECV_ATTR_FUNC
    - attr_scan
    - vstream_fileno
    - peekfd
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: int qmgr_deliver_final_reply(VSTREAM *stream, DSN_BUF *dsb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: allascii
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:166,1
    - Dst: valid_utf8_stringz
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:166,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:180,1
    - Dst: verp_sender
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:181,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:183,1
    - Dst: QMGR_MSG_STATS
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:189,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:190,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:191,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:192,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:193,1
    - Dst: SEND_ATTR_LONG
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:194,1
    - Dst: SEND_ATTR_LONG
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:195,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:196,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:197,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:198,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:199,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:200,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:201,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:202,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:204,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:205,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:206,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:207,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:208,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:210,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:211,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:212,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:214,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:215,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:216,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:219,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:221,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:222,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:224,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:225,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:229,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - entry
    - stream
    argTypes:
    - QMGR_ENTRY*
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 232
    functionName: qmgr_deliver_send_request
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_deliver.c
    functionUses: 0
    functionsReached:
    - verp_sender
    - msg_warn
    - SEND_ATTR_INT
    - SEND_ATTR_STR
    - attr_print
    - vstring_alloc
    - vstring_free
    - vstream_fflush
    - msg_info
    - SEND_ATTR_LONG
    - SEND_ATTR_FUNC
    - vstring_str
    - valid_utf8_stringz
    - allascii
    - QMGR_MSG_STATS
    linkageType: ''
    returnType: int
    signature: int qmgr_deliver_send_request(QMGR_ENTRY *entry, VSTREAM *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: qmgr_deliver_abort
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_deliver.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void qmgr_deliver_abort(int unused_event, void *context)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dsb_create
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:269,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:274,1
    - Dst: qmgr_deliver_final_reply
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:283,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:298,1
    - Dst: qmgr_transport_throttle
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:300,1
    - Dst: DSN_SIMPLE
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:301,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:302,1
    - Dst: qmgr_transport_throttle
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:304,1
    - Dst: DSN_SIMPLE
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:305,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:308,1
    - Dst: QMGR_DELIVER_RELEASE_AGENT
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:324,1
    - Dst: qmgr_entry_unselect
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:325,1
    - Dst: qmgr_defer_transport
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:326,1
    - Dst: DSN_SIMPLE
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:345,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:348,1
    - Dst: dsn_valid
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:350,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:350,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:351,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:352,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:353,1
    - Dst: vstring_prepend
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:354,1
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:355,1
    - Dst: qmgr_queue_throttle
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:356,1
    - Dst: DSN_FROM_DSN_BUF
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:356,1
    - Dst: QMGR_QUEUE_THROTTLED
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:357,1
    - Dst: qmgr_defer_todo
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:358,1
    - Dst: qmgr_transport_unthrottle
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:368,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:369,1
    - Dst: qmgr_queue_unthrottle
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:370,1
    - Dst: QMGR_DELIVER_RELEASE_AGENT
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:378,1
    - Dst: qmgr_entry_done
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:379,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 380
    functionName: qmgr_deliver_update
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_deliver.c
    functionUses: 0
    functionsReached:
    - qmgr_entry_done
    - VSTRING_LEN
    - QMGR_DELIVER_RELEASE_AGENT
    - dsn_valid
    - qmgr_queue_unthrottle
    - qmgr_transport_unthrottle
    - QMGR_QUEUE_READY
    - qmgr_queue_throttle
    - QMGR_QUEUE_THROTTLED
    - concatenate
    - vstring_str
    - qmgr_defer_transport
    - DSN_FROM_DSN_BUF
    - myfree
    - DSN_SIMPLE
    - qmgr_entry_unselect
    - msg_warn
    - qmgr_transport_throttle
    - dsb_create
    - qmgr_deliver_final_reply
    - vstring_strcpy
    - vstring_prepend
    - event_cancel_timer
    - qmgr_defer_todo
    linkageType: ''
    returnType: void
    signature: void qmgr_deliver_update(int unused_event, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - entry
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 267
    functionName: QMGR_DELIVER_RELEASE_AGENT
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_deliver.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_DELIVER_RELEASE_AGENT(entry)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_deliver_initial_reply
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:396,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:398,1
    - Dst: qmgr_transport_throttle
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:400,1
    - Dst: DSN_SIMPLE
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:401,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:402,1
    - Dst: qmgr_transport_throttle
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:404,1
    - Dst: DSN_SIMPLE
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:405,1
    - Dst: qmgr_defer_transport
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:408,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:410,1
    - Dst: qmgr_job_entry_select
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:421,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:422,1
    - Dst: qmgr_deliver_send_request
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:432,1
    - Dst: qmgr_entry_unselect
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:433,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:435,1
    - Dst: qmgr_transport_throttle
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:437,1
    - Dst: DSN_SIMPLE
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:438,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:439,1
    - Dst: qmgr_transport_throttle
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:441,1
    - Dst: DSN_SIMPLE
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:442,1
    - Dst: qmgr_defer_transport
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:445,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:447,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:456,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:456,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/qmgr/qmgr_deliver.c:462,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - transport
    - stream
    argTypes:
    - QMGR_TRANSPORT*
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 463
    functionName: qmgr_deliver
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_deliver.c
    functionUses: 0
    functionsReached:
    - qmgr_deliver_send_request
    - event_request_timer
    - event_enable_read
    - qmgr_transport_throttle
    - vstream_fclose
    - myfree
    - DSN_SIMPLE
    - qmgr_job_entry_select
    - qmgr_entry_unselect
    - concatenate
    - qmgr_deliver_initial_reply
    - vstream_fileno
    - qmgr_defer_transport
    linkageType: ''
    returnType: void
    signature: void qmgr_deliver(QMGR_TRANSPORT *transport, VSTREAM *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - job
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: HAS_ENTRIES
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_job.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAS_ENTRIES(job)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - job
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: MIN_ENTRIES
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_job.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN_ENTRIES(job)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - job
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: MAX_ENTRIES
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_job.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX_ENTRIES(job)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - transport
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: RESET_CANDIDATE_CACHE
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_job.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESET_CANDIDATE_CACHE(transport)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - job
    - ','
    - transport
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: IS_BLOCKER
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_job.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_BLOCKER(job,transport)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:104,1
    - Dst: QMGR_LIST_APPEND
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:106,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:107,1
    - Dst: QMGR_LIST_INIT
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:109,1
    - Dst: QMGR_LIST_INIT
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:110,1
    - Dst: QMGR_LIST_INIT
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:112,1
    - Dst: QMGR_LIST_INIT
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:113,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:116,1
    - Dst: QMGR_LIST_INIT
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - message
    - transport
    argTypes:
    - QMGR_MESSAGE*
    - QMGR_TRANSPORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 125
    functionName: qmgr_job_create
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_job.c
    functionUses: 0
    functionsReached:
    - QMGR_LIST_APPEND
    - htable_create
    - htable_enter
    - QMGR_LIST_INIT
    - mymalloc
    linkageType: ''
    returnType: QMGR_JOB
    signature: QMGR_JOB *qmgr_job_create(QMGR_MESSAGE *message, QMGR_TRANSPORT *transport)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:140,1
    - Dst: QMGR_LIST_LINK
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:198,1
    - Dst: QMGR_LIST_LINK
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:199,1
    - Dst: qmgr_job_move_limits
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:215,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 1
    argNames:
    - job
    argTypes:
    - QMGR_JOB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 228
    functionName: qmgr_job_link
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_job.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - QMGR_LIST_LINK
    - qmgr_job_move_limits
    linkageType: ''
    returnType: void
    signature: void qmgr_job_link(QMGR_JOB *job)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htable_find
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - message
    - transport
    argTypes:
    - QMGR_MESSAGE*
    - QMGR_TRANSPORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: qmgr_job_find
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_job.c
    functionUses: 0
    functionsReached:
    - htable_find
    linkageType: ''
    returnType: QMGR_JOB
    signature: QMGR_JOB *qmgr_job_find(QMGR_MESSAGE *message, QMGR_TRANSPORT *transport)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_job_find
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:255,1
    - Dst: qmgr_job_create
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:256,1
    - Dst: qmgr_job_link
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:258,1
    - Dst: RESET_CANDIDATE_CACHE
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:268,1
    - Dst: IS_BLOCKER
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - message
    - transport
    argTypes:
    - QMGR_MESSAGE*
    - QMGR_TRANSPORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 274
    functionName: qmgr_job_obtain
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_job.c
    functionUses: 2
    functionsReached:
    - IS_BLOCKER
    - RESET_CANDIDATE_CACHE
    - qmgr_job_find
    - qmgr_job_link
    - qmgr_job_create
    linkageType: ''
    returnType: QMGR_JOB
    signature: QMGR_JOB *qmgr_job_obtain(QMGR_MESSAGE *message, QMGR_TRANSPORT *transport)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - job
    argTypes:
    - QMGR_JOB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 321
    functionName: qmgr_job_move_limits
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_job.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void qmgr_job_move_limits(QMGR_JOB *job)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QMGR_LIST_UNLINK
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:330,1
    - Dst: QMGR_LIST_APPEND
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - job
    - parent
    argTypes:
    - QMGR_JOB*
    - QMGR_JOB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 335
    functionName: qmgr_job_parent_gone
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_job.c
    functionUses: 0
    functionsReached:
    - QMGR_LIST_UNLINK
    - QMGR_LIST_APPEND
    linkageType: ''
    returnType: void
    signature: void qmgr_job_parent_gone(QMGR_JOB *job, QMGR_JOB *parent)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:348,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:350,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:352,1
    - Dst: qmgr_job_parent_gone
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:358,1
    - Dst: RESET_CANDIDATE_CACHE
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:371,1
    - Dst: QMGR_LIST_UNLINK
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:376,1
    - Dst: QMGR_LIST_UNLINK
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:377,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - job
    argTypes:
    - QMGR_JOB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 379
    functionName: qmgr_job_unlink
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_job.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - QMGR_LIST_UNLINK
    - RESET_CANDIDATE_CACHE
    - qmgr_job_parent_gone
    linkageType: ''
    returnType: void
    signature: void qmgr_job_unlink(QMGR_JOB *job)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:386,1
    - Dst: qmgr_job_pop
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:392,1
    - Dst: qmgr_job_move_limits
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:399,1
    - Dst: qmgr_job_unlink
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - job
    argTypes:
    - QMGR_JOB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 408
    functionName: qmgr_job_retire
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_job.c
    functionUses: 0
    functionsReached:
    - qmgr_job_pop
    - qmgr_job_unlink
    - qmgr_job_move_limits
    - msg_info
    linkageType: ''
    returnType: void
    signature: void qmgr_job_retire(QMGR_JOB *job)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:419,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:425,1
    - Dst: qmgr_job_pop
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:431,1
    - Dst: qmgr_job_move_limits
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:436,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:438,1
    - Dst: qmgr_job_unlink
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:445,1
    - Dst: QMGR_LIST_UNLINK
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:446,1
    - Dst: htable_delete
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:447,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:448,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - job
    argTypes:
    - QMGR_JOB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 450
    functionName: qmgr_job_free
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_job.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - htable_delete
    - qmgr_job_move_limits
    - qmgr_job_pop
    - QMGR_LIST_UNLINK
    - qmgr_job_unlink
    - htable_free
    - msg_info
    - myfree
    linkageType: ''
    returnType: void
    signature: void qmgr_job_free(QMGR_JOB *job)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RESET_CANDIDATE_CACHE
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - job
    argTypes:
    - QMGR_JOB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 480
    functionName: qmgr_job_count_slots
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_job.c
    functionUses: 0
    functionsReached:
    - RESET_CANDIDATE_CACHE
    linkageType: ''
    returnType: void
    signature: void qmgr_job_count_slots(QMGR_JOB *job)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sane_time
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:491,1
    - Dst: MIN_ENTRIES
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:515,1
    - Dst: IS_BLOCKER
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:539,1
    - Dst: MAX_ENTRIES
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:541,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 1
    argNames:
    - current
    argTypes:
    - QMGR_JOB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 568
    functionName: qmgr_job_candidate
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_job.c
    functionUses: 0
    functionsReached:
    - MIN_ENTRIES
    - IS_BLOCKER
    - MAX_ENTRIES
    - sane_time
    linkageType: ''
    returnType: QMGR_JOB
    signature: QMGR_JOB *qmgr_job_candidate(QMGR_JOB *current)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MAX_ENTRIES
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:588,1
    - Dst: qmgr_job_candidate
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:598,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:605,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:607,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:609,1
    - Dst: MAX_ENTRIES
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:621,1
    - Dst: qmgr_job_pop
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:635,1
    - Dst: QMGR_LIST_UNLINK
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:636,1
    - Dst: QMGR_LIST_LINK
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:638,1
    - Dst: QMGR_LIST_APPEND
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:640,1
    - Dst: RESET_CANDIDATE_CACHE
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:648,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:680,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - current
    argTypes:
    - QMGR_JOB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 684
    functionName: qmgr_job_preempt
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_job.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - QMGR_LIST_APPEND
    - qmgr_job_pop
    - QMGR_LIST_UNLINK
    - QMGR_LIST_LINK
    - RESET_CANDIDATE_CACHE
    - msg_info
    - qmgr_job_candidate
    - MAX_ENTRIES
    linkageType: ''
    returnType: QMGR_JOB
    signature: QMGR_JOB *qmgr_job_preempt(QMGR_JOB *current)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:695,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:701,1
    - Dst: QMGR_LIST_UNLINK
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:727,1
    - Dst: qmgr_job_parent_gone
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:735,1
    - Dst: RESET_CANDIDATE_CACHE
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:747,1
    - Dst: QMGR_LIST_UNLINK
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:758,1
    - Dst: QMGR_LIST_LINK
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:759,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - job
    argTypes:
    - QMGR_JOB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 764
    functionName: qmgr_job_pop
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_job.c
    functionUses: 3
    functionsReached:
    - msg_panic
    - qmgr_job_parent_gone
    - QMGR_LIST_UNLINK
    - QMGR_LIST_LINK
    - RESET_CANDIDATE_CACHE
    - msg_info
    linkageType: ''
    returnType: void
    signature: void qmgr_job_pop(QMGR_JOB *job)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sane_time
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:801,1
    - Dst: qmgr_message_realloc
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:802,1
    - Dst: HAS_ENTRIES
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:807,1
    - Dst: qmgr_peer_select
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:807,1
    - Dst: qmgr_message_realloc
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:820,1
    - Dst: HAS_ENTRIES
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:821,1
    - Dst: qmgr_peer_select
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:822,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 1
    argNames:
    - job
    argTypes:
    - QMGR_JOB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 825
    functionName: qmgr_job_peer_select
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_job.c
    functionUses: 0
    functionsReached:
    - HAS_ENTRIES
    - sane_time
    - qmgr_message_realloc
    - qmgr_peer_select
    linkageType: ''
    returnType: QMGR_PEER
    signature: QMGR_PEER *qmgr_job_peer_select(QMGR_JOB *job)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_job_preempt
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:848,1
    - Dst: IS_BLOCKER
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:872,1
    - Dst: qmgr_job_peer_select
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:875,1
    - Dst: qmgr_entry_select
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:881,1
    - Dst: qmgr_job_count_slots
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:882,1
    - Dst: HAS_ENTRIES
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:907,1
    - Dst: qmgr_job_retire
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:908,1
    - Dst: HAS_ENTRIES
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:914,1
    - Dst: qmgr_job_retire
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:934,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - transport
    argTypes:
    - QMGR_TRANSPORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 829
    functionDepth: 3
    functionLinenumber: 829
    functionLinenumberEnd: 946
    functionName: qmgr_job_entry_select
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_job.c
    functionUses: 1
    functionsReached:
    - qmgr_job_peer_select
    - IS_BLOCKER
    - qmgr_job_retire
    - HAS_ENTRIES
    - qmgr_job_count_slots
    - qmgr_job_preempt
    - qmgr_entry_select
    linkageType: ''
    returnType: QMGR_ENTRY
    signature: QMGR_ENTRY *qmgr_job_entry_select(QMGR_TRANSPORT *transport)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QMGR_QUEUE_THROTTLED
      Src: /src/postfix/postfix/src/qmgr/qmgr_job.c:975,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - queue
    argTypes:
    - QMGR_QUEUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 978
    functionName: qmgr_job_blocker_update
    functionSourceFile: /src/postfix/postfix/src/qmgr/qmgr_job.c
    functionUses: 2
    functionsReached:
    - QMGR_QUEUE_THROTTLED
    linkageType: ''
    returnType: void
    signature: void qmgr_job_blocker_update(QMGR_QUEUE *queue)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/oqmgr/qmgr_feedback.c:125,1
    - Dst: get_mail_conf_str
      Src: /src/postfix/postfix/src/oqmgr/qmgr_feedback.c:126,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/oqmgr/qmgr_feedback.c:142,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/oqmgr/qmgr_feedback.c:149,1
    - Dst: INCLUSIVE_BOUNDS
      Src: /src/postfix/postfix/src/oqmgr/qmgr_feedback.c:152,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/oqmgr/qmgr_feedback.c:153,1
    - Dst: INCLUSIVE_BOUNDS
      Src: /src/postfix/postfix/src/oqmgr/qmgr_feedback.c:154,1
    - Dst: INCLUSIVE_BOUNDS
      Src: /src/postfix/postfix/src/oqmgr/qmgr_feedback.c:164,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_feedback.c:165,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_feedback.c:166,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_feedback.c:175,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_feedback.c:176,1
    - Dst: QMGR_FEEDBACK_VAL
      Src: /src/postfix/postfix/src/oqmgr/qmgr_feedback.c:178,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_feedback.c:180,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_feedback.c:181,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 5
    argNames:
    - fb
    - name_prefix
    - name_tail
    - def_name
    - def_val
    argTypes:
    - QMGR_FEEDBACK*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 182
    functionName: qmgr_feedback_init
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_feedback.c
    functionUses: 1
    functionsReached:
    - INCLUSIVE_BOUNDS
    - name_code
    - msg_warn
    - msg_info
    - sscanf
    - myfree
    - get_mail_conf_str
    - strcmp
    - concatenate
    - QMGR_FEEDBACK_VAL
    linkageType: ''
    returnType: void
    signature: "void qmgr_feedback_init(QMGR_FEEDBACK *fb,\n\t\t\t           const
      char *name_prefix,\n\t\t\t           const char *name_tail,\n\t\t\t           const
      char *def_name,\n\t\t\t           const char *def_val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - val
    - ','
    - low
    - ','
    - high
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: INCLUSIVE_BOUNDS
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_feedback.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCLUSIVE_BOUNDS(val, low, high)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_transport_unthrottle
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: qmgr_transport_unthrottle_wrapper
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_transport.c
    functionUses: 0
    functionsReached:
    - qmgr_transport_unthrottle
    linkageType: ''
    returnType: void
    signature: void qmgr_transport_unthrottle_wrapper(int unused_event, void *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:195,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:198,1
    - Dst: dsn_free
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:200,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - transport
    argTypes:
    - QMGR_TRANSPORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 207
    functionName: qmgr_transport_unthrottle
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_transport.c
    functionUses: 5
    functionsReached:
    - msg_panic
    - event_cancel_timer
    - dsn_free
    - msg_info
    linkageType: ''
    returnType: void
    signature: void qmgr_transport_unthrottle(QMGR_TRANSPORT *transport)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:222,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:226,1
    - Dst: DSN_COPY
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:228,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - transport
    - dsn
    argTypes:
    - QMGR_TRANSPORT*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 232
    functionName: qmgr_transport_throttle
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_transport.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - event_request_timer
    - DSN_COPY
    - msg_info
    linkageType: ''
    returnType: void
    signature: void qmgr_transport_throttle(QMGR_TRANSPORT *transport, DSN *dsn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: qmgr_transport_abort
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_transport.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void qmgr_transport_abort(int unused_event, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMGR_TRANSPORT_ALLOC*::notify
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:249,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: qmgr_transport_rate_event
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_transport.c
    functionUses: 0
    functionsReached:
    - myfree
    - QMGR_TRANSPORT_ALLOC*::notify
    linkageType: ''
    returnType: void
    signature: void qmgr_transport_rate_event(int unused_event, void *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:264,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:269,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:276,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:276,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:277,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:277,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:286,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:288,1
    - Dst: QMGR_TRANSPORT_ALLOC*::notify
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:291,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 294
    functionName: qmgr_transport_event
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_transport.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - event_request_timer
    - msg_info
    - myfree
    - non_blocking
    - event_disable_readwrite
    - QMGR_TRANSPORT_ALLOC*::notify
    - vstream_fileno
    - event_cancel_timer
    linkageType: ''
    returnType: void
    signature: void qmgr_transport_event(int unused_event, void *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:323,1
    - Dst: MIN5af51743e4eef
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:325,1
    - Dst: QMGR_LIST_ROTATE
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:327,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:329,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 335
    functionName: qmgr_transport_select
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_transport.c
    functionUses: 1
    functionsReached:
    - QMGR_LIST_ROTATE
    - MIN5af51743e4eef
    - QMGR_QUEUE_READY
    - msg_info
    linkageType: ''
    returnType: QMGR_TRANSPORT
    signature: QMGR_TRANSPORT *qmgr_transport_select(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: MIN5af51743e4eef
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_transport.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN5af51743e4eef(x, y)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:347,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:349,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:351,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:379,1
    - Dst: mail_connect
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:383,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:385,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:387,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:394,1
    - Dst: CA_VSTREAM_CTL_DUPFD
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:395,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:398,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:398,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:404,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - transport
    - notify
    argTypes:
    - QMGR_TRANSPORT*
    - QMGR_TRANSPORT_ALLOC_NOTIFY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 339
    functionDepth: 3
    functionLinenumber: 339
    functionLinenumberEnd: 406
    functionName: qmgr_transport_alloc
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_transport.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - msg_warn
    - event_request_timer
    - mail_connect
    - event_enable_read
    - CA_VSTREAM_CTL_DUPFD
    - vstream_control
    - mymalloc
    - vstream_fileno
    linkageType: ''
    returnType: void
    signature: void qmgr_transport_alloc(QMGR_TRANSPORT *transport, QMGR_TRANSPORT_ALLOC_NOTIFY
      notify)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: htable_find
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:414,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:415,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:416,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:419,1
    - Dst: get_mail_conf_int2
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:425,1
    - Dst: get_mail_conf_int2
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:428,1
    - Dst: get_mail_conf_int2
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:431,1
    - Dst: get_mail_conf_time2
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:433,1
    - Dst: get_mail_conf_time2
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:436,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:446,1
    - Dst: QMGR_LIST_INIT
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:447,1
    - Dst: qmgr_feedback_init
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:449,1
    - Dst: qmgr_feedback_init
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:451,1
    - Dst: get_mail_conf_int2
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:454,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:457,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:458,1
    - Dst: QMGR_LIST_APPEND
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:459,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:461,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 410
    functionDepth: 4
    functionLinenumber: 410
    functionLinenumberEnd: 465
    functionName: qmgr_transport_create
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_transport.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - qmgr_feedback_init
    - get_mail_conf_time2
    - QMGR_LIST_APPEND
    - htable_create
    - msg_info
    - htable_enter
    - QMGR_LIST_INIT
    - mymalloc
    - mystrdup
    - htable_find
    - get_mail_conf_int2
    linkageType: ''
    returnType: QMGR_TRANSPORT
    signature: QMGR_TRANSPORT *qmgr_transport_create(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htable_find
      Src: /src/postfix/postfix/src/oqmgr/qmgr_transport.c:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: qmgr_transport_find
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_transport.c
    functionUses: 2
    functionsReached:
    - htable_find
    linkageType: ''
    returnType: QMGR_TRANSPORT
    signature: QMGR_TRANSPORT *qmgr_transport_find(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_scan_request
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:461,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - unused_event
    - dummy
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 463
    functionName: qmgr_deferred_run_event
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr.c
    functionUses: 1
    functionsReached:
    - qmgr_scan_request
    - event_request_timer
    linkageType: ''
    returnType: void
    signature: void qmgr_deferred_run_event(int unused_event, void *dummy)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:478,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:490,1
    - Dst: ISALNUM
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:491,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:510,1
    - Dst: qmgr_scan_request
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:521,1
    - Dst: qmgr_scan_request
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:523,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 4
    argNames:
    - buf
    - len
    - unused_service
    - argv
    argTypes:
    - char*
    - ssize_t
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 524
    functionName: qmgr_trigger_event
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr.c
    functionUses: 0
    functionsReached:
    - qmgr_scan_request
    - ISALNUM
    - msg_fatal
    - msg_info
    linkageType: ''
    returnType: void
    signature: "void qmgr_trigger_event(char *buf, ssize_t len,\n\t\t\t               char
      *unused_service, char **argv)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_active_drain
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:553,1
    - Dst: qmgr_scan_next
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:569,1
    - Dst: qmgr_active_feed
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:571,1
    - Dst: mail_flow_count
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:592,1
    - Dst: mail_flow_put
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:595,1
    - Dst: mail_flow_put
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:597,1
    - Dst: mail_flow_get
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:599,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 603
    functionName: qmgr_loop
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr.c
    functionUses: 0
    functionsReached:
    - qmgr_scan_next
    - mail_flow_get
    - qmgr_active_drain
    - mail_flow_put
    - mail_flow_count
    - qmgr_active_feed
    linkageType: ''
    returnType: int
    signature: int qmgr_loop(char *unused_name, char **unused_argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_changed_name
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:611,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:612,1
    - Dst: exit
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 615
    functionName: pre_accept
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr.c
    functionUses: 0
    functionsReached:
    - dict_changed_name
    - exit
    - msg_info
    linkageType: ''
    returnType: void
    signature: void pre_accept(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flush_init
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 619
    functionDepth: 2
    functionLinenumber: 619
    functionLinenumberEnd: 622
    functionName: qmgr_pre_init
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr.c
    functionUses: 0
    functionsReached:
    - flush_init
    linkageType: ''
    returnType: void
    signature: void qmgr_pre_init(char *unused_name, char **unused_argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:633,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:638,1
    - Dst: qmgr_move
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:660,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:660,1
    - Dst: qmgr_scan_create
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:661,1
    - Dst: qmgr_scan_create
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:662,1
    - Dst: qmgr_scan_request
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:663,1
    - Dst: qmgr_deferred_run_event
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:664,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 665
    functionName: qmgr_post_init
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - qmgr_scan_request
    - qmgr_scan_create
    - event_time
    - qmgr_move
    - qmgr_deferred_run_event
    linkageType: ''
    returnType: void
    signature: void qmgr_post_init(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trigger_server_main
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:724,1
    - Dst: CA_MAIL_SERVER_INT_TABLE
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:725,1
    - Dst: CA_MAIL_SERVER_STR_TABLE
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:726,1
    - Dst: CA_MAIL_SERVER_BOOL_TABLE
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:727,1
    - Dst: CA_MAIL_SERVER_TIME_TABLE
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:728,1
    - Dst: CA_MAIL_SERVER_PRE_INIT
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:729,1
    - Dst: CA_MAIL_SERVER_POST_INIT
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:730,1
    - Dst: CA_MAIL_SERVER_LOOP
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:731,1
    - Dst: CA_MAIL_SERVER_PRE_ACCEPT
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:732,1
    - Dst: CA_MAIL_SERVER_WATCHDOG
      Src: /src/postfix/postfix/src/oqmgr/qmgr.c:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 736
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr.c
    functionUses: 31
    functionsReached:
    - CA_MAIL_SERVER_WATCHDOG
    - CA_MAIL_SERVER_PRE_ACCEPT
    - CA_MAIL_SERVER_STR_TABLE
    - CA_MAIL_SERVER_POST_INIT
    - CA_MAIL_SERVER_LOOP
    - CA_MAIL_SERVER_INT_TABLE
    - CA_MAIL_SERVER_TIME_TABLE
    - trigger_server_main
    - CA_MAIL_SERVER_PRE_INIT
    - CA_MAIL_SERVER_BOOL_TABLE
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_scan.c:90,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_scan.c:97,1
    - Dst: scan_dir_open
      Src: /src/postfix/postfix/src/oqmgr/qmgr_scan.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - scan_info
    argTypes:
    - QMGR_SCAN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 108
    functionName: qmgr_scan_start
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_scan.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - scan_dir_open
    - msg_info
    linkageType: ''
    returnType: void
    signature: void qmgr_scan_start(QMGR_SCAN *scan_info)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_enable_all
      Src: /src/postfix/postfix/src/oqmgr/qmgr_scan.c:126,1
    - Dst: qmgr_scan_start
      Src: /src/postfix/postfix/src/oqmgr/qmgr_scan.c:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - scan_info
    - flags
    argTypes:
    - QMGR_SCAN*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 150
    functionName: qmgr_scan_request
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_scan.c
    functionUses: 6
    functionsReached:
    - qmgr_scan_start
    - qmgr_enable_all
    linkageType: ''
    returnType: void
    signature: void qmgr_scan_request(QMGR_SCAN *scan_info, int flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mail_scan_dir_next
      Src: /src/postfix/postfix/src/oqmgr/qmgr_scan.c:162,1
    - Dst: scan_dir_close
      Src: /src/postfix/postfix/src/oqmgr/qmgr_scan.c:163,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_scan.c:165,1
    - Dst: qmgr_scan_start
      Src: /src/postfix/postfix/src/oqmgr/qmgr_scan.c:168,1
    - Dst: mail_scan_dir_next
      Src: /src/postfix/postfix/src/oqmgr/qmgr_scan.c:169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - scan_info
    argTypes:
    - QMGR_SCAN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 172
    functionName: qmgr_scan_next
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_scan.c
    functionUses: 2
    functionsReached:
    - mail_scan_dir_next
    - qmgr_scan_start
    - scan_dir_close
    - msg_info
    linkageType: ''
    returnType: char
    signature: char *qmgr_scan_next(QMGR_SCAN *scan_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/oqmgr/qmgr_scan.c:180,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_scan.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - queue
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: qmgr_scan_create
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_scan.c
    functionUses: 2
    functionsReached:
    - mymalloc
    - mystrdup
    linkageType: ''
    returnType: QMGR_SCAN
    signature: QMGR_SCAN *qmgr_scan_create(const char *queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - object
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: QMGR_LIST_ROTATE
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_LIST_ROTATE(head, object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - type
    - ','
    - object
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: QMGR_LIST_UNLINK
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_LIST_UNLINK(head, type, object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - object
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: QMGR_LIST_APPEND
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_LIST_APPEND(head, object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - object
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: QMGR_LIST_PREPEND
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_LIST_PREPEND(head, object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: QMGR_LIST_INIT
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_LIST_INIT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fb
    - ','
    - win
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: QMGR_FEEDBACK_VAL
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_FEEDBACK_VAL(fb, win)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fb
    - ','
    - win
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: QMGR_FEEDBACK_VAL
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_FEEDBACK_VAL(fb, win)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: QMGR_TRANSPORT_THROTTLED
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_TRANSPORT_THROTTLED(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: QMGR_QUEUE_READY
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_QUEUE_READY(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: QMGR_QUEUE_THROTTLED
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_QUEUE_THROTTLED(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: QMGR_QUEUE_SUSPENDED
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_QUEUE_SUSPENDED(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    functionName: QMGR_QUEUE_SAVED
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_QUEUE_SAVED(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 249
    functionName: QMGR_QUEUE_BAD
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_QUEUE_BAD(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: QMGR_QUEUE_STATUS
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_QUEUE_STATUS(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stats
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: QMGR_MSG_STATS
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_MSG_STATS(stats, message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_defer.c:89,1
    - Dst: qmgr_defer_todo
      Src: /src/postfix/postfix/src/oqmgr/qmgr_defer.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - transport
    - dsn
    argTypes:
    - QMGR_TRANSPORT*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 99
    functionName: qmgr_defer_transport
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_defer.c
    functionUses: 2
    functionsReached:
    - qmgr_defer_todo
    - msg_info
    linkageType: ''
    returnType: void
    signature: void qmgr_defer_transport(QMGR_TRANSPORT *transport, DSN *dsn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_defer.c:116,1
    - Dst: qmgr_error_queue
      Src: /src/postfix/postfix/src/oqmgr/qmgr_defer.c:125,1
    - Dst: qmgr_entry_move_todo
      Src: /src/postfix/postfix/src/oqmgr/qmgr_defer.c:133,1
    - Dst: qmgr_defer_recipient
      Src: /src/postfix/postfix/src/oqmgr/qmgr_defer.c:139,1
    - Dst: qmgr_entry_done
      Src: /src/postfix/postfix/src/oqmgr/qmgr_defer.c:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - queue
    - dsn
    argTypes:
    - QMGR_QUEUE*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 143
    functionName: qmgr_defer_todo
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_defer.c
    functionUses: 3
    functionsReached:
    - qmgr_entry_done
    - msg_info
    - qmgr_entry_move_todo
    - qmgr_error_queue
    - qmgr_defer_recipient
    linkageType: ''
    returnType: void
    signature: void qmgr_defer_todo(QMGR_QUEUE *queue, DSN *dsn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: defer_append
      Src: /src/postfix/postfix/src/oqmgr/qmgr_defer.c:155,1
    - Dst: QMGR_MSG_STATS
      Src: /src/postfix/postfix/src/oqmgr/qmgr_defer.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - message
    - recipient
    - dsn
    argTypes:
    - QMGR_MESSAGE*
    - RECIPIENT*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 147
    functionDepth: 5
    functionLinenumber: 147
    functionLinenumberEnd: 158
    functionName: qmgr_defer_recipient
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_defer.c
    functionUses: 3
    functionsReached:
    - QMGR_MSG_STATS
    - defer_append
    linkageType: ''
    returnType: void
    signature: "void qmgr_defer_recipient(QMGR_MESSAGE *message, RECIPIENT *recipient,\n\t\t\t
      \            DSN *dsn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_transport_find
      Src: /src/postfix/postfix/src/oqmgr/qmgr_error.c:72,1
    - Dst: qmgr_transport_create
      Src: /src/postfix/postfix/src/oqmgr/qmgr_error.c:73,1
    - Dst: QMGR_TRANSPORT_THROTTLED
      Src: /src/postfix/postfix/src/oqmgr/qmgr_error.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - service
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: qmgr_error_transport
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_error.c
    functionUses: 2
    functionsReached:
    - qmgr_transport_find
    - qmgr_transport_create
    - QMGR_TRANSPORT_THROTTLED
    linkageType: ''
    returnType: QMGR_TRANSPORT
    signature: QMGR_TRANSPORT *qmgr_error_transport(const char *service)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_error_transport
      Src: /src/postfix/postfix/src/oqmgr/qmgr_error.c:94,1
    - Dst: qmgr_error_nexthop
      Src: /src/postfix/postfix/src/oqmgr/qmgr_error.c:100,1
    - Dst: qmgr_queue_find
      Src: /src/postfix/postfix/src/oqmgr/qmgr_error.c:101,1
    - Dst: qmgr_queue_create
      Src: /src/postfix/postfix/src/oqmgr/qmgr_error.c:102,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_error.c:103,1
    - Dst: QMGR_QUEUE_THROTTLED
      Src: /src/postfix/postfix/src/oqmgr/qmgr_error.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - service
    - dsn
    argTypes:
    - char*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 111
    functionName: qmgr_error_queue
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_error.c
    functionUses: 3
    functionsReached:
    - qmgr_queue_create
    - qmgr_error_nexthop
    - qmgr_queue_find
    - qmgr_error_transport
    - myfree
    - QMGR_QUEUE_THROTTLED
    linkageType: ''
    returnType: QMGR_QUEUE
    signature: QMGR_QUEUE *qmgr_error_queue(const char *service, DSN *dsn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/oqmgr/qmgr_error.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dsn
    argTypes:
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: qmgr_error_nexthop
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_error.c
    functionUses: 3
    functionsReached:
    - concatenate
    linkageType: ''
    returnType: char
    signature: char *qmgr_error_nexthop(DSN *dsn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:165,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:177,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:179,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:180,1
    - Dst: recipient_list_init
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 3
    argNames:
    - queue_name
    - queue_id
    - qflags
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 207
    functionName: qmgr_message_create
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_message.c
    functionUses: 1
    functionsReached:
    - mymalloc
    - mystrdup
    - GETTIMEOFDAY
    - recipient_list_init
    linkageType: ''
    returnType: QMGR_MESSAGE
    signature: "QMGR_MESSAGE *qmgr_message_create(const char *queue_name,\n\t\t\t\t
      \          const char *queue_id, int qflags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: qmgr_message_close
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_message.c
    functionUses: 4
    functionsReached:
    - vstream_fclose
    linkageType: ''
    returnType: void
    signature: void qmgr_message_close(QMGR_MESSAGE *message)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:226,1
    - Dst: mail_queue_open
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:232,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:236,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 219
    functionDepth: 4
    functionLinenumber: 219
    functionLinenumberEnd: 241
    functionName: qmgr_message_open
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_message.c
    functionUses: 4
    functionsReached:
    - msg_panic
    - msg_fatal
    - msg_warn
    - mail_queue_open
    linkageType: ''
    returnType: int
    signature: int qmgr_message_open(QMGR_MESSAGE *message)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:255,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:256,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:257,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:257,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:262,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:263,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:263,1
    - Dst: rec_get
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:273,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:277,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:279,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:284,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:285,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:285,1
    - Dst: atol
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:286,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:287,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:288,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:289,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:290,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:290,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:300,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:301,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:301,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:302,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:309,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 310
    functionName: qmgr_message_oldstyle_scan
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_message.c
    functionUses: 1
    functionsReached:
    - vstream_ftell
    - VSTREAM_PATH
    - vstring_str
    - vstream_fseek
    - vstring_alloc
    - msg_info
    - rec_get
    - atol
    - msg_fatal
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void qmgr_message_oldstyle_scan(QMGR_MESSAGE *message)
  - BBCount: 133
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:338,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:346,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:348,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:349,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:349,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:382,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:383,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:383,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:385,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:386,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:386,1
    - Dst: rec_get_raw
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:390,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:391,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:393,1
    - Dst: rec_goto
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:395,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:401,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:405,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:406,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:423,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:424,1
    - Dst: rec_attr_map
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:429,1
    - Dst: recipient_list_add
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:442,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:447,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:451,1
    - Dst: FUDGE
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:456,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:457,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:458,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:459,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:479,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:481,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:481,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:490,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:494,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:505,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:507,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:511,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:517,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:522,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:522,1
    - Dst: DSN_NOTIFY_OK
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:522,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:523,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:533,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:535,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:539,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:551,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:558,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:564,1
    - Dst: qmgr_message_oldstyle_scan
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:573,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:576,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:586,1
    - Dst: REC_TYPE_TIME_SCAN
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:595,1
    - Dst: atol
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:600,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:605,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:606,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:611,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:612,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:617,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:618,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:623,1
    - Dst: opened
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:624,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:633,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:634,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:638,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:638,1
    - Dst: DSN_RET_OK
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:638,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:639,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:646,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:648,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:649,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:666,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:668,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:669,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:671,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:672,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:674,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:675,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:677,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:678,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:680,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:683,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:685,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:686,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:688,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:690,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:691,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:693,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:695,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:696,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:698,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:700,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:701,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:703,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:705,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:706,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:708,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:710,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:712,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:714,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:716,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:718,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:720,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:722,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:724,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:726,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:728,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:730,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:732,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:734,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:736,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:745,1
    - Dst: DEL_REQ_TRACE_FLAGS
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:747,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:747,1
    - Dst: REC_TYPE_WARN_SCAN
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:761,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:768,1
    - Dst: verp_delims_verify
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:770,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:771,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:775,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:778,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:790,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:792,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:796,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:798,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:817,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:819,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:821,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:823,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:825,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:827,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:829,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:831,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:833,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:835,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:837,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:839,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:847,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:856,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:859,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:862,1
    CyclomaticComplexity: 177
    EdgeCount: 177
    ICount: 381
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 869
    functionName: qmgr_message_read
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_message.c
    functionUses: 2
    functionsReached:
    - split_nameval
    - rec_attr_map
    - msg_info
    - atoi
    - rec_goto
    - REC_TYPE_TIME_SCAN
    - DSN_NOTIFY_OK
    - msg_panic
    - VSTREAM_PATH
    - alldig
    - vstring_alloc
    - recipient_list_add
    - sscanf
    - vstring_str
    - qmgr_message_oldstyle_scan
    - verp_delims_verify
    - opened
    - DSN_RET_OK
    - rec_get_raw
    - myfree
    - atol
    - vstring_free
    - msg_warn
    - vstream_ftell
    - strchr
    - FUDGE
    - vstream_fseek
    - REC_TYPE_WARN_SCAN
    - DEL_REQ_TRACE_FLAGS
    - strcmp
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: int
    signature: int qmgr_message_read(QMGR_MESSAGE *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 441
    functionName: FUDGE
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_message.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUDGE(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_message_open
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:880,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:881,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:882,1
    - Dst: REC_TYPE_WARN_ARG
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:883,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:884,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:885,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:885,1
    - Dst: qmgr_message_close
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:886,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 873
    functionDepth: 3
    functionLinenumber: 873
    functionLinenumberEnd: 887
    functionName: qmgr_message_update_warn
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_message.c
    functionUses: 1
    functionsReached:
    - VSTREAM_PATH
    - vstream_fseek
    - vstream_fflush
    - rec_fprintf
    - REC_TYPE_WARN_ARG
    - qmgr_message_open
    - msg_fatal
    - qmgr_message_close
    linkageType: ''
    returnType: void
    signature: void qmgr_message_update_warn(QMGR_MESSAGE *message)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:894,1
    - Dst: qmgr_message_open
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:895,1
    - Dst: rec_put_type
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:896,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:897,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:898,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:898,1
    - Dst: qmgr_message_close
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:899,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - message
    - offset
    argTypes:
    - QMGR_MESSAGE*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 891
    functionDepth: 2
    functionLinenumber: 891
    functionLinenumberEnd: 900
    functionName: qmgr_message_kill_record
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_message.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - VSTREAM_PATH
    - vstream_fflush
    - rec_put_type
    - msg_fatal
    - qmgr_message_open
    - qmgr_message_close
    linkageType: ''
    returnType: void
    signature: void qmgr_message_kill_record(QMGR_MESSAGE *message, long offset)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:931,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:938,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:945,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:946,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:952,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:958,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 904
    functionDepth: 1
    functionLinenumber: 904
    functionLinenumberEnd: 959
    functionName: qmgr_message_sort_compare
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_message.c
    functionUses: 0
    functionsReached:
    - strrchr
    - strcmp
    - strcasecmp_utf8
    linkageType: ''
    returnType: int
    signature: int qmgr_message_sort_compare(const void *p1, const void *p2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:965,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:971,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:973,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:974,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 976
    functionName: qmgr_message_sort
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_message.c
    functionUses: 2
    functionsReached:
    - msg_info
    - qsort
    linkageType: ''
    returnType: void
    signature: void qmgr_message_sort(QMGR_MESSAGE *message)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: resolve_clnt_query_from
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:990,1
    - Dst: resolve_clnt_verify_from
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:992,1
    - Dst: QMGR_REDIRECT
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:994,1
    - Dst: QMGR_REDIRECT
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - message
    - recipient
    - addr
    - reply
    argTypes:
    - QMGR_MESSAGE*
    - RECIPIENT*
    - char*
    - RESOLVE_REPLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 980
    functionDepth: 1
    functionLinenumber: 980
    functionLinenumberEnd: 1004
    functionName: qmgr_resolve_one
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_message.c
    functionUses: 1
    functionsReached:
    - QMGR_REDIRECT
    - resolve_clnt_query_from
    - resolve_clnt_verify_from
    linkageType: ''
    returnType: int
    signature: "int qmgr_resolve_one(QMGR_MESSAGE *message, RECIPIENT *recipient,\n\t\t\t
      \           const char *addr, RESOLVE_REPLY *reply)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rp
    - ','
    - tp
    - ','
    - np
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 988
    functionName: QMGR_REDIRECT
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_message.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_REDIRECT(rp, tp, np)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: resolve_clnt_init
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1030,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1031,1
    - Dst: rewrite_clnt_internal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1045,1
    - Dst: RECIPIENT_UPDATE
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1047,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1047,1
    - Dst: qmgr_resolve_one
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1048,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1051,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1051,1
    - Dst: RECIPIENT_UPDATE
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1052,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1052,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1072,1
    - Dst: FILTER_WITHOUT_NEXTHOP
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1073,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1073,1
    - Dst: RCPT_WITHOUT_DOMAIN
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1075,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1077,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1078,1
    - Dst: if
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1086,1
    - Dst: qmgr_resolve_one
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1086,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1089,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1089,1
    - Dst: RECIPIENT_UPDATE
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1090,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1090,1
    - Dst: QMGR_REDIRECT
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1099,1
    - Dst: QMGR_REDIRECT
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1114,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1128,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1128,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1129,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1130,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1130,1
    - Dst: strncasecmp_utf8
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1131,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1131,1
    - Dst: sent
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1134,1
    - Dst: QMGR_MSG_STATS
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1135,1
    - Dst: DSN_SIMPLE
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1136,1
    - Dst: deliver_completed
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1139,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1142,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1157,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1159,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1159,1
    - Dst: QMGR_REDIRECT
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1162,1
    - Dst: QMGR_REDIRECT
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1172,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1178,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1178,1
    - Dst: qmgr_transport_find
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1179,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1179,1
    - Dst: qmgr_transport_create
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1180,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1180,1
    - Dst: QMGR_TRANSPORT_THROTTLED
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1189,1
    - Dst: qmgr_transport_unthrottle
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1190,1
    - Dst: QMGR_TRANSPORT_THROTTLED
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1195,1
    - Dst: qmgr_error_transport
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1197,1
    - Dst: qmgr_error_nexthop
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1198,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1199,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1200,1
    - Dst: qmgr_defer_recipient
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1203,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1241,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1241,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1242,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1243,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1246,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1246,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1247,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1248,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1248,1
    - Dst: vstring_strncpy
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1249,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1249,1
    - Dst: split_addr
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1251,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1251,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1252,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1252,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1252,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1254,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1254,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1256,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1256,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1262,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1262,1
    - Dst: qmgr_queue_find
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1263,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1263,1
    - Dst: qmgr_queue_create
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1264,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1264,1
    - Dst: STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1265,1
    - Dst: QMGR_QUEUE_THROTTLED
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1272,1
    - Dst: qmgr_queue_unthrottle
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1273,1
    - Dst: QMGR_QUEUE_THROTTLED
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1278,1
    - Dst: qmgr_error_queue
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1280,1
    - Dst: qmgr_defer_recipient
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1281,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 100
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1008
    functionDepth: 3
    functionLinenumber: 1008
    functionLinenumberEnd: 1290
    functionName: qmgr_message_resolve
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_message.c
    functionUses: 2
    functionsReached:
    - vstring_truncate
    - QMGR_REDIRECT
    - qmgr_transport_create
    - vstring_strncpy
    - qmgr_error_nexthop
    - qmgr_queue_unthrottle
    - qmgr_transport_unthrottle
    - qmgr_error_queue
    - rewrite_clnt_internal
    - sent
    - RCPT_WITHOUT_DOMAIN
    - strlen
    - strncasecmp_utf8
    - vstring_alloc
    - resolve_clnt_init
    - if
    - QMGR_QUEUE_THROTTLED
    - RECIPIENT_UPDATE
    - qmgr_transport_find
    - FILTER_WITHOUT_NEXTHOP
    - split_addr
    - qmgr_queue_create
    - QMGR_TRANSPORT_THROTTLED
    - qmgr_resolve_one
    - DSN_SIMPLE
    - qmgr_error_transport
    - myfree
    - STREQ
    - argv_split
    - vstring_sprintf_append
    - qmgr_defer_recipient
    - lowercase
    - strrchr
    - msg_warn
    - deliver_completed
    - qmgr_queue_find
    - strcmp
    - vstring_strcpy
    - QMGR_MSG_STATS
    - STR
    linkageType: ''
    returnType: void
    signature: void qmgr_message_resolve(QMGR_MESSAGE *message)
  - 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: 1027
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1027
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_message.c
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - filter
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1065
    functionName: FILTER_WITHOUT_NEXTHOP
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_message.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_WITHOUT_NEXTHOP(filter, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rcpt
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1068
    functionName: RCPT_WITHOUT_DOMAIN
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_message.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RCPT_WITHOUT_DOMAIN(rcpt, next)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIMIT_OK
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1318,1
    - Dst: qmgr_entry_create
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1320,1
    - Dst: recipient_list_add
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1322,1
    - Dst: recipient_list_free
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1328,1
    - Dst: recipient_list_init
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1329,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1297
    functionDepth: 2
    functionLinenumber: 1297
    functionLinenumberEnd: 1330
    functionName: qmgr_message_assign
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_message.c
    functionUses: 2
    functionsReached:
    - recipient_list_free
    - recipient_list_init
    - recipient_list_add
    - LIMIT_OK
    - qmgr_entry_create
    linkageType: ''
    returnType: void
    signature: void qmgr_message_assign(QMGR_MESSAGE *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - limit
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1314
    functionName: LIMIT_OK
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_message.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIMIT_OK(limit, count)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1337,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1339,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1340,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1341,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1343,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1345,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1347,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1349,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1351,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1353,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1355,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1357,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1359,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1361,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1363,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1365,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1367,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1369,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1371,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1373,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1375,1
    - Dst: recipient_list_free
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1376,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1380,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1381
    functionName: qmgr_message_free
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_message.c
    functionUses: 3
    functionsReached:
    - msg_panic
    - recipient_list_free
    - myfree
    linkageType: ''
    returnType: void
    signature: void qmgr_message_free(QMGR_MESSAGE *message)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1393,1
    - Dst: qmgr_message_create
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1398,1
    - Dst: qmgr_message_open
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1406,1
    - Dst: qmgr_message_free
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1407,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1410,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1410,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1411,1
    - Dst: qmgr_message_close
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1412,1
    - Dst: qmgr_message_free
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1413,1
    - Dst: qmgr_message_read
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1416,1
    - Dst: qmgr_message_close
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1417,1
    - Dst: qmgr_message_free
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1418,1
    - Dst: fchmod
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1426,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1426,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1427,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1427,1
    - Dst: stat
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1440,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1440,1
    - Dst: qmgr_message_close
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1444,1
    - Dst: mail_queue_remove
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1459,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1460,1
    - Dst: qmgr_message_sort
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1462,1
    - Dst: qmgr_message_resolve
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1463,1
    - Dst: qmgr_message_sort
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1464,1
    - Dst: qmgr_message_assign
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1465,1
    - Dst: qmgr_message_close
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1466,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 4
    argNames:
    - queue_name
    - queue_id
    - qflags
    - mode
    argTypes:
    - char*
    - char*
    - int
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1385
    functionDepth: 4
    functionLinenumber: 1385
    functionLinenumberEnd: 1469
    functionName: qmgr_message_alloc
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_message.c
    functionUses: 1
    functionsReached:
    - stat
    - myflock
    - VSTREAM_PATH
    - qmgr_message_free
    - qmgr_message_create
    - msg_info
    - fchmod
    - mail_queue_path
    - qmgr_message_assign
    - qmgr_message_resolve
    - mail_queue_remove
    - qmgr_message_sort
    - qmgr_message_open
    - qmgr_message_read
    - msg_fatal
    - vstream_fileno
    - qmgr_message_close
    linkageType: ''
    returnType: QMGR_MESSAGE
    signature: "QMGR_MESSAGE *qmgr_message_alloc(const char *queue_name, const char
      *queue_id,\n\t\t\t\t         int qflags, mode_t mode)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1481,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1483,1
    - Dst: qmgr_message_open
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1490,1
    - Dst: qmgr_message_read
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1492,1
    - Dst: qmgr_message_close
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1493,1
    - Dst: qmgr_message_sort
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1496,1
    - Dst: qmgr_message_resolve
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1497,1
    - Dst: qmgr_message_sort
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1498,1
    - Dst: qmgr_message_assign
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1499,1
    - Dst: qmgr_message_close
      Src: /src/postfix/postfix/src/oqmgr/qmgr_message.c:1500,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1473
    functionDepth: 1
    functionLinenumber: 1473
    functionLinenumberEnd: 1503
    functionName: qmgr_message_realloc
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_message.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - msg_info
    - qmgr_message_assign
    - qmgr_message_sort
    - qmgr_message_open
    - qmgr_message_read
    - qmgr_message_resolve
    - qmgr_message_close
    linkageType: ''
    returnType: QMGR_MESSAGE
    signature: QMGR_MESSAGE *qmgr_message_realloc(QMGR_MESSAGE *message)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mail_queue_rename
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:141,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:143,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - queue_id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: qmgr_active_corrupt
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_active.c
    functionUses: 2
    functionsReached:
    - msg_fatal
    - msg_warn
    - mail_queue_rename
    linkageType: ''
    returnType: void
    signature: void qmgr_active_corrupt(const char *queue_id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:161,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:163,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:164,1
    - Dst: utime
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:165,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:166,1
    - Dst: mail_queue_rename
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:167,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:169,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:171,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - queue_name
    - queue_id
    - dest_queue
    - delay
    argTypes:
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 176
    functionName: qmgr_active_defer
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_active.c
    functionUses: 2
    functionsReached:
    - msg_warn
    - msg_info
    - event_time
    - msg_fatal
    - mail_queue_path
    - mail_queue_rename
    - utime
    linkageType: ''
    returnType: void
    signature: "void qmgr_active_defer(const char *queue_name, const char *queue_id,\n\t\t\t
      \             const char *dest_queue, int delay)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:187,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:188,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:190,1
    - Dst: mail_open_ok
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:195,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:199,1
    - Dst: time
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:206,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:208,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:209,1
    - Dst: mail_queue_rename
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:216,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:218,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:220,1
    - Dst: qmgr_message_alloc
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:248,1
    - Dst: MAYBE_FLUSH_AFTER
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:250,1
    - Dst: MAYBE_FORCE_EXPIRE
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:251,1
    - Dst: MAYBE_UPDATE_MODE
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:252,1
    - Dst: qmgr_active_corrupt
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:253,1
    - Dst: qmgr_active_defer
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:256,1
    - Dst: qmgr_active_done
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:265,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - scan_info
    - queue_id
    argTypes:
    - QMGR_SCAN*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 268
    functionName: qmgr_active_feed
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_active.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - qmgr_active_defer
    - msg_warn
    - MAYBE_FORCE_EXPIRE
    - qmgr_active_corrupt
    - qmgr_active_done
    - time
    - msg_info
    - event_time
    - MAYBE_UPDATE_MODE
    - strcmp
    - mail_open_ok
    - qmgr_message_alloc
    - MAYBE_FLUSH_AFTER
    - msg_fatal
    - mail_queue_rename
    linkageType: ''
    returnType: int
    signature: int qmgr_active_feed(QMGR_SCAN *scan_info, const char *queue_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: MAYBE_FLUSH_AFTER
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_active.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAYBE_FLUSH_AFTER(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: MAYBE_FORCE_EXPIRE
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_active.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAYBE_FORCE_EXPIRE(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: MAYBE_UPDATE_MODE
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_active.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAYBE_UPDATE_MODE(mode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:278,1
    - Dst: stat
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:300,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:300,1
    - Dst: mail_queue_remove
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:302,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:303,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:307,1
    - Dst: abounce_flush
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:309,1
    - Dst: abounce_flush_verp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:320,1
    - Dst: qmgr_active_done_2_generic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:338,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 272
    functionDepth: 4
    functionLinenumber: 272
    functionLinenumberEnd: 339
    functionName: qmgr_active_done
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_active.c
    functionUses: 4
    functionsReached:
    - stat
    - abounce_flush
    - qmgr_active_done_2_generic
    - msg_info
    - mail_queue_remove
    - abounce_flush_verp
    - msg_fatal
    - mail_queue_path
    linkageType: ''
    returnType: void
    signature: void qmgr_active_done(QMGR_MESSAGE *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_active_done_2_generic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - status
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 352
    functionName: qmgr_active_done_2_bounce_flush
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_active.c
    functionUses: 0
    functionsReached:
    - qmgr_active_done_2_generic
    linkageType: ''
    returnType: void
    signature: void qmgr_active_done_2_bounce_flush(int status, void *context)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mail_open_ok
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:366,1
    - Dst: qmgr_active_corrupt
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:367,1
    - Dst: qmgr_message_free
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:368,1
    - Dst: qmgr_message_realloc
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:381,1
    - Dst: qmgr_active_corrupt
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:382,1
    - Dst: qmgr_message_free
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:383,1
    - Dst: qmgr_active_done
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:386,1
    - Dst: atrace_flush
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:405,1
    - Dst: qmgr_active_done_25_generic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:421,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 356
    functionDepth: 4
    functionLinenumber: 356
    functionLinenumberEnd: 422
    functionName: qmgr_active_done_2_generic
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_active.c
    functionUses: 4
    functionsReached:
    - qmgr_message_free
    - qmgr_active_done
    - qmgr_active_corrupt
    - qmgr_message_realloc
    - mail_open_ok
    - atrace_flush
    - qmgr_active_done_25_generic
    linkageType: ''
    returnType: void
    signature: void qmgr_active_done_2_generic(QMGR_MESSAGE *message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_message_kill_record
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:434,1
    - Dst: qmgr_active_done_25_generic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - status
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 437
    functionName: qmgr_active_done_25_trace_flush
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_active.c
    functionUses: 0
    functionsReached:
    - qmgr_message_kill_record
    - qmgr_active_done_25_generic
    linkageType: ''
    returnType: void
    signature: void qmgr_active_done_25_trace_flush(int status, void *context)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: event_time
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:456,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:463,1
    - Dst: info_log_addr_form_sender
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:464,1
    - Dst: adefer_flush
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:467,1
    - Dst: adefer_flush_verp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:478,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:491,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:493,1
    - Dst: adefer_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:494,1
    - Dst: qmgr_active_done_3_generic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:511,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 441
    functionDepth: 4
    functionLinenumber: 441
    functionLinenumberEnd: 512
    functionName: qmgr_active_done_25_generic
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_active.c
    functionUses: 4
    functionsReached:
    - info_log_addr_form_sender
    - msg_info
    - event_time
    - adefer_flush_verp
    - adefer_warn
    - adefer_flush
    - qmgr_active_done_3_generic
    linkageType: ''
    returnType: void
    signature: void qmgr_active_done_25_generic(QMGR_MESSAGE *message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_message_update_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:524,1
    - Dst: qmgr_active_done_3_generic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - status
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 526
    functionName: qmgr_active_done_3_defer_warn
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_active.c
    functionUses: 0
    functionsReached:
    - qmgr_message_update_warn
    - qmgr_active_done_3_generic
    linkageType: ''
    returnType: void
    signature: void qmgr_active_done_3_defer_warn(int status, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_active_done_3_generic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - status
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 539
    functionName: qmgr_active_done_3_defer_flush
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_active.c
    functionUses: 0
    functionsReached:
    - qmgr_active_done_3_generic
    linkageType: ''
    returnType: void
    signature: void qmgr_active_done_3_defer_flush(int status, void *context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: event_time
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:561,1
    - Dst: qmgr_active_defer
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:569,1
    - Dst: mail_queue_remove
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:577,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:579,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:581,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:585,1
    - Dst: qmgr_message_free
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:592,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - message
    argTypes:
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 543
    functionDepth: 4
    functionLinenumber: 543
    functionLinenumberEnd: 593
    functionName: qmgr_active_done_3_generic
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_active.c
    functionUses: 6
    functionsReached:
    - qmgr_active_defer
    - msg_warn
    - qmgr_message_free
    - msg_info
    - event_time
    - mail_queue_remove
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void qmgr_active_done_3_generic(QMGR_MESSAGE *message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_transport_select
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:605,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:607,1
    - Dst: qmgr_transport_alloc
      Src: /src/postfix/postfix/src/oqmgr/qmgr_active.c:608,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 610
    functionName: qmgr_active_drain
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_active.c
    functionUses: 2
    functionsReached:
    - qmgr_transport_select
    - qmgr_transport_alloc
    - msg_info
    linkageType: ''
    returnType: void
    signature: void qmgr_active_drain(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - queue
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: QMGR_ERROR_OR_RETRY_QUEUE
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_queue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_ERROR_OR_RETRY_QUEUE(queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - feedback
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: QMGR_LOG_FEEDBACK
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_queue.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_LOG_FEEDBACK(feedback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - queue
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: QMGR_LOG_WINDOW
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_queue.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_LOG_WINDOW(queue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QMGR_QUEUE_SUSPENDED
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:138,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:139,1
    - Dst: QMGR_QUEUE_STATUS
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:139,1
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:154,1
    - Dst: qmgr_queue_done
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 156
    functionName: qmgr_queue_resume
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_queue.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - qmgr_queue_done
    - QMGR_QUEUE_READY
    - QMGR_QUEUE_STATUS
    - QMGR_QUEUE_SUSPENDED
    linkageType: ''
    returnType: void
    signature: void qmgr_queue_resume(int event, void *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:167,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:168,1
    - Dst: QMGR_QUEUE_STATUS
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:168,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:170,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - queue
    - delay
    argTypes:
    - QMGR_QUEUE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 178
    functionName: qmgr_queue_suspend
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_queue.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - QMGR_QUEUE_STATUS
    - event_request_timer
    - QMGR_QUEUE_READY
    linkageType: ''
    returnType: void
    signature: void qmgr_queue_suspend(QMGR_QUEUE *queue, int delay)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_queue_unthrottle
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:191,1
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:192,1
    - Dst: qmgr_queue_done
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: qmgr_queue_unthrottle_wrapper
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_queue.c
    functionUses: 0
    functionsReached:
    - qmgr_queue_unthrottle
    - qmgr_queue_done
    - QMGR_QUEUE_READY
    linkageType: ''
    returnType: void
    signature: void qmgr_queue_unthrottle_wrapper(int unused_event, void *context)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:205,1
    - Dst: QMGR_QUEUE_THROTTLED
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:210,1
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:210,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:211,1
    - Dst: QMGR_QUEUE_STATUS
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:211,1
    - Dst: QMGR_QUEUE_THROTTLED
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:225,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:226,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:228,1
    - Dst: dsn_free
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:229,1
    - Dst: QMGR_LOG_WINDOW
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:237,1
    - Dst: QMGR_FEEDBACK_VAL
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:259,1
    - Dst: QMGR_LOG_FEEDBACK
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:260,1
    - Dst: QMGR_LOG_WINDOW
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:273,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 1
    argNames:
    - queue
    argTypes:
    - QMGR_QUEUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 274
    functionName: qmgr_queue_unthrottle
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_queue.c
    functionUses: 7
    functionsReached:
    - msg_panic
    - dsn_free
    - QMGR_LOG_FEEDBACK
    - event_cancel_timer
    - msg_info
    - QMGR_QUEUE_THROTTLED
    - QMGR_LOG_WINDOW
    - QMGR_QUEUE_READY
    - QMGR_QUEUE_STATUS
    - QMGR_FEEDBACK_VAL
    linkageType: ''
    returnType: void
    signature: void qmgr_queue_unthrottle(QMGR_QUEUE *queue)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:287,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:288,1
    - Dst: QMGR_QUEUE_STATUS
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:288,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:290,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:293,1
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:308,1
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:324,1
    - Dst: QMGR_FEEDBACK_VAL
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:325,1
    - Dst: QMGR_LOG_FEEDBACK
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:326,1
    - Dst: QMGR_QUEUE_THROTTLED
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:342,1
    - Dst: DSN_COPY
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:343,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:344,1
    - Dst: QMGR_LOG_WINDOW
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:348,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - queue
    - dsn
    argTypes:
    - QMGR_QUEUE*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 349
    functionName: qmgr_queue_throttle
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_queue.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - QMGR_LOG_FEEDBACK
    - event_request_timer
    - DSN_COPY
    - msg_info
    - QMGR_QUEUE_THROTTLED
    - QMGR_LOG_WINDOW
    - QMGR_QUEUE_READY
    - QMGR_QUEUE_STATUS
    - QMGR_FEEDBACK_VAL
    linkageType: ''
    returnType: void
    signature: void qmgr_queue_throttle(QMGR_QUEUE *queue, DSN *dsn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QMGR_LIST_ROTATE
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:363,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - transport
    argTypes:
    - QMGR_TRANSPORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 370
    functionName: qmgr_queue_select
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_queue.c
    functionUses: 0
    functionsReached:
    - QMGR_LIST_ROTATE
    - msg_info
    linkageType: ''
    returnType: QMGR_QUEUE
    signature: QMGR_QUEUE *qmgr_queue_select(QMGR_TRANSPORT *transport)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:384,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:387,1
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:388,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:389,1
    - Dst: QMGR_QUEUE_STATUS
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:389,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:391,1
    - Dst: QMGR_LIST_UNLINK
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:397,1
    - Dst: htable_delete
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:398,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:399,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:400,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:402,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - queue
    argTypes:
    - QMGR_QUEUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 403
    functionName: qmgr_queue_done
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_queue.c
    functionUses: 6
    functionsReached:
    - msg_panic
    - htable_delete
    - QMGR_LIST_UNLINK
    - myfree
    - QMGR_QUEUE_READY
    - QMGR_QUEUE_STATUS
    linkageType: ''
    returnType: void
    signature: void qmgr_queue_done(QMGR_QUEUE *queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:417,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:421,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:422,1
    - Dst: QMGR_LIST_INIT
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:428,1
    - Dst: QMGR_LIST_INIT
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:429,1
    - Dst: QMGR_LIST_PREPEND
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:432,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 3
    argNames:
    - transport
    - name
    - nexthop
    argTypes:
    - QMGR_TRANSPORT*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 435
    functionName: qmgr_queue_create
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_queue.c
    functionUses: 4
    functionsReached:
    - QMGR_LIST_PREPEND
    - htable_enter
    - QMGR_LIST_INIT
    - mymalloc
    - mystrdup
    linkageType: ''
    returnType: QMGR_QUEUE
    signature: "QMGR_QUEUE *qmgr_queue_create(QMGR_TRANSPORT *transport, const char
      *name,\n\t\t\t              const char *nexthop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htable_find
      Src: /src/postfix/postfix/src/oqmgr/qmgr_queue.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - transport
    - name
    argTypes:
    - QMGR_TRANSPORT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: qmgr_queue_find
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_queue.c
    functionUses: 4
    functionsReached:
    - htable_find
    linkageType: ''
    returnType: QMGR_QUEUE
    signature: QMGR_QUEUE *qmgr_queue_find(QMGR_TRANSPORT *transport, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_enable.c:65,1
    - Dst: qmgr_enable_transport
      Src: /src/postfix/postfix/src/oqmgr/qmgr_enable.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: qmgr_enable_all
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_enable.c
    functionUses: 2
    functionsReached:
    - qmgr_enable_transport
    - msg_info
    linkageType: ''
    returnType: void
    signature: void qmgr_enable_all(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_enable.c:87,1
    - Dst: qmgr_transport_unthrottle
      Src: /src/postfix/postfix/src/oqmgr/qmgr_enable.c:88,1
    - Dst: qmgr_enable_queue
      Src: /src/postfix/postfix/src/oqmgr/qmgr_enable.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - transport
    argTypes:
    - QMGR_TRANSPORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 94
    functionName: qmgr_enable_transport
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_enable.c
    functionUses: 2
    functionsReached:
    - qmgr_transport_unthrottle
    - qmgr_enable_queue
    - msg_info
    linkageType: ''
    returnType: void
    signature: void qmgr_enable_transport(QMGR_TRANSPORT *transport)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QMGR_QUEUE_THROTTLED
      Src: /src/postfix/postfix/src/oqmgr/qmgr_enable.c:100,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_enable.c:102,1
    - Dst: qmgr_queue_unthrottle
      Src: /src/postfix/postfix/src/oqmgr/qmgr_enable.c:103,1
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/oqmgr/qmgr_enable.c:105,1
    - Dst: qmgr_queue_done
      Src: /src/postfix/postfix/src/oqmgr/qmgr_enable.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - queue
    argTypes:
    - QMGR_QUEUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: qmgr_enable_queue
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_enable.c
    functionUses: 2
    functionsReached:
    - qmgr_queue_done
    - msg_info
    - qmgr_queue_unthrottle
    - QMGR_QUEUE_THROTTLED
    - QMGR_QUEUE_READY
    linkageType: ''
    returnType: void
    signature: void qmgr_enable_queue(QMGR_QUEUE *queue)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/oqmgr/qmgr_move.c:66,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_move.c:67,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_move.c:69,1
    - Dst: scan_dir_open
      Src: /src/postfix/postfix/src/oqmgr/qmgr_move.c:71,1
    - Dst: mail_scan_dir_next
      Src: /src/postfix/postfix/src/oqmgr/qmgr_move.c:72,1
    - Dst: mail_queue_id_ok
      Src: /src/postfix/postfix/src/oqmgr/qmgr_move.c:73,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/oqmgr/qmgr_move.c:76,1
    - Dst: utime
      Src: /src/postfix/postfix/src/oqmgr/qmgr_move.c:77,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_move.c:79,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_move.c:80,1
    - Dst: mail_queue_rename
      Src: /src/postfix/postfix/src/oqmgr/qmgr_move.c:84,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_move.c:86,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_move.c:88,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_move.c:93,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_move.c:96,1
    - Dst: scan_dir_close
      Src: /src/postfix/postfix/src/oqmgr/qmgr_move.c:100,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_move.c:103,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 3
    argNames:
    - src_queue
    - dst_queue
    - time_stamp
    argTypes:
    - char*
    - char*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 57
    functionDepth: 4
    functionLinenumber: 57
    functionLinenumberEnd: 104
    functionName: qmgr_move
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_move.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - msg_warn
    - scan_dir_close
    - mail_scan_dir_next
    - msg_info
    - scan_dir_open
    - strcmp
    - mail_queue_id_ok
    - msg_fatal
    - mail_queue_path
    - mail_queue_rename
    - utime
    linkageType: ''
    returnType: void
    signature: "void qmgr_move(const char *src_queue, const char *dst_queue,\n\t\t
      \         time_t time_stamp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QMGR_LIST_UNLINK
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:108,1
    - Dst: QMGR_LIST_APPEND
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:110,1
    - Dst: BACK_TO_BACK_DELIVERY
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:142,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:144,1
    - Dst: CONCURRENT_OR_BACK_TO_BACK_DELIVERY
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:157,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - queue
    argTypes:
    - QMGR_QUEUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 166
    functionName: qmgr_entry_select
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_entry.c
    functionUses: 1
    functionsReached:
    - CONCURRENT_OR_BACK_TO_BACK_DELIVERY
    - BACK_TO_BACK_DELIVERY
    - QMGR_LIST_APPEND
    - QMGR_LIST_UNLINK
    - msg_info
    linkageType: ''
    returnType: QMGR_ENTRY
    signature: QMGR_ENTRY *qmgr_entry_select(QMGR_QUEUE *queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: CONCURRENT_OR_BACK_TO_BACK_DELIVERY
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_entry.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONCURRENT_OR_BACK_TO_BACK_DELIVERY()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: BACK_TO_BACK_DELIVERY
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_entry.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BACK_TO_BACK_DELIVERY()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMGR_LIST_UNLINK
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:172,1
    - Dst: QMGR_LIST_APPEND
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - queue
    - entry
    argTypes:
    - QMGR_QUEUE*
    - QMGR_ENTRY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: qmgr_entry_unselect
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_entry.c
    functionUses: 2
    functionsReached:
    - QMGR_LIST_UNLINK
    - QMGR_LIST_APPEND
    linkageType: ''
    returnType: void
    signature: void qmgr_entry_unselect(QMGR_QUEUE *queue, QMGR_ENTRY *entry)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:188,1
    - Dst: QMGR_QUEUE_THROTTLED
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:189,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:190,1
    - Dst: QMGR_TRANSPORT_THROTTLED
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:191,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:192,1
    - Dst: qmgr_entry_create
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:205,1
    - Dst: recipient_list_swap
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:206,1
    - Dst: qmgr_entry_done
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - dst
    - entry
    argTypes:
    - QMGR_QUEUE*
    - QMGR_ENTRY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 208
    functionName: qmgr_entry_move_todo
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_entry.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - recipient_list_swap
    - qmgr_entry_done
    - QMGR_TRANSPORT_THROTTLED
    - QMGR_QUEUE_THROTTLED
    - qmgr_entry_create
    linkageType: ''
    returnType: void
    signature: void qmgr_entry_move_todo(QMGR_QUEUE *dst, QMGR_ENTRY *entry)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:223,1
    - Dst: QMGR_LIST_UNLINK
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:225,1
    - Dst: QMGR_LIST_UNLINK
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:228,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:231,1
    - Dst: recipient_list_free
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:239,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:241,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:247,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:254,1
    - Dst: QMGR_QUEUE_THROTTLED
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:256,1
    - Dst: qmgr_queue_unthrottle
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:257,1
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:258,1
    - Dst: qmgr_queue_suspend
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:259,1
    - Dst: QMGR_QUEUE_THROTTLED
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:271,1
    - Dst: qmgr_queue_unthrottle
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:272,1
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:273,1
    - Dst: qmgr_queue_done
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:274,1
    - Dst: FUDGE
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:296,1
    - Dst: qmgr_message_realloc
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:297,1
    - Dst: qmgr_active_done
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:299,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 2
    argNames:
    - entry
    - which
    argTypes:
    - QMGR_ENTRY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 300
    functionName: qmgr_entry_done
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_entry.c
    functionUses: 5
    functionsReached:
    - msg_panic
    - recipient_list_free
    - qmgr_queue_suspend
    - FUDGE
    - qmgr_active_done
    - QMGR_LIST_UNLINK
    - qmgr_queue_done
    - myfree
    - event_time
    - qmgr_queue_unthrottle
    - QMGR_QUEUE_THROTTLED
    - QMGR_QUEUE_READY
    - qmgr_message_realloc
    linkageType: ''
    returnType: void
    signature: void qmgr_entry_done(QMGR_ENTRY *entry, int which)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: FUDGE
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_entry.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUDGE(x)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QMGR_QUEUE_THROTTLED
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:311,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:312,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:317,1
    - Dst: recipient_list_init
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:320,1
    - Dst: QMGR_LIST_APPEND
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:323,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:354,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:356,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:359,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:363,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:367,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:370,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:373,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:375,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:376,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:378,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:379,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:382,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:383,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_entry.c:384,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - queue
    - message
    argTypes:
    - QMGR_QUEUE*
    - QMGR_MESSAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 390
    functionName: qmgr_entry_create
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_entry.c
    functionUses: 4
    functionsReached:
    - msg_panic
    - msg_warn
    - QMGR_LIST_APPEND
    - recipient_list_init
    - event_time
    - QMGR_QUEUE_THROTTLED
    - mymalloc
    linkageType: ''
    returnType: QMGR_ENTRY
    signature: QMGR_ENTRY *qmgr_entry_create(QMGR_QUEUE *queue, QMGR_MESSAGE *message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bounce_append
      Src: /src/postfix/postfix/src/oqmgr/qmgr_bounce.c:63,1
    - Dst: QMGR_MSG_STATS
      Src: /src/postfix/postfix/src/oqmgr/qmgr_bounce.c:64,1
    - Dst: deliver_completed
      Src: /src/postfix/postfix/src/oqmgr/qmgr_bounce.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - message
    - recipient
    - dsn
    argTypes:
    - QMGR_MESSAGE*
    - RECIPIENT*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: qmgr_bounce_recipient
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_bounce.c
    functionUses: 0
    functionsReached:
    - deliver_completed
    - QMGR_MSG_STATS
    - bounce_append
    linkageType: ''
    returnType: void
    signature: "void qmgr_bounce_recipient(QMGR_MESSAGE *message, RECIPIENT *recipient,\n\t\t\t
      \             DSN *dsn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: peekfd
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:109,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:109,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:110,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:110,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:112,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:113,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:115,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: qmgr_deliver_initial_reply
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - VSTREAM_PATH
    - attr_scan
    - RECV_ATTR_STREQ
    - vstream_fileno
    - peekfd
    linkageType: ''
    returnType: int
    signature: int qmgr_deliver_initial_reply(VSTREAM *stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: peekfd
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:128,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:128,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:129,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:129,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:131,1
    - Dst: RECV_ATTR_FUNC
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:132,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:133,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:135,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - stream
    - dsb
    argTypes:
    - VSTREAM*
    - DSN_BUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 140
    functionName: qmgr_deliver_final_reply
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - VSTREAM_PATH
    - RECV_ATTR_FUNC
    - attr_scan
    - vstream_fileno
    - peekfd
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: int qmgr_deliver_final_reply(VSTREAM *stream, DSN_BUF *dsb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: allascii
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:161,1
    - Dst: valid_utf8_stringz
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:161,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:175,1
    - Dst: verp_sender
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:176,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:178,1
    - Dst: QMGR_MSG_STATS
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:184,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:185,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:186,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:187,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:188,1
    - Dst: SEND_ATTR_LONG
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:189,1
    - Dst: SEND_ATTR_LONG
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:190,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:191,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:192,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:193,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:194,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:195,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:196,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:197,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:199,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:200,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:201,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:202,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:203,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:205,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:206,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:207,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:209,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:210,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:211,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:214,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:216,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:217,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:219,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:220,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:224,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - entry
    - stream
    argTypes:
    - QMGR_ENTRY*
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 227
    functionName: qmgr_deliver_send_request
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c
    functionUses: 1
    functionsReached:
    - verp_sender
    - msg_warn
    - SEND_ATTR_INT
    - SEND_ATTR_STR
    - attr_print
    - vstring_alloc
    - vstring_free
    - vstream_fflush
    - msg_info
    - SEND_ATTR_LONG
    - SEND_ATTR_FUNC
    - vstring_str
    - valid_utf8_stringz
    - allascii
    - QMGR_MSG_STATS
    linkageType: ''
    returnType: int
    signature: int qmgr_deliver_send_request(QMGR_ENTRY *entry, VSTREAM *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: qmgr_deliver_abort
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void qmgr_deliver_abort(int unused_event, void *context)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dsb_create
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:264,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:269,1
    - Dst: qmgr_deliver_final_reply
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:278,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:293,1
    - Dst: qmgr_transport_throttle
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:295,1
    - Dst: DSN_SIMPLE
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:296,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:297,1
    - Dst: qmgr_transport_throttle
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:299,1
    - Dst: DSN_SIMPLE
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:300,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:303,1
    - Dst: QMGR_DELIVER_RELEASE_AGENT
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:319,1
    - Dst: qmgr_entry_unselect
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:320,1
    - Dst: qmgr_defer_transport
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:321,1
    - Dst: DSN_SIMPLE
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:340,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:343,1
    - Dst: dsn_valid
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:345,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:345,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:346,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:347,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:348,1
    - Dst: vstring_prepend
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:349,1
    - Dst: QMGR_QUEUE_READY
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:350,1
    - Dst: qmgr_queue_throttle
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:351,1
    - Dst: DSN_FROM_DSN_BUF
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:351,1
    - Dst: QMGR_QUEUE_THROTTLED
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:352,1
    - Dst: qmgr_defer_todo
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:353,1
    - Dst: qmgr_transport_unthrottle
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:363,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:364,1
    - Dst: qmgr_queue_unthrottle
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:365,1
    - Dst: QMGR_DELIVER_RELEASE_AGENT
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:373,1
    - Dst: qmgr_entry_done
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:374,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 375
    functionName: qmgr_deliver_update
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c
    functionUses: 0
    functionsReached:
    - qmgr_entry_done
    - VSTRING_LEN
    - QMGR_DELIVER_RELEASE_AGENT
    - dsn_valid
    - qmgr_queue_unthrottle
    - qmgr_transport_unthrottle
    - QMGR_QUEUE_READY
    - qmgr_queue_throttle
    - QMGR_QUEUE_THROTTLED
    - concatenate
    - vstring_str
    - qmgr_defer_transport
    - DSN_FROM_DSN_BUF
    - myfree
    - DSN_SIMPLE
    - qmgr_entry_unselect
    - msg_warn
    - qmgr_transport_throttle
    - dsb_create
    - qmgr_deliver_final_reply
    - vstring_strcpy
    - vstring_prepend
    - event_cancel_timer
    - qmgr_defer_todo
    linkageType: ''
    returnType: void
    signature: void qmgr_deliver_update(int unused_event, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - entry
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: QMGR_DELIVER_RELEASE_AGENT
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QMGR_DELIVER_RELEASE_AGENT(entry)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qmgr_deliver_initial_reply
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:392,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:394,1
    - Dst: qmgr_transport_throttle
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:396,1
    - Dst: DSN_SIMPLE
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:397,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:398,1
    - Dst: qmgr_transport_throttle
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:400,1
    - Dst: DSN_SIMPLE
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:401,1
    - Dst: qmgr_defer_transport
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:404,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:406,1
    - Dst: qmgr_queue_select
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:417,1
    - Dst: qmgr_entry_select
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:418,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:419,1
    - Dst: qmgr_deliver_send_request
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:429,1
    - Dst: qmgr_entry_unselect
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:430,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:432,1
    - Dst: qmgr_transport_throttle
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:434,1
    - Dst: DSN_SIMPLE
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:435,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:436,1
    - Dst: qmgr_transport_throttle
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:438,1
    - Dst: DSN_SIMPLE
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:439,1
    - Dst: qmgr_defer_transport
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:442,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:444,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:453,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:453,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c:459,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - transport
    - stream
    argTypes:
    - QMGR_TRANSPORT*
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 460
    functionName: qmgr_deliver
    functionSourceFile: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c
    functionUses: 0
    functionsReached:
    - qmgr_queue_select
    - qmgr_deliver_send_request
    - event_request_timer
    - event_enable_read
    - qmgr_transport_throttle
    - vstream_fclose
    - myfree
    - DSN_SIMPLE
    - qmgr_entry_unselect
    - concatenate
    - qmgr_deliver_initial_reply
    - vstream_fileno
    - qmgr_defer_transport
    - qmgr_entry_select
    linkageType: ''
    returnType: void
    signature: void qmgr_deliver(QMGR_TRANSPORT *transport, VSTREAM *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: tlsmgrmem_disable
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/tlsmgrmem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tlsmgrmem_disable(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htable_free
      Src: /src/postfix/postfix/src/posttls-finger/tlsmgrmem.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: tlsmgrmem_flush
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/tlsmgrmem.c
    functionUses: 0
    functionsReached:
    - htable_free
    linkageType: ''
    returnType: void
    signature: void tlsmgrmem_flush(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - enabled
    - count
    - hits
    argTypes:
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: tlsmgrmem_status
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/tlsmgrmem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tlsmgrmem_status(int *enabled, int *count, int *hits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - VSTRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: tls_mgr_seed
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/tlsmgrmem.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_mgr_seed(VSTRING *buf, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htable_create
      Src: /src/postfix/postfix/src/posttls-finger/tlsmgrmem.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - unused_type
    - cachable
    - timeout
    argTypes:
    - char*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: tls_mgr_policy
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/tlsmgrmem.c
    functionUses: 3
    functionsReached:
    - htable_create
    linkageType: ''
    returnType: int
    signature: int tls_mgr_policy(const char *unused_type, int *cachable, int *timeout)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htable_find
      Src: /src/postfix/postfix/src/posttls-finger/tlsmgrmem.c:101,1
    - Dst: vstring_memcpy
      Src: /src/postfix/postfix/src/posttls-finger/tlsmgrmem.c:104,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/posttls-finger/tlsmgrmem.c:104,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/posttls-finger/tlsmgrmem.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - unused_type
    - key
    - buf
    argTypes:
    - char*
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: tls_mgr_lookup
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/tlsmgrmem.c
    functionUses: 3
    functionsReached:
    - vstring_str
    - vstring_memcpy
    - htable_find
    - VSTRING_LEN
    linkageType: ''
    returnType: int
    signature: int tls_mgr_lookup(const char *unused_type, const char *key, VSTRING
      *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/posttls-finger/tlsmgrmem.c:119,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/posttls-finger/tlsmgrmem.c:120,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/posttls-finger/tlsmgrmem.c:121,1
    - Dst: vstring_memcpy
      Src: /src/postfix/postfix/src/posttls-finger/tlsmgrmem.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - unused_type
    - key
    - buf
    - len
    argTypes:
    - char*
    - char*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 129
    functionName: tls_mgr_update
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/tlsmgrmem.c
    functionUses: 3
    functionsReached:
    - htable_enter
    - htable_locate
    - vstring_memcpy
    - vstring_alloc
    linkageType: ''
    returnType: int
    signature: "int tls_mgr_update(const char *unused_type, const char *key,\n\t\t
      \              const char *buf, ssize_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/posttls-finger/tlsmgrmem.c:136,1
    - Dst: htable_delete
      Src: /src/postfix/postfix/src/posttls-finger/tlsmgrmem.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - unused_type
    - key
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: tls_mgr_delete
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/tlsmgrmem.c
    functionUses: 3
    functionsReached:
    - htable_delete
    - htable_locate
    linkageType: ''
    returnType: int
    signature: int tls_mgr_delete(const char *unused_type, const char *key)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 338
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 518
    functionName: HNAME
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HNAME(addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:538,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:539,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:540,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:541,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:542,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:545,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:550,1
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:551,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:555,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - state
    - verbose
    - fmt
    argTypes:
    - STATE*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 531
    functionDepth: 4
    functionLinenumber: 531
    functionLinenumberEnd: 556
    functionName: command
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 11
    functionsReached:
    - va_start
    - va_end
    - strchr
    - vstring_vsprintf
    - vstring_alloc
    - msg_info
    - vstring_str
    - smtp_printf
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void command(STATE *state, int verbose, char *fmt,...)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:575,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:583,1
    - Dst: smtp_get
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:585,1
    - Dst: ISPRINT
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:587,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:587,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:591,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:592,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:594,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:597,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:599,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:600,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:603,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:604,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:606,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:607,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 2
    argNames:
    - state
    - verbose
    argTypes:
    - STATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 560
    functionDepth: 3
    functionLinenumber: 560
    functionLinenumberEnd: 609
    functionName: response
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 2
    functionsReached:
    - VSTRING_ADDCH
    - ISSPACE
    - ISPRINT
    - VSTRING_LEN
    - vstring_alloc
    - msg_info
    - smtp_get
    - VSTRING_RESET
    - atoi
    - vstring_strcat
    - VSTRING_TERMINATE
    - ISDIGIT
    - vstring_str
    linkageType: ''
    returnType: RESPONSE
    signature: RESPONSE *response(STATE *state, int verbose)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - except
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 623
    functionName: exception_text
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached:
    - msg_panic
    linkageType: ''
    returnType: char
    signature: char *exception_text(int except)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smtp_stream_setup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:636,1
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:637,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:638,1
    - Dst: exception_text
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:638,1
    - Dst: response
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:645,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 627
    functionDepth: 2
    functionLinenumber: 627
    functionLinenumberEnd: 650
    functionName: greeting
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached:
    - response
    - exception_text
    - smtp_stream_setup
    - msg_info
    - vstream_setjmp
    linkageType: ''
    returnType: int
    signature: int greeting(STATE *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smtp_stream_setup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:671,1
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:672,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:673,1
    - Dst: exception_text
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:673,1
    - Dst: command
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:676,1
    - Dst: response
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:678,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:680,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 654
    functionDepth: 2
    functionLinenumber: 654
    functionLinenumberEnd: 684
    functionName: ehlo
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached:
    - response
    - exception_text
    - smtp_stream_setup
    - msg_info
    - vstream_setjmp
    - command
    linkageType: ''
    returnType: RESPONSE
    signature: RESPONSE *ehlo(STATE *state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:692,1
    - Dst: sk_X509_value
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:693,1
    - Dst: X509_get_subject_name
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:698,1
    - Dst: X509_NAME_oneline
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:699,1
    - Dst: BIO_printf
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:700,1
    - Dst: X509_get_issuer_name
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:702,1
    - Dst: X509_NAME_oneline
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:703,1
    - Dst: BIO_printf
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:704,1
    - Dst: tls_cert_fprint
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:706,1
    - Dst: BIO_printf
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:707,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:708,1
    - Dst: tls_pkey_fprint
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:710,1
    - Dst: X509_get0_pubkey
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:710,1
    - Dst: BIO_printf
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:711,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:712,1
    - Dst: PEM_write_bio_X509_AUX
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:715,1
    - Dst: PEM_write_bio_X509
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:717,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - state
    - sk
    - trustout
    argTypes:
    - STATE*
    - x509_stack_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 688
    functionDepth: 4
    functionLinenumber: 688
    functionLinenumberEnd: 719
    functionName: print_stack
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached:
    - sk_X509_num
    - X509_get_issuer_name
    - tls_cert_fprint
    - X509_get_subject_name
    - PEM_write_bio_X509
    - sk_X509_value
    - X509_NAME_oneline
    - tls_pkey_fprint
    - myfree
    - X509_get0_pubkey
    - PEM_write_bio_X509_AUX
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void print_stack(STATE *state, x509_stack_t *sk, int trustout)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_peer_cert_chain
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:723,1
    - Dst: BIO_printf
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:726,1
    - Dst: print_stack
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:727,1
    - Dst: BIO_printf
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:732,1
    - Dst: print_stack
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:733,1
    - Dst: BIO_printf
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:737,1
    - Dst: print_stack
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:738,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 721
    functionDepth: 5
    functionLinenumber: 721
    functionLinenumberEnd: 741
    functionName: print_trust_info
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - SSL_get_peer_cert_chain
    - print_stack
    linkageType: ''
    returnType: void
    signature: void print_trust_info(STATE *state)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: smtp_stream_setup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:759,1
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:760,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:761,1
    - Dst: exception_text
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:761,1
    - Dst: command
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:764,1
    - Dst: response
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:766,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:768,1
    - Dst: vstream_fpurge
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:776,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:785,1
    - Dst: ADD_EXCLUDE
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:786,1
    - Dst: TLS_REQUIRED
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:787,1
    - Dst: ADD_EXCLUDE
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:788,1
    - Dst: TLS_MUST_MATCH
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:794,1
    - Dst: ADD_EXCLUDE
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:795,1
    - Dst: ADD_EXCLUDE
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:797,1
    - Dst: smtp_stream_setup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:799,1
    - Dst: TLS_PROXY_CLIENT_INIT_PROPS
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:806,1
    - Dst: TLS_PROXY_CLIENT_START_PROPS
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:821,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:834,1
    - Dst: open
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:846,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:847,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:848,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:849,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:850,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:851,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:851,1
    - Dst: tls_proxy_open
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:853,1
    - Dst: STR
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:854,1
    - Dst: tls_proxy_client_param_from_config
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:856,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:858,1
    - Dst: fchdir
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:859,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:860,1
    - Dst: close
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:861,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:876,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:879,1
    - Dst: CA_VSTREAM_CTL_SWAP_FD
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:880,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:882,1
    - Dst: vstream_fpurge
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:888,1
    - Dst: tls_proxy_context_receive
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:900,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:905,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:908,1
    - Dst: tls_log_summary
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:916,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:919,1
    - Dst: TLS_CLIENT_START
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:924,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:940,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:947,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:949,1
    - Dst: vstream_fpurge
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:954,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:955,1
    - Dst: greeting
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:959,1
    - Dst: ehlo
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:963,1
    - Dst: TLS_CRED_IS_PRESENT
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:964,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:965,1
    - Dst: print_trust_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:968,1
    - Dst: tls_update_app_logmask
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:973,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 85
    argCount: 1
    argNames:
    - state
    argTypes:
    - STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 745
    functionDepth: 6
    functionLinenumber: 745
    functionLinenumberEnd: 976
    functionName: starttls
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - tls_log_summary
    - TLS_PROXY_CLIENT_START_PROPS
    - msg_info
    - vstream_control
    - TLS_PROXY_CLIENT_INIT_PROPS
    - open
    - ntohs
    - CA_VSTREAM_CTL_SWAP_FD
    - tls_update_app_logmask
    - response
    - TLS_CLIENT_START
    - vstring_alloc
    - chdir
    - TLS_REQUIRED
    - command
    - tls_proxy_open
    - vstring_str
    - TLS_MUST_MATCH
    - tls_proxy_context_receive
    - TLS_CRED_IS_PRESENT
    - vstream_fpurge
    - tls_proxy_client_param_from_config
    - close
    - smtp_stream_setup
    - vstream_setjmp
    - myfree
    - ehlo
    - fchdir
    - print_trust_info
    - vstring_free
    - greeting
    - msg_warn
    - ADD_EXCLUDE
    - vstream_fclose
    - exception_text
    - msg_fatal
    - STR
    linkageType: ''
    returnType: int
    signature: int starttls(STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vstr
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 784
    functionName: ADD_EXCLUDE
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_EXCLUDE(vstr, str)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: greeting
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:993,1
    - Dst: ehlo
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:995,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:999,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1000,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1002,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1003,1
    - Dst: starttls
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1010,1
    - Dst: smtp_stream_setup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1017,1
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1018,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1019,1
    - Dst: exception_text
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1019,1
    - Dst: command
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1022,1
    - Dst: response
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1023,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 1
    argNames:
    - state
    argTypes:
    - STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 982
    functionDepth: 7
    functionLinenumber: 982
    functionLinenumberEnd: 1025
    functionName: doproto
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached:
    - response
    - msg_warn
    - starttls
    - exception_text
    - smtp_stream_setup
    - vstream_setjmp
    - ehlo
    - strcasecmp
    - mystrtok
    - command
    - mystrdup
    - greeting
    linkageType: ''
    returnType: int
    signature: int doproto(STATE *state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1038,1
    - Dst: timed_connect
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1039,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1041,1
    - Dst: sane_connect
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1044,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1048,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1049,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1051,1
    - Dst: close
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1052,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1055,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1057,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1058,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1058,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1059,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1059,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1060,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1062,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1063,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1063,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1064,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1064,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1065,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1067,1
    - Dst: vstream_tweak_tcp
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1077,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 6
    argNames:
    - sock
    - sa
    - salen
    - name
    - addr
    - state
    argTypes:
    - int
    - struct sockaddr*
    - int
    - char*
    - char*
    - STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1029
    functionDepth: 3
    functionLinenumber: 1029
    functionLinenumberEnd: 1080
    functionName: connect_sock
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached:
    - vstream_fdopen
    - vstring_export
    - vstring_sprintf
    - close
    - vstring_alloc
    - sane_connect
    - vstream_tweak_tcp
    - non_blocking
    - ntohs
    - dsb_simple
    - mystrdup
    - timed_connect
    linkageType: ''
    returnType: VSTREAM
    signature: "VSTREAM *connect_sock(int sock, struct sockaddr *sa, int salen,\n\t\t
      \          const char *name, const char *addr, STATE *state)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1089,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1093,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1094,1
    - Dst: dsb_reset
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1096,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1102,1
    - Dst: memset
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1109,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1114,1
    - Dst: socket
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1119,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1120,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1126,1
    - Dst: connect_sock
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - state
    - path
    argTypes:
    - STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1084
    functionDepth: 4
    functionLinenumber: 1084
    functionLinenumberEnd: 1130
    functionName: connect_unix
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached:
    - connect_sock
    - strlen
    - memcpy
    - socket
    - msg_info
    - memset
    - dsb_simple
    - msg_fatal
    - mystrdup
    - dsb_reset
    linkageType: ''
    returnType: VSTREAM
    signature: VSTREAM *connect_unix(STATE *state, const char *path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dsb_reset
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1144,1
    - Dst: dns_rr_to_sa
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1149,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1150,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1151,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1152,1
    - Dst: socket
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1159,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1160,1
    - Dst: set_inet_windowsize
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1163,1
    - Dst: SOCKADDR_TO_HOSTADDR
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1168,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1170,1
    - Dst: HNAME
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1171,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1171,1
    - Dst: connect_sock
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1173,1
    - Dst: HNAME
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - state
    - addr
    argTypes:
    - STATE*
    - DNS_RR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1134
    functionDepth: 4
    functionLinenumber: 1134
    functionLinenumberEnd: 1174
    functionName: connect_addr
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - connect_sock
    - HNAME
    - socket
    - dns_strtype
    - msg_info
    - ntohs
    - dsb_simple
    - SOCKADDR_TO_HOSTADDR
    - msg_fatal
    - dsb_reset
    - set_inet_windowsize
    - dns_rr_to_sa
    linkageType: ''
    returnType: VSTREAM
    signature: VSTREAM *connect_addr(STATE *state, DNS_RR *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - why
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1177
    functionName: HAS_DSN
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAS_DSN(why)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - why
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1178
    functionName: HAS_SOFT_DSN
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAS_SOFT_DSN(why)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - why
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1179
    functionName: HAS_HARD_DSN
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAS_HARD_DSN(why)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - why
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1181
    functionName: HAS_LOOP_DSN
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAS_LOOP_DSN(why)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - why
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1183
    functionName: SET_SOFT_DSN
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_SOFT_DSN(why)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - why
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1184
    functionName: SET_HARD_DSN
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_HARD_DSN(why)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1197,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1201,1
    - Dst: hostaddr_to_sockaddr
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1206,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1207,1
    - Dst: dns_sa_to_rr
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1208,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1209,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1213,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1214,1
    - Dst: dns_lookup_v
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1225,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1233,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1236,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1239,1
    - Dst: HAS_SOFT_DSN
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1239,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1242,1
    - Dst: HAS_SOFT_DSN
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1242,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1245,1
    - Dst: HAS_SOFT_DSN
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1245,1
    - Dst: hostname_to_sockaddr
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1268,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1269,1
    - Dst: HAS_SOFT_DSN
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1269,1
    - Dst: RETRY_AI_ERROR
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1269,1
    - Dst: DSN_NOHOST
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1270,1
    - Dst: DSN_NOHOST
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1271,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1273,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1276,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1277,1
    - Dst: dns_sa_to_rr
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1282,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1283,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1285,1
    - Dst: DNS_RR_IS_TRUNCATED
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1286,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1289,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1291,1
    - Dst: HAS_SOFT_DSN
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1291,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 6
    argNames:
    - state
    - addr_list
    - host
    - res_opt
    - pref
    - port
    argTypes:
    - STATE*
    - DNS_RR*
    - char*
    - int
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1187
    functionDepth: 4
    functionLinenumber: 1187
    functionLinenumberEnd: 1302
    functionName: addr_one
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached:
    - inet_proto_info
    - strchr
    - dns_rr_append
    - MAI_STRERROR
    - DSN_NOHOST
    - freeaddrinfo
    - dns_lookup_v
    - msg_info
    - HAS_SOFT_DSN
    - dns_sa_to_rr
    - DNS_RR_IS_TRUNCATED
    - dsb_simple
    - msg_fatal
    - hostname_to_sockaddr
    - dsb_status
    - hostaddr_to_sockaddr
    - RETRY_AI_ERROR
    linkageType: ''
    returnType: DNS_RR
    signature: "DNS_RR *addr_one(STATE *state, DNS_RR *addr_list, const char *host,\n\t\t\t
      \       int res_opt, unsigned pref, unsigned port)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1259
    functionName: RETRY_AI_ERROR
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETRY_AI_ERROR(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1262
    functionName: DSN_NOHOST
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSN_NOHOST(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1265
    functionName: DSN_NOHOST
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSN_NOHOST(e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1322,1
    - Dst: addr_one
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1323,1
    - Dst: DNS_RR_IS_TRUNCATED
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - state
    - mx_names
    argTypes:
    - STATE*
    - DNS_RR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1306
    functionDepth: 5
    functionLinenumber: 1306
    functionLinenumberEnd: 1329
    functionName: mx_addr_list
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - DNS_RR_IS_TRUNCATED
    - addr_one
    linkageType: ''
    returnType: DNS_RR
    signature: DNS_RR *mx_addr_list(STATE *state, DNS_RR *mx_names)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dsb_reset
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1340,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1350,1
    - Dst: midna_domain_to_ascii
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1350,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1351,1
    - Dst: dns_lookup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1356,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1359,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1362,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1365,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1368,1
    - Dst: dns_rr_sort
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1371,1
    - Dst: mx_addr_list
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1372,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1373,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1374,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1376,1
    - Dst: dns_rr_shuffle
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1384,1
    - Dst: dns_rr_sort
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1385,1
    - Dst: COMPARE_ADDR
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1385,1
    - Dst: host_addr
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1389,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - state
    - domain
    argTypes:
    - STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1333
    functionDepth: 6
    functionLinenumber: 1333
    functionLinenumberEnd: 1394
    functionName: domain_addr
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached:
    - mx_addr_list
    - msg_warn
    - dns_rr_free
    - host_addr
    - dns_rr_shuffle
    - dns_rr_copy
    - msg_info
    - dns_rr_sort
    - COMPARE_ADDR
    - midna_domain_to_ascii
    - dns_lookup
    - dsb_status
    - allascii
    - dsb_reset
    linkageType: ''
    returnType: DNS_RR
    signature: DNS_RR *domain_addr(STATE *state, char *domain)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1383
    functionName: COMPARE_ADDR
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE_ADDR(flags)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1401,1
    - Dst: dsb_reset
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1408,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1414,1
    - Dst: STR
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1415,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1421,1
    - Dst: midna_domain_to_ascii
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1422,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1423,1
    - Dst: dns_lookup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1428,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1431,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1434,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1437,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1440,1
    - Dst: dns_srv_rr_sort
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1444,1
    - Dst: mx_addr_list
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1445,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1446,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1447,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1449,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1456,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1460,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 3
    argNames:
    - state
    - domain
    - service
    argTypes:
    - STATE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1398
    functionDepth: 6
    functionLinenumber: 1398
    functionLinenumberEnd: 1462
    functionName: service_addr
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached:
    - mx_addr_list
    - vstring_sprintf
    - dns_rr_free
    - msg_warn
    - dns_srv_rr_sort
    - vstring_alloc
    - dns_rr_copy
    - msg_info
    - midna_domain_to_ascii
    - dns_lookup
    - dsb_reset
    - dsb_status
    - allascii
    - vstring_free
    - STR
    linkageType: ''
    returnType: DNS_RR
    signature: "DNS_RR *service_addr(STATE *state, const char *domain,\n\t\t\t            const
      char *service)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dsb_reset
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1473,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1483,1
    - Dst: midna_domain_to_ascii
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1483,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1484,1
    - Dst: addr_one
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1491,1
    - Dst: dns_rr_shuffle
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1493,1
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1494,1
    - Dst: dns_rr_sort
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1495,1
    - Dst: COMPARE_ADDR
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1495,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - state
    - host
    argTypes:
    - STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1466
    functionDepth: 5
    functionLinenumber: 1466
    functionLinenumberEnd: 1498
    functionName: host_addr
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 11
    functionsReached:
    - inet_proto_info
    - dns_rr_shuffle
    - msg_info
    - dns_rr_sort
    - COMPARE_ADDR
    - midna_domain_to_ascii
    - addr_one
    - allascii
    - dsb_reset
    linkageType: ''
    returnType: DNS_RR
    signature: DNS_RR *host_addr(STATE *state, const char *host)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TLS_DANE_BASED
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1507,1
    - Dst: tls_dane_free
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1513,1
    - Dst: tls_dane_resolve
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1519,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1522,1
    - Dst: HNAME
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1524,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1524,1
    - Dst: tls_dane_notfound
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1526,1
    - Dst: tls_dane_unusable
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1527,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1529,1
    - Dst: tls_dane_unusable
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1531,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1535,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1538,1
    - Dst: tls_dane_free
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1539,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1544,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1545,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1545,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1549,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1552,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1553,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1555,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1561,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 2
    argNames:
    - state
    - addr
    argTypes:
    - STATE*
    - DNS_RR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1502
    functionDepth: 3
    functionLinenumber: 1502
    functionLinenumberEnd: 1570
    functionName: dane_host_level
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - HNAME
    - argv_free
    - TLS_DANE_BASED
    - tls_dane_notfound
    - tls_dane_resolve
    - msg_info
    - ntohs
    - argv_alloc
    - argv_add
    - strcmp
    - dsb_simple
    - tls_dane_unusable
    - tls_dane_free
    linkageType: ''
    returnType: int
    signature: int dane_host_level(STATE *state, DNS_RR *addr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1578,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1586,1
    - Dst: host_port
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1592,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1593,1
    - Dst: filter_known_tcp_port
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1598,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1599,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1600,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1601,1
    - Dst: htons
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1603,1
    - Dst: getservbyname
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1605,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1607,1
    - Dst: htons
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1608,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1610,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - destination
    - def_service
    - hostp
    - servicep
    - portp
    argTypes:
    - char*
    - char*
    - char**
    - char**
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1574
    functionDepth: 1
    functionLinenumber: 1574
    functionLinenumberEnd: 1613
    functionName: parse_destination
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached:
    - htons
    - filter_known_tcp_port
    - getservbyname
    - alldig
    - msg_info
    - atoi
    - strcmp
    - msg_fatal
    - host_port
    - mystrdup
    linkageType: ''
    returnType: char
    signature: "char *parse_destination(char *destination, char *def_service,\n\t\t\t
      \              char **hostp, char **servicep,\n\t\t\t               unsigned
      *portp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: parse_destination
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1627,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1630,1
    - Dst: host_addr
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1632,1
    - Dst: service_addr
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1634,1
    - Dst: domain_addr
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1636,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1637,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1640,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1641,1
    - Dst: dane_host_level
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1646,1
    - Dst: htons
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1649,1
    - Dst: connect_addr
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1652,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1653,1
    - Dst: HNAME
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1654,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1654,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1655,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1660,1
    - Dst: HNAME
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1660,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1663,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1664,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - state
    - dest
    argTypes:
    - STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1617
    functionDepth: 7
    functionLinenumber: 1617
    functionLinenumberEnd: 1668
    functionName: connect_remote
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached:
    - host_addr
    - vstring_str
    - htons
    - dns_rr_free
    - HNAME
    - parse_destination
    - dns_rr_copy
    - msg_info
    - myfree
    - ntohs
    - dane_host_level
    - domain_addr
    - service_addr
    - mystrdup
    - connect_addr
    linkageType: ''
    returnType: void
    signature: void connect_remote(STATE *state, char *dest)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1681,1
    - Dst: connect_unix
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1682,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1684,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1685,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1688,1
    - Dst: connect_remote
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1694
      start: 1672
    functionDepth: 8
    functionLinenumber: 1672
    functionLinenumberEnd: 1694
    functionName: connect_dest
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached:
    - msg_info
    - strncmp
    - connect_unix
    - vstring_str
    - connect_remote
    linkageType: ''
    returnType: int
    signature: int connect_dest(STATE *state)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tls_proxy_context_free
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1701,1
    - Dst: tls_client_stop
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1703,1
    - Dst: tls_dane_free
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1709,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1714,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1718,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1722,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1726,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1732,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1735,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1739,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1743,1
    - Dst: dsb_free
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1746,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1747,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 1
    argNames:
    - state
    argTypes:
    - STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1696
    functionDepth: 2
    functionLinenumber: 1696
    functionLinenumberEnd: 1748
    functionName: disconnect_dest
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached:
    - dns_rr_free
    - vstream_fclose
    - myfree
    - tls_proxy_context_free
    - dsb_free
    - tls_dane_free
    - tls_client_stop
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void disconnect_dest(STATE *state)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1758,1
    - Dst: dsb_create
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1759,1
    - Dst: connect_dest
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1761,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1763,1
    - Dst: doproto
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1764,1
    - Dst: disconnect_dest
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1766,1
    - Dst: tlsmgrmem_status
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1777,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1779,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1782,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1785,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - state
    argTypes:
    - STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1750
    functionDepth: 9
    functionLinenumber: 1750
    functionLinenumberEnd: 1792
    functionName: finger
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached:
    - disconnect_dest
    - connect_dest
    - doproto
    - vstring_alloc
    - msg_info
    - dsb_create
    - tlsmgrmem_status
    linkageType: ''
    returnType: int
    signature: int finger(STATE *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: finger
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1800,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1804,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1806,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1796
    functionDepth: 10
    functionLinenumber: 1796
    functionLinenumberEnd: 1810
    functionName: run
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached:
    - sleep
    - finger
    - msg_info
    linkageType: ''
    returnType: int
    signature: int run(STATE *state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tls_free_app_context
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1818,1
    - Dst: BIO_free
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1820,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1823,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1824,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1825,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1826,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1827,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1828,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1830,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1831,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1833,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1835,1
    - Dst: tls_dane_free
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1837,1
    - Dst: tls_dane_flush
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1840,1
    - Dst: tlsmgrmem_flush
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1842,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1843,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1844,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1846,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1847,1
    - Dst: mail_conf_flush
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1849,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1850
      start: 1814
    functionDepth: 2
    functionLinenumber: 1814
    functionLinenumberEnd: 1850
    functionName: cleanup
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 13
    functionsReached:
    - tlsmgrmem_flush
    - argv_free
    - myfree
    - tls_free_app_context
    - tls_dane_free
    - mail_conf_flush
    - tls_dane_flush
    - BIO_free
    linkageType: ''
    returnType: void
    signature: void cleanup(STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1857,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1865,1
    - Dst: exit
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1854
    functionDepth: 0
    functionLinenumber: 1854
    functionLinenumberEnd: 1869
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 26
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TLS_CLIENT_INIT
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1873
    functionDepth: 1
    functionLinenumber: 1873
    functionLinenumberEnd: 1899
    functionName: tls_init
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached:
    - TLS_CLIENT_INIT
    linkageType: ''
    returnType: void
    signature: void tls_init(STATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1907,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1909,1
    - Dst: usage
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1910,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1911,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1912,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - nameval
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1903
    functionDepth: 2
    functionLinenumber: 1903
    functionLinenumberEnd: 1913
    functionName: override
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 3
    functionsReached:
    - split_nameval
    - myfree
    - mail_conf_update
    - usage
    - mystrdup
    linkageType: ''
    returnType: void
    signature: void override(const char *nameval)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1928,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1929,1
    - Dst: memset
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1931,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1932,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1939,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1940,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1941,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1942,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1943,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1944,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1945,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1956,1
    - Dst: usage
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1959,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1962,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1968,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1969,1
    - Dst: override
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1972,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1981,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1984,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1991,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1998,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:1999,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2005,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2006,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2009,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2010,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2017,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2019,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2020,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2025,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2026,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2028,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2029,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2033,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2034,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2036,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2037,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2042,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2043,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2047,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2048,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2051,1
    - Dst: tls_level_lookup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2054,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2060,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2064,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2065,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2068,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2069,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2072,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2075,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2076,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2095,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2098,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2102,1
    - Dst: name_mask
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2109,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2115,1
    - Dst: tlsmgrmem_disable
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2119,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2122,1
    - Dst: tls_log_mask
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2123,1
    - Dst: tls_dane_loglevel
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2124,1
    - Dst: tls_level_lookup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2127,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2132,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2135,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 178
    argCount: 3
    argNames:
    - state
    - argc
    - argv
    argTypes:
    - STATE*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 1917
    functionDepth: 3
    functionLinenumber: 1917
    functionLinenumberEnd: 2139
    functionName: parse_options
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached:
    - name_code
    - tls_dane_loglevel
    - name_mask
    - override
    - myfree
    - argv_alloc
    - atoi
    - tls_log_mask
    - argv_add
    - usage
    - memset
    - concatenate
    - tls_level_lookup
    - GETOPT
    - mystrdup
    - msg_fatal
    - tlsmgrmem_disable
    linkageType: ''
    returnType: void
    signature: void parse_options(STATE *state, int argc, char *argv[])
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2156,1
    - Dst: str_tls_level
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2157,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2162,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2164,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2166,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2169,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2171,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2173,1
    - Dst: tls_dane_alloc
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2176,1
    - Dst: tls_dane_add_fpt_digests
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2178,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - state
    - argc
    - argv
    argTypes:
    - STATE*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2143
    functionDepth: 3
    functionLinenumber: 2143
    functionLinenumberEnd: 2183
    functionName: parse_match
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached:
    - tls_dane_alloc
    - msg_warn
    - tls_dane_add_fpt_digests
    - argv_alloc
    - argv_add
    - str_tls_level
    linkageType: ''
    returnType: void
    signature: void parse_match(STATE *state, int argc, char *argv[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tls_dane_alloc
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2200,1
    - Dst: tls_dane_load_trustfile
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2202,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2206,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2210
      start: 2187
    functionDepth: 3
    functionLinenumber: 2187
    functionLinenumberEnd: 2210
    functionName: parse_tas
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 0
    functionsReached:
    - tls_dane_alloc
    - msg_fatal
    - tls_dane_load_trustfile
    linkageType: ''
    returnType: void
    signature: void parse_tas(STATE *state)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2216,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2217,1
    - Dst: signal
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2228,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2231,1
    - Dst: basename
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2231,1
    - Dst: set_mail_conf_str
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2232,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2233,1
    - Dst: mail_conf_suck
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2239,1
    - Dst: parse_options
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2240,1
    - Dst: mail_params_init
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2241,1
    - Dst: get_mail_conf_str_table
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2242,1
    - Dst: parse_tas
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2243,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2250,1
    - Dst: tls_init
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2257,1
    - Dst: TLS_DANE_BASED
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2258,1
    - Dst: tls_dane_avail
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2258,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2259,1
    - Dst: BIO_new_fp
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2264,1
    - Dst: mail_parm_split
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2268,1
    - Dst: update_env
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2269,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2270,1
    - Dst: usage
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2277,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2279,1
    - Dst: parse_match
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2280,1
    - Dst: geteuid
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2283,1
    - Dst: chroot_uid
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2284,1
    - Dst: run
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2287,1
    - Dst: cleanup
      Src: /src/postfix/postfix/src/posttls-finger/posttls-finger.c:2290,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 2213
    functionDepth: 11
    functionLinenumber: 2213
    functionLinenumberEnd: 2293
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    functionUses: 31
    functionsReached:
    - tls_init
    - basename
    - msg_vstream_init
    - atoi
    - tls_dane_avail
    - parse_match
    - mail_params_init
    - chroot_uid
    - run
    - set_mail_conf_str
    - get_mail_conf_str_table
    - getenv
    - parse_options
    - BIO_new_fp
    - mail_parm_split
    - update_env
    - mail_conf_suck
    - TLS_DANE_BASED
    - signal
    - msg_warn
    - cleanup
    - geteuid
    - argv_free
    - parse_tas
    - usage
    - mystrdup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rec_put
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:604,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 5
    argNames:
    - context
    - rec_type
    - buf
    - len
    - unused_offset
    argTypes:
    - void*
    - int
    - char*
    - ssize_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 599
    functionDepth: 2
    functionLinenumber: 599
    functionLinenumberEnd: 608
    functionName: output_text
    functionSourceFile: /src/postfix/postfix/src/sendmail/sendmail.c
    functionUses: 0
    functionsReached:
    - rec_put
    - msg_fatal_status
    linkageType: ''
    returnType: void
    signature: "void output_text(void *context, int rec_type, const char *buf, ssize_t
      len,\n\t\t\t        off_t unused_offset)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tok822_parse
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:641,1
    - Dst: STR
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:641,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:641,1
    - Dst: tok822_grep
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:642,1
    - Dst: tok822_internalize
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:644,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:645,1
    - Dst: STR
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:645,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:647,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:648,1
    - Dst: STR
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:655,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:656,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:657,1
    - Dst: output_text
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:660,1
    - Dst: output_text
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:665,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 5
    argNames:
    - context
    - header_class
    - header_info
    - buf
    - offset
    argTypes:
    - void*
    - int
    - HEADER_OPTS*
    - VSTRING*
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 612
    functionDepth: 3
    functionLinenumber: 612
    functionLinenumberEnd: 672
    functionName: output_header
    functionSourceFile: /src/postfix/postfix/src/sendmail/sendmail.c
    functionUses: 0
    functionsReached:
    - strlen
    - tok822_parse
    - tok822_grep
    - myfree
    - argv_add
    - output_text
    - split_at
    - tok822_free_tree
    - tok822_internalize
    - STR
    linkageType: ''
    returnType: void
    signature: "void output_header(void *context, int header_class,\n\t\t\t          const
      HEADER_OPTS *header_info,\n\t\t\t          VSTRING *buf, off_t offset)"
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:696,1
    - Dst: check_user_acl_byuid
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:718,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:720,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:726,1
    - Dst: ENFORCING_SIZE_LIMIT
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:732,1
    - Dst: get_file_limit
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:733,1
    - Dst: set_file_limit
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:734,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:743,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:744,1
    - Dst: tok822_parse
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:745,1
    - Dst: tok822_internalize
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:748,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:749,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:750,1
    - Dst: STR
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:750,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:752,1
    - Dst: username
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:754,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:755,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:757,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:765,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:766,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:768,1
    - Dst: mail_stream_command
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:769,1
    - Dst: STR
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:769,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:770,1
    - Dst: STR
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:771,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:772,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:792,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:795,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:797,1
    - Dst: fullname
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:799,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:800,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:801,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:803,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:807,1
    - Dst: DEL_REQ_TRACE_FLAGS
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:808,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:809,1
    - Dst: DEL_REQ_TRACE_FLAGS
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:810,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:812,1
    - Dst: tok822_parse
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:815,1
    - Dst: tok822_internalize
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:818,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:820,1
    - Dst: REC_PUT_BUF
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:822,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:823,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:830,1
    - Dst: rec_put
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:832,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:833,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:850,1
    - Dst: DEL_REQ_TRACE_ONLY
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:851,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:853,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:856,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:857,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:859,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:861,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:872,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:873,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:877,1
    - Dst: mime_state_alloc
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:878,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:892,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:895,1
    - Dst: rec_streamlf_get
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:897,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:900,1
    - Dst: vstring_end
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:900,1
    - Dst: STR
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:907,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:908,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:908,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:914,1
    - Dst: vstring_end
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:914,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:915,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:915,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:917,1
    - Dst: STR
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:917,1
    - Dst: mime_state_update
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:920,1
    - Dst: STR
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:920,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:921,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:923,1
    - Dst: mime_state_error
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:926,1
    - Dst: REC_PUT_BUF
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:928,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:929,1
    - Dst: mime_state_update
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:942,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:944,1
    - Dst: mime_state_error
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:947,1
    - Dst: mime_state_free
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:948,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:954,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:959,1
    - Dst: rec_put
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:961,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:961,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:962,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:967,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:968,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:969,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:972,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:981,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:989,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:990,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:992,1
    - Dst: mail_stream_finish
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:993,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:994,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:998,1
    - Dst: STR
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:999,1
    - Dst: cleanup_strerror
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:999,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1000,1
    - Dst: DEL_REQ_TRACE_FLAGS
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1005,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1006,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1008,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1015,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1016,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 160
    argCount: 9
    argNames:
    - flags
    - encoding
    - dsn_envid
    - dsn_ret
    - dsn_notify
    - rewrite_context
    - sender
    - full_name
    - recipients
    argTypes:
    - int
    - char*
    - char*
    - int
    - int
    - char*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 676
    functionDepth: 4
    functionLinenumber: 676
    functionLinenumberEnd: 1017
    functionName: enqueue
    functionSourceFile: /src/postfix/postfix/src/sendmail/sendmail.c
    functionUses: 0
    functionsReached:
    - ENFORCING_SIZE_LIMIT
    - vstring_sprintf
    - vstring_end
    - check_user_acl_byuid
    - vstring_truncate
    - VSTRING_LEN
    - mail_stream_command
    - REC_PUT_BUF
    - vstream_ferror
    - tok822_parse
    - VSTRING_RESET
    - argv_alloc
    - rec_fputs
    - getuid
    - strlen
    - mime_state_error
    - tok822_free_tree
    - rec_streamlf_get
    - vstream_fflush
    - vstring_alloc
    - cleanup_strerror
    - vstring_strcat
    - fullname
    - username
    - msg_fatal_status
    - myfree
    - VSTRING_TERMINATE
    - strncmp
    - vstream_printf
    - get_file_limit
    - tok822_internalize
    - vstring_free
    - name_code
    - mail_stream_finish
    - mime_state_alloc
    - msg_warn
    - rec_put
    - mime_state_update
    - strspn
    - DEL_REQ_TRACE_FLAGS
    - DEL_REQ_TRACE_ONLY
    - mime_state_free
    - argv_free
    - rec_fprintf
    - set_file_limit
    - mystrdup
    - STR
    linkageType: ''
    returnType: void
    signature: "void enqueue(const int flags, const char *encoding,\n\t\t         const
      char *dsn_envid, int dsn_ret, int dsn_notify,\n\t\t            const char *rewrite_context,
      const char *sender,\n\t\t            const char *full_name, char **recipients)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1024
    functionName: tempfail
    functionSourceFile: /src/postfix/postfix/src/sendmail/sendmail.c
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void tempfail(void)
  - BBCount: 105
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1066,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1074,1
    - Dst: close
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1075,1
    - Dst: open
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1075,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1076,1
    - Dst: close
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1084,1
    - Dst: safe_getenv
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1091,1
    - Dst: safe_getenv
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1093,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1101,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1103,1
    - Dst: msg_cleanup
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1104,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1105,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1105,1
    - Dst: set_mail_conf_str
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1106,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1106,1
    - Dst: geteuid
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1118,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1118,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1119,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1120,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1121,1
    - Dst: set_ugid
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1122,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1122,1
    - Dst: getgid
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1122,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1134,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1138,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1141,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1144,1
    - Dst: sane_basename
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1144,1
    - Dst: sane_dirname
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1145,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1146,1
    - Dst: geteuid
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1146,1
    - Dst: mail_conf_checkdir
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1147,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1148,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1149,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1150,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1154,1
    - Dst: mail_parm_split
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1156,1
    - Dst: update_env
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1157,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1158,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1160,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1160,1
    - Dst: get_mail_conf_str_table
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1161,1
    - Dst: mail_dict_init
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1163,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1165,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1166,1
    - Dst: signal
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1168,1
    - Dst: debug_process
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1176,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1183,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1185,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1187,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1201,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1203,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1209,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1210,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1211,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1215,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1215,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1216,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1219,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1221,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1226,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1231,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1234,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1236,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1238,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1241,1
    - Dst: dsn_notify_mask
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1253,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1254,1
    - Dst: dsn_ret_code
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1257,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1258,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1261,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1262,1
    - Dst: allprint
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1263,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1264,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1271,1
    - Dst: verp_delims_verify
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1273,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1274,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1283,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1287,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1321,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1325,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1342,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1347,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1351,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1353,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1364,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1372,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1375,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1378,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1382,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1384,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1386,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1388,1
    - Dst: exit
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1404,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1407,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1412,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1413,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1414,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1416,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1417,1
    - Dst: mail_run_replace
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1418,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1422,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1423,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1424,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1426,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1427,1
    - Dst: mail_run_replace
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1428,1
    - Dst: enqueue
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1431,1
    - Dst: exit
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1433,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1439,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1441,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1442,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1444,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1445,1
    - Dst: mail_run_replace
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1446,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1450,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1452,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1453,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1455,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1456,1
    - Dst: mail_run_replace
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1457,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1461,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1462,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1463,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1465,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1466,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1467,1
    - Dst: mail_run_background
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1468,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1469,1
    - Dst: exit
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1470,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1474,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1478,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1479,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1481,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1482,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1484,1
    - Dst: argv_split_append
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1486,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1487,1
    - Dst: mail_run_replace
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1488,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1492,1
    - Dst: check_user_acl_byuid
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1495,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1496,1
    - Dst: msg_fatal_status
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1497,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1500,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1501,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1503,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1504,1
    - Dst: mail_run_replace
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1505,1
    - Dst: exit
      Src: /src/postfix/postfix/src/sendmail/sendmail.c:1508,1
    CyclomaticComplexity: 125
    EdgeCount: 125
    ICount: 336
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1030
    functionDepth: 5
    functionLinenumber: 1030
    functionLinenumberEnd: 1511
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/sendmail/sendmail.c
    functionUses: 31
    functionsReached:
    - check_user_acl_byuid
    - mail_conf_checkdir
    - argv_split_append
    - set_ugid
    - sane_dirname
    - safe_getenv
    - msg_vstream_init
    - msg_info
    - open
    - argv_alloc
    - GETOPT
    - getuid
    - setenv
    - msg_panic
    - argv_terminate
    - strlen
    - maillog_client_init
    - dsn_ret_code
    - exit
    - vstring_alloc
    - chdir
    - set_mail_conf_str
    - get_mail_conf_str_table
    - concatenate
    - mail_run_replace
    - verp_delims_verify
    - dsn_notify_mask
    - enqueue
    - debug_process
    - mail_parm_split
    - update_env
    - close
    - mail_task
    - getgid
    - msg_fatal_status
    - strncmp
    - fstat
    - sane_basename
    - signal
    - msg_cleanup
    - vstring_free
    - mail_conf_read
    - strrchr
    - msg_warn
    - mail_dict_init
    - geteuid
    - argv_free
    - umask
    - strcmp
    - argv_add
    - ISDIGIT
    - allprint
    - mail_run_background
    - mystrdup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 581
    functionName: PIPE_OPT_FOLD_FLAGS
    functionSourceFile: /src/postfix/postfix/src/pipe/pipe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PIPE_OPT_FOLD_FLAGS(f)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/pipe/pipe.c:672,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/pipe/pipe.c:674,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/pipe/pipe.c:676,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/pipe/pipe.c:676,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - type
    - buf
    - context
    argTypes:
    - int
    - VSTRING*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 683
    functionName: parse_callback
    functionSourceFile: /src/postfix/postfix/src/pipe/pipe.c
    functionUses: 0
    functionsReached:
    - vstring_str
    - msg_warn
    - strcmp
    linkageType: ''
    returnType: int
    signature: int parse_callback(int type, VSTRING *buf, void *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/pipe/pipe.c:689,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/pipe/pipe.c:695,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/pipe/pipe.c:697,1
    - Dst: fold_addr
      Src: /src/postfix/postfix/src/pipe/pipe.c:702,1
    - Dst: STR
      Src: /src/postfix/postfix/src/pipe/pipe.c:702,1
    - Dst: PIPE_OPT_FOLD_FLAGS
      Src: /src/postfix/postfix/src/pipe/pipe.c:702,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/pipe/pipe.c:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - address
    - flags
    argTypes:
    - VSTRING*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 705
    functionName: morph_recipient
    functionSourceFile: /src/postfix/postfix/src/pipe/pipe.c
    functionUses: 0
    functionsReached:
    - vstring_alloc
    - vstring_strcpy
    - fold_addr
    - quote_822_local
    - PIPE_OPT_FOLD_FLAGS
    - vstring_free
    - STR
    linkageType: ''
    returnType: void
    signature: void morph_recipient(VSTRING *buf, const char *address, int flags)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/pipe/pipe.c:712,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/pipe/pipe.c:736,1
    - Dst: mac_parse
      Src: /src/postfix/postfix/src/pipe/pipe.c:740,1
    - Dst: EARLY_RETURN
      Src: /src/postfix/postfix/src/pipe/pipe.c:741,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/pipe/pipe.c:743,1
    - Dst: dict_eval
      Src: /src/postfix/postfix/src/pipe/pipe.c:743,1
    - Dst: morph_recipient
      Src: /src/postfix/postfix/src/pipe/pipe.c:751,1
    - Dst: dict_update
      Src: /src/postfix/postfix/src/pipe/pipe.c:752,1
    - Dst: STR
      Src: /src/postfix/postfix/src/pipe/pipe.c:752,1
    - Dst: morph_recipient
      Src: /src/postfix/postfix/src/pipe/pipe.c:759,1
    - Dst: dict_update
      Src: /src/postfix/postfix/src/pipe/pipe.c:760,1
    - Dst: STR
      Src: /src/postfix/postfix/src/pipe/pipe.c:760,1
    - Dst: morph_recipient
      Src: /src/postfix/postfix/src/pipe/pipe.c:776,1
    - Dst: split_at_right
      Src: /src/postfix/postfix/src/pipe/pipe.c:778,1
    - Dst: STR
      Src: /src/postfix/postfix/src/pipe/pipe.c:778,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/pipe/pipe.c:779,1
    - Dst: split_addr
      Src: /src/postfix/postfix/src/pipe/pipe.c:782,1
    - Dst: STR
      Src: /src/postfix/postfix/src/pipe/pipe.c:782,1
    - Dst: STR
      Src: /src/postfix/postfix/src/pipe/pipe.c:783,1
    - Dst: dict_update
      Src: /src/postfix/postfix/src/pipe/pipe.c:785,1
    - Dst: STR
      Src: /src/postfix/postfix/src/pipe/pipe.c:785,1
    - Dst: morph_recipient
      Src: /src/postfix/postfix/src/pipe/pipe.c:794,1
    - Dst: split_at_right
      Src: /src/postfix/postfix/src/pipe/pipe.c:796,1
    - Dst: STR
      Src: /src/postfix/postfix/src/pipe/pipe.c:796,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/pipe/pipe.c:797,1
    - Dst: split_addr
      Src: /src/postfix/postfix/src/pipe/pipe.c:800,1
    - Dst: STR
      Src: /src/postfix/postfix/src/pipe/pipe.c:800,1
    - Dst: dict_update
      Src: /src/postfix/postfix/src/pipe/pipe.c:802,1
    - Dst: morph_recipient
      Src: /src/postfix/postfix/src/pipe/pipe.c:810,1
    - Dst: split_at_right
      Src: /src/postfix/postfix/src/pipe/pipe.c:812,1
    - Dst: STR
      Src: /src/postfix/postfix/src/pipe/pipe.c:812,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/pipe/pipe.c:813,1
    - Dst: dict_update
      Src: /src/postfix/postfix/src/pipe/pipe.c:815,1
    - Dst: STR
      Src: /src/postfix/postfix/src/pipe/pipe.c:815,1
    - Dst: morph_recipient
      Src: /src/postfix/postfix/src/pipe/pipe.c:823,1
    - Dst: split_at_right
      Src: /src/postfix/postfix/src/pipe/pipe.c:825,1
    - Dst: STR
      Src: /src/postfix/postfix/src/pipe/pipe.c:825,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/pipe/pipe.c:827,1
    - Dst: dict_update
      Src: /src/postfix/postfix/src/pipe/pipe.c:831,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/pipe/pipe.c:837,1
    - Dst: dict_eval
      Src: /src/postfix/postfix/src/pipe/pipe.c:837,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/pipe/pipe.c:841,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/pipe/pipe.c:842,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 4
    argNames:
    - service
    - argv
    - rcpt_list
    - flags
    argTypes:
    - char*
    - char**
    - RECIPIENT_LIST*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 709
    functionDepth: 3
    functionLinenumber: 709
    functionLinenumberEnd: 844
    functionName: expand_argv
    functionSourceFile: /src/postfix/postfix/src/pipe/pipe.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - split_addr
    - dict_update
    - vstring_alloc
    - dict_eval
    - split_at_right
    - argv_alloc
    - EARLY_RETURN
    - argv_add
    - mac_parse
    - morph_recipient
    - vstring_free
    - argv_terminate
    - STR
    linkageType: ''
    returnType: ARGV
    signature: "ARGV *expand_argv(const char *service, char **argv,\n\t\t\t         RECIPIENT_LIST
      *rcpt_list, int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 735
    functionName: EARLY_RETURN
    functionSourceFile: /src/postfix/postfix/src/pipe/pipe.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EARLY_RETURN(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_mail_conf_time2
      Src: /src/postfix/postfix/src/pipe/pipe.c:856,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/pipe/pipe.c:862,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - config
    - service
    argTypes:
    - PIPE_PARAMS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 848
    functionDepth: 4
    functionLinenumber: 848
    functionLinenumberEnd: 863
    functionName: get_service_params
    functionSourceFile: /src/postfix/postfix/src/pipe/pipe.c
    functionUses: 0
    functionsReached:
    - get_mail_conf_time2
    - msg_info
    linkageType: ''
    returnType: void
    signature: void get_service_params(PIPE_PARAMS *config, char *service)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/pipe/pipe.c:886,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/pipe/pipe.c:886,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/pipe/pipe.c:887,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/pipe/pipe.c:887,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/pipe/pipe.c:898,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/pipe/pipe.c:935,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/pipe/pipe.c:944,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/pipe/pipe.c:946,1
    - Dst: getpwnam
      Src: /src/postfix/postfix/src/pipe/pipe.c:949,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/pipe/pipe.c:950,1
    - Dst: getgrnam
      Src: /src/postfix/postfix/src/pipe/pipe.c:953,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/pipe/pipe.c:954,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/pipe/pipe.c:964,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/pipe/pipe.c:965,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/pipe/pipe.c:971,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/pipe/pipe.c:972,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/pipe/pipe.c:978,1
    - Dst: unescape
      Src: /src/postfix/postfix/src/pipe/pipe.c:979,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/pipe/pipe.c:985,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/pipe/pipe.c:986,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/pipe/pipe.c:992,1
    - Dst: off_cvt_string
      Src: /src/postfix/postfix/src/pipe/pipe.c:994,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/pipe/pipe.c:995,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/pipe/pipe.c:1001,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/pipe/pipe.c:1011,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/pipe/pipe.c:1018,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/pipe/pipe.c:1020,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/pipe/pipe.c:1022,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/pipe/pipe.c:1024,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/pipe/pipe.c:1027,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/pipe/pipe.c:1029,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/pipe/pipe.c:1032,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/pipe/pipe.c:1039,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 109
    argCount: 2
    argNames:
    - attr
    - argv
    argTypes:
    - PIPE_ATTR*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 867
    functionDepth: 2
    functionLinenumber: 867
    functionLinenumberEnd: 1042
    functionName: get_service_attr
    functionSourceFile: /src/postfix/postfix/src/pipe/pipe.c
    functionUses: 0
    functionsReached:
    - unescape
    - getpwnam
    - off_cvt_string
    - vstring_alloc
    - getgrnam
    - msg_info
    - vstring_strcpy
    - strncasecmp
    - split_at
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: void
    signature: void get_service_attr(PIPE_ATTR *attr, char **argv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/pipe/pipe.c:1063,1
    - Dst: trimblanks
      Src: /src/postfix/postfix/src/pipe/pipe.c:1063,1
    - Dst: STR
      Src: /src/postfix/postfix/src/pipe/pipe.c:1063,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/pipe/pipe.c:1064,1
    - Dst: STR
      Src: /src/postfix/postfix/src/pipe/pipe.c:1064,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/pipe/pipe.c:1065,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/pipe/pipe.c:1066,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/pipe/pipe.c:1068,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/pipe/pipe.c:1068,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/pipe/pipe.c:1069,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/pipe/pipe.c:1069,1
    - Dst: STR
      Src: /src/postfix/postfix/src/pipe/pipe.c:1070,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/pipe/pipe.c:1072,1
    - Dst: dsb_update
      Src: /src/postfix/postfix/src/pipe/pipe.c:1073,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/pipe/pipe.c:1076,1
    - Dst: DSN_FROM_DSN_BUF
      Src: /src/postfix/postfix/src/pipe/pipe.c:1077,1
    - Dst: sent
      Src: /src/postfix/postfix/src/pipe/pipe.c:1080,1
    - Dst: DEL_REQ_TRACE_FLAGS
      Src: /src/postfix/postfix/src/pipe/pipe.c:1080,1
    - Dst: deliver_completed
      Src: /src/postfix/postfix/src/pipe/pipe.c:1084,1
    - Dst: DSN_FROM_DSN_BUF
      Src: /src/postfix/postfix/src/pipe/pipe.c:1090,1
    - Dst: STR
      Src: /src/postfix/postfix/src/pipe/pipe.c:1094,1
    - Dst: DEL_REQ_TRACE_FLAGS
      Src: /src/postfix/postfix/src/pipe/pipe.c:1096,1
    - Dst: deliver_completed
      Src: /src/postfix/postfix/src/pipe/pipe.c:1101,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/pipe/pipe.c:1110,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 5
    argNames:
    - command_status
    - service
    - request
    - attr
    - why
    argTypes:
    - int
    - char*
    - DELIVER_REQUEST*
    - PIPE_ATTR*
    - DSN_BUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1046
    functionDepth: 3
    functionLinenumber: 1046
    functionLinenumberEnd: 1115
    functionName: eval_command_status
    functionSourceFile: /src/postfix/postfix/src/pipe/pipe.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstring_export
    - vstring_sprintf
    - vstring_truncate
    - DSN_FROM_DSN_BUF
    - VSTRING_LEN
    - dsb_update
    - DEL_REQ_TRACE_FLAGS
    - vstring_alloc
    - deliver_completed
    - myfree
    - VSTRING_TERMINATE
    - trimblanks
    - sent
    - mystrdup
    - STR
    linkageType: ''
    returnType: int
    signature: "int eval_command_status(int command_status, char *service,\n\t\t\t
      \         DELIVER_REQUEST *request, PIPE_ATTR *attr,\n\t\t\t               DSN_BUF
      *why)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: dsb_create
      Src: /src/postfix/postfix/src/pipe/pipe.c:1125,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/pipe/pipe.c:1139,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/pipe/pipe.c:1148,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/pipe/pipe.c:1150,1
    - Dst: get_service_params
      Src: /src/postfix/postfix/src/pipe/pipe.c:1152,1
    - Dst: get_service_attr
      Src: /src/postfix/postfix/src/pipe/pipe.c:1153,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/pipe/pipe.c:1160,1
    - Dst: eval_command_status
      Src: /src/postfix/postfix/src/pipe/pipe.c:1161,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/pipe/pipe.c:1163,1
    - Dst: DELIVER_MSG_CLEANUP
      Src: /src/postfix/postfix/src/pipe/pipe.c:1165,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/pipe/pipe.c:1173,1
    - Dst: eval_command_status
      Src: /src/postfix/postfix/src/pipe/pipe.c:1174,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/pipe/pipe.c:1176,1
    - Dst: DELIVER_MSG_CLEANUP
      Src: /src/postfix/postfix/src/pipe/pipe.c:1178,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/pipe/pipe.c:1187,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/pipe/pipe.c:1189,1
    - Dst: eval_command_status
      Src: /src/postfix/postfix/src/pipe/pipe.c:1190,1
    - Dst: DELIVER_MSG_CLEANUP
      Src: /src/postfix/postfix/src/pipe/pipe.c:1192,1
    - Dst: DEL_REQ_TRACE_ONLY
      Src: /src/postfix/postfix/src/pipe/pipe.c:1199,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/pipe/pipe.c:1205,1
    - Dst: DSN_FROM_DSN_BUF
      Src: /src/postfix/postfix/src/pipe/pipe.c:1206,1
    - Dst: sent
      Src: /src/postfix/postfix/src/pipe/pipe.c:1209,1
    - Dst: DEL_REQ_TRACE_FLAGS
      Src: /src/postfix/postfix/src/pipe/pipe.c:1209,1
    - Dst: deliver_completed
      Src: /src/postfix/postfix/src/pipe/pipe.c:1213,1
    - Dst: DELIVER_MSG_CLEANUP
      Src: /src/postfix/postfix/src/pipe/pipe.c:1216,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/pipe/pipe.c:1230,1
    - Dst: delivered_hdr_init
      Src: /src/postfix/postfix/src/pipe/pipe.c:1232,1
    - Dst: delivered_hdr_find
      Src: /src/postfix/postfix/src/pipe/pipe.c:1235,1
    - Dst: delivered_hdr_free
      Src: /src/postfix/postfix/src/pipe/pipe.c:1236,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/pipe/pipe.c:1238,1
    - Dst: eval_command_status
      Src: /src/postfix/postfix/src/pipe/pipe.c:1240,1
    - Dst: DELIVER_MSG_CLEANUP
      Src: /src/postfix/postfix/src/pipe/pipe.c:1242,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/pipe/pipe.c:1253,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/pipe/pipe.c:1254,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/pipe/pipe.c:1254,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/pipe/pipe.c:1259,1
    - Dst: STR
      Src: /src/postfix/postfix/src/pipe/pipe.c:1260,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/pipe/pipe.c:1262,1
    - Dst: dict_update
      Src: /src/postfix/postfix/src/pipe/pipe.c:1263,1
    - Dst: STR
      Src: /src/postfix/postfix/src/pipe/pipe.c:1263,1
    - Dst: dict_update
      Src: /src/postfix/postfix/src/pipe/pipe.c:1265,1
    - Dst: casefold
      Src: /src/postfix/postfix/src/pipe/pipe.c:1267,1
    - Dst: dict_update
      Src: /src/postfix/postfix/src/pipe/pipe.c:1268,1
    - Dst: STR
      Src: /src/postfix/postfix/src/pipe/pipe.c:1268,1
    - Dst: dict_update
      Src: /src/postfix/postfix/src/pipe/pipe.c:1270,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/pipe/pipe.c:1271,1
    - Dst: dict_update
      Src: /src/postfix/postfix/src/pipe/pipe.c:1272,1
    - Dst: STR
      Src: /src/postfix/postfix/src/pipe/pipe.c:1272,1
    - Dst: dict_update
      Src: /src/postfix/postfix/src/pipe/pipe.c:1273,1
    - Dst: dict_update
      Src: /src/postfix/postfix/src/pipe/pipe.c:1275,1
    - Dst: dict_update
      Src: /src/postfix/postfix/src/pipe/pipe.c:1277,1
    - Dst: dict_update
      Src: /src/postfix/postfix/src/pipe/pipe.c:1279,1
    - Dst: dict_update
      Src: /src/postfix/postfix/src/pipe/pipe.c:1281,1
    - Dst: dict_update
      Src: /src/postfix/postfix/src/pipe/pipe.c:1283,1
    - Dst: dict_update
      Src: /src/postfix/postfix/src/pipe/pipe.c:1285,1
    - Dst: dict_update
      Src: /src/postfix/postfix/src/pipe/pipe.c:1287,1
    - Dst: dict_update
      Src: /src/postfix/postfix/src/pipe/pipe.c:1289,1
    - Dst: dict_update
      Src: /src/postfix/postfix/src/pipe/pipe.c:1291,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/pipe/pipe.c:1293,1
    - Dst: expand_argv
      Src: /src/postfix/postfix/src/pipe/pipe.c:1295,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/pipe/pipe.c:1297,1
    - Dst: eval_command_status
      Src: /src/postfix/postfix/src/pipe/pipe.c:1298,1
    - Dst: DELIVER_MSG_CLEANUP
      Src: /src/postfix/postfix/src/pipe/pipe.c:1300,1
    - Dst: mail_parm_split
      Src: /src/postfix/postfix/src/pipe/pipe.c:1303,1
    - Dst: pipe_command
      Src: /src/postfix/postfix/src/pipe/pipe.c:1305,1
    - Dst: CA_PIPE_CMD_UID
      Src: /src/postfix/postfix/src/pipe/pipe.c:1306,1
    - Dst: CA_PIPE_CMD_GID
      Src: /src/postfix/postfix/src/pipe/pipe.c:1307,1
    - Dst: CA_PIPE_CMD_SENDER
      Src: /src/postfix/postfix/src/pipe/pipe.c:1308,1
    - Dst: CA_PIPE_CMD_COPY_FLAGS
      Src: /src/postfix/postfix/src/pipe/pipe.c:1309,1
    - Dst: CA_PIPE_CMD_ARGV
      Src: /src/postfix/postfix/src/pipe/pipe.c:1310,1
    - Dst: CA_PIPE_CMD_TIME_LIMIT
      Src: /src/postfix/postfix/src/pipe/pipe.c:1311,1
    - Dst: CA_PIPE_CMD_EOL
      Src: /src/postfix/postfix/src/pipe/pipe.c:1312,1
    - Dst: STR
      Src: /src/postfix/postfix/src/pipe/pipe.c:1312,1
    - Dst: CA_PIPE_CMD_EXPORT
      Src: /src/postfix/postfix/src/pipe/pipe.c:1313,1
    - Dst: CA_PIPE_CMD_CWD
      Src: /src/postfix/postfix/src/pipe/pipe.c:1314,1
    - Dst: CA_PIPE_CMD_CHROOT
      Src: /src/postfix/postfix/src/pipe/pipe.c:1315,1
    - Dst: CA_PIPE_CMD_ORIG_RCPT
      Src: /src/postfix/postfix/src/pipe/pipe.c:1316,1
    - Dst: CA_PIPE_CMD_DELIVERED
      Src: /src/postfix/postfix/src/pipe/pipe.c:1317,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/pipe/pipe.c:1319,1
    - Dst: eval_command_status
      Src: /src/postfix/postfix/src/pipe/pipe.c:1321,1
    - Dst: DELIVER_MSG_CLEANUP
      Src: /src/postfix/postfix/src/pipe/pipe.c:1327,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 100
    argCount: 3
    argNames:
    - request
    - service
    - argv
    argTypes:
    - DELIVER_REQUEST*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1119
    functionDepth: 5
    functionLinenumber: 1119
    functionLinenumberEnd: 1330
    functionName: deliver_message
    functionSourceFile: /src/postfix/postfix/src/pipe/pipe.c
    functionUses: 1
    functionsReached:
    - CA_PIPE_CMD_ARGV
    - vstring_sprintf
    - CA_PIPE_CMD_GID
    - msg_info
    - CA_PIPE_CMD_CWD
    - pipe_command
    - dsb_simple
    - CA_PIPE_CMD_UID
    - sent
    - msg_panic
    - VSTREAM_PATH
    - dict_update
    - CA_PIPE_CMD_SENDER
    - vstring_alloc
    - CA_PIPE_CMD_ORIG_RCPT
    - delivered_hdr_init
    - quote_822_local
    - DSN_FROM_DSN_BUF
    - delivered_hdr_find
    - CA_PIPE_CMD_EOL
    - mail_parm_split
    - get_service_attr
    - CA_PIPE_CMD_TIME_LIMIT
    - DELIVER_MSG_CLEANUP
    - casefold
    - get_service_params
    - vstring_free
    - CA_PIPE_CMD_EXPORT
    - msg_warn
    - vstream_fseek
    - CA_PIPE_CMD_DELIVERED
    - eval_command_status
    - DEL_REQ_TRACE_ONLY
    - DEL_REQ_TRACE_FLAGS
    - argv_free
    - deliver_completed
    - dsb_create
    - CA_PIPE_CMD_CHROOT
    - delivered_hdr_free
    - CA_PIPE_CMD_COPY_FLAGS
    - expand_argv
    - msg_fatal
    - STR
    linkageType: ''
    returnType: int
    signature: int deliver_message(DELIVER_REQUEST *request, char *service, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1137
    functionName: DELIVER_MSG_CLEANUP
    functionSourceFile: /src/postfix/postfix/src/pipe/pipe.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DELIVER_MSG_CLEANUP()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deliver_request_read
      Src: /src/postfix/postfix/src/pipe/pipe.c:1347,1
    - Dst: deliver_message
      Src: /src/postfix/postfix/src/pipe/pipe.c:1348,1
    - Dst: deliver_request_done
      Src: /src/postfix/postfix/src/pipe/pipe.c:1349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - client_stream
    - service
    - argv
    argTypes:
    - VSTREAM*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1334
    functionDepth: 6
    functionLinenumber: 1334
    functionLinenumberEnd: 1351
    functionName: pipe_service
    functionSourceFile: /src/postfix/postfix/src/pipe/pipe.c
    functionUses: 0
    functionsReached:
    - deliver_request_done
    - deliver_message
    - deliver_request_read
    linkageType: ''
    returnType: void
    signature: void pipe_service(VSTREAM *client_stream, char *service, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_changed_name
      Src: /src/postfix/postfix/src/pipe/pipe.c:1359,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/pipe/pipe.c:1360,1
    - Dst: exit
      Src: /src/postfix/postfix/src/pipe/pipe.c:1361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1355
    functionDepth: 1
    functionLinenumber: 1355
    functionLinenumberEnd: 1363
    functionName: pre_accept
    functionSourceFile: /src/postfix/postfix/src/pipe/pipe.c
    functionUses: 0
    functionsReached:
    - dict_changed_name
    - exit
    - msg_info
    linkageType: ''
    returnType: void
    signature: void pre_accept(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/pipe/pipe.c:1369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1367
    functionDepth: 1
    functionLinenumber: 1367
    functionLinenumberEnd: 1370
    functionName: drop_privileges
    functionSourceFile: /src/postfix/postfix/src/pipe/pipe.c
    functionUses: 0
    functionsReached:
    - set_eugid
    linkageType: ''
    returnType: void
    signature: void drop_privileges(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flush_init
      Src: /src/postfix/postfix/src/pipe/pipe.c:1376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1374
    functionDepth: 2
    functionLinenumber: 1374
    functionLinenumberEnd: 1377
    functionName: pre_init
    functionSourceFile: /src/postfix/postfix/src/pipe/pipe.c
    functionUses: 2
    functionsReached:
    - flush_init
    linkageType: ''
    returnType: void
    signature: void pre_init(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: single_server_main
      Src: /src/postfix/postfix/src/pipe/pipe.c:1399,1
    - Dst: CA_MAIL_SERVER_TIME_TABLE
      Src: /src/postfix/postfix/src/pipe/pipe.c:1400,1
    - Dst: CA_MAIL_SERVER_STR_TABLE
      Src: /src/postfix/postfix/src/pipe/pipe.c:1401,1
    - Dst: CA_MAIL_SERVER_PRE_INIT
      Src: /src/postfix/postfix/src/pipe/pipe.c:1402,1
    - Dst: CA_MAIL_SERVER_POST_INIT
      Src: /src/postfix/postfix/src/pipe/pipe.c:1403,1
    - Dst: CA_MAIL_SERVER_PRE_ACCEPT
      Src: /src/postfix/postfix/src/pipe/pipe.c:1404,1
    - Dst: CA_MAIL_SERVER_BOUNCE_INIT
      Src: /src/postfix/postfix/src/pipe/pipe.c:1406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1409
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/pipe/pipe.c
    functionUses: 32
    functionsReached:
    - CA_MAIL_SERVER_PRE_ACCEPT
    - CA_MAIL_SERVER_STR_TABLE
    - single_server_main
    - CA_MAIL_SERVER_BOUNCE_INIT
    - CA_MAIL_SERVER_POST_INIT
    - CA_MAIL_SERVER_TIME_TABLE
    - CA_MAIL_SERVER_PRE_INIT
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/discard/discard.c:155,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/discard/discard.c:161,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/discard/discard.c:163,1
    - Dst: mail_queue_open
      Src: /src/postfix/postfix/src/discard/discard.c:171,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/discard/discard.c:174,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/discard/discard.c:177,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/discard/discard.c:177,1
    - Dst: dsn_split
      Src: /src/postfix/postfix/src/discard/discard.c:184,1
    - Dst: DSN_SIMPLE
      Src: /src/postfix/postfix/src/discard/discard.c:185,1
    - Dst: DSN_STATUS
      Src: /src/postfix/postfix/src/discard/discard.c:185,1
    - Dst: sent
      Src: /src/postfix/postfix/src/discard/discard.c:188,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/discard/discard.c:188,1
    - Dst: deliver_completed
      Src: /src/postfix/postfix/src/discard/discard.c:191,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/discard/discard.c:198,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/discard/discard.c:199,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - request
    argTypes:
    - DELIVER_REQUEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 143
    functionDepth: 4
    functionLinenumber: 143
    functionLinenumberEnd: 202
    functionName: deliver_message
    functionSourceFile: /src/postfix/postfix/src/discard/discard.c
    functionUses: 2
    functionsReached:
    - msg_warn
    - VSTREAM_PATH
    - dsn_split
    - mail_queue_open
    - msg_info
    - DSN_STATUS
    - DSN_SIMPLE
    - BOUNCE_FLAGS
    - deliver_completed
    - vstream_fclose
    - msg_fatal
    - sent
    linkageType: ''
    returnType: int
    signature: int deliver_message(DELIVER_REQUEST *request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - request
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: BOUNCE_FLAGS
    functionSourceFile: /src/postfix/postfix/src/discard/discard.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOUNCE_FLAGS(request)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/discard/discard.c:215,1
    - Dst: deliver_request_read
      Src: /src/postfix/postfix/src/discard/discard.c:225,1
    - Dst: deliver_message
      Src: /src/postfix/postfix/src/discard/discard.c:226,1
    - Dst: deliver_request_done
      Src: /src/postfix/postfix/src/discard/discard.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - client_stream
    - unused_service
    - argv
    argTypes:
    - VSTREAM*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 206
    functionDepth: 6
    functionLinenumber: 206
    functionLinenumberEnd: 229
    functionName: discard_service
    functionSourceFile: /src/postfix/postfix/src/discard/discard.c
    functionUses: 0
    functionsReached:
    - deliver_request_done
    - msg_fatal
    - deliver_message
    - deliver_request_read
    linkageType: ''
    returnType: void
    signature: void discard_service(VSTREAM *client_stream, char *unused_service,
      char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flush_init
      Src: /src/postfix/postfix/src/discard/discard.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: pre_init
    functionSourceFile: /src/postfix/postfix/src/discard/discard.c
    functionUses: 2
    functionsReached:
    - flush_init
    linkageType: ''
    returnType: void
    signature: void pre_init(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: single_server_main
      Src: /src/postfix/postfix/src/discard/discard.c:250,1
    - Dst: CA_MAIL_SERVER_PRE_INIT
      Src: /src/postfix/postfix/src/discard/discard.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 253
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/discard/discard.c
    functionUses: 33
    functionsReached:
    - CA_MAIL_SERVER_PRE_INIT
    - single_server_main
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/local/forward.c:116,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/local/forward.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 120
    functionName: forward_init
    functionSourceFile: /src/postfix/postfix/src/local/forward.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - htable_create
    linkageType: ''
    returnType: int
    signature: int forward_init(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/local/forward.c:126,1
    - Dst: mail_connect
      Src: /src/postfix/postfix/src/local/forward.c:144,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/forward.c:146,1
    - Dst: FORWARD_OPEN_RETURN
      Src: /src/postfix/postfix/src/local/forward.c:148,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/local/forward.c:150,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/local/forward.c:150,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/local/forward.c:151,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/local/forward.c:152,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/local/forward.c:153,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/local/forward.c:155,1
    - Dst: FORWARD_OPEN_RETURN
      Src: /src/postfix/postfix/src/local/forward.c:156,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/local/forward.c:158,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/local/forward.c:160,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/forward.c:160,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/local/forward.c:161,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/local/forward.c:170,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/local/forward.c:171,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/local/forward.c:178,1
    - Dst: REC_TYPE_TIME_ARG
      Src: /src/postfix/postfix/src/local/forward.c:179,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/local/forward.c:180,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/local/forward.c:187,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/local/forward.c:190,1
    - Dst: PASS_ATTR
      Src: /src/postfix/postfix/src/local/forward.c:206,1
    - Dst: PASS_ATTR
      Src: /src/postfix/postfix/src/local/forward.c:207,1
    - Dst: PASS_ATTR
      Src: /src/postfix/postfix/src/local/forward.c:208,1
    - Dst: PASS_ATTR
      Src: /src/postfix/postfix/src/local/forward.c:209,1
    - Dst: PASS_ATTR
      Src: /src/postfix/postfix/src/local/forward.c:210,1
    - Dst: PASS_ATTR
      Src: /src/postfix/postfix/src/local/forward.c:211,1
    - Dst: PASS_ATTR
      Src: /src/postfix/postfix/src/local/forward.c:212,1
    - Dst: PASS_ATTR
      Src: /src/postfix/postfix/src/local/forward.c:213,1
    - Dst: PASS_ATTR
      Src: /src/postfix/postfix/src/local/forward.c:214,1
    - Dst: FORWARD_OPEN_RETURN
      Src: /src/postfix/postfix/src/local/forward.c:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 2
    argNames:
    - request
    - sender
    argTypes:
    - DELIVER_REQUEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 217
    functionName: forward_open
    functionSourceFile: /src/postfix/postfix/src/local/forward.c
    functionUses: 0
    functionsReached:
    - attr_print
    - RECV_ATTR_STR
    - close_on_exec
    - RECV_ATTR_STREQ
    - rec_fputs
    - REC_TYPE_TIME_ARG
    - vstring_alloc
    - attr_scan
    - mymalloc
    - FORWARD_OPEN_RETURN
    - GETTIMEOFDAY
    - mail_connect
    - SEND_ATTR_INT
    - PASS_ATTR
    - msg_warn
    - vstream_fclose
    - rec_fprintf
    - vstream_fileno
    - mystrdup
    - STR
    linkageType: ''
    returnType: FORWARD_INFO
    signature: FORWARD_INFO *forward_open(DELIVER_REQUEST *request, const char *sender)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: FORWARD_OPEN_RETURN
    functionSourceFile: /src/postfix/postfix/src/local/forward.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORWARD_OPEN_RETURN(res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fp
    - ','
    - name
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: PASS_ATTR
    functionSourceFile: /src/postfix/postfix/src/local/forward.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PASS_ATTR(fp, name, value)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/forward.c:230,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/local/forward.c:233,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/local/forward.c:239,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/local/forward.c:240,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/local/forward.c:241,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/local/forward.c:243,1
    - Dst: forward_open
      Src: /src/postfix/postfix/src/local/forward.c:244,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/local/forward.c:246,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/local/forward.c:255,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/local/forward.c:258,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/local/forward.c:261,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/local/forward.c:262,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/local/forward.c:264,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - attr
    argTypes:
    - DELIVER_ATTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 221
    functionDepth: 4
    functionLinenumber: 221
    functionLinenumberEnd: 265
    functionName: forward_append
    functionSourceFile: /src/postfix/postfix/src/local/forward.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - htable_create
    - forward_open
    - vstream_ferror
    - msg_info
    - htable_enter
    - rec_fprintf
    - rec_fputs
    - htable_find
    linkageType: ''
    returnType: int
    signature: int forward_append(DELIVER_ATTR attr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/local/forward.c:273,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/local/forward.c:283,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/local/forward.c:284,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/local/forward.c:285,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/local/forward.c:287,1
    - Dst: mail_date
      Src: /src/postfix/postfix/src/local/forward.c:288,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/local/forward.c:290,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/local/forward.c:291,1
    - Dst: casefold
      Src: /src/postfix/postfix/src/local/forward.c:292,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/forward.c:292,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/local/forward.c:293,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/local/forward.c:295,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/local/forward.c:296,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/local/forward.c:297,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/local/forward.c:298,1
    - Dst: rec_get
      Src: /src/postfix/postfix/src/local/forward.c:299,1
    - Dst: REC_PUT_BUF
      Src: /src/postfix/postfix/src/local/forward.c:302,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/forward.c:305,1
    - Dst: mark_corrupt
      Src: /src/postfix/postfix/src/local/forward.c:307,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/local/forward.c:314,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/local/forward.c:315,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/local/forward.c:323,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/local/forward.c:324,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/local/forward.c:325,1
    - Dst: dsb_update
      Src: /src/postfix/postfix/src/local/forward.c:339,1
    - Dst: sent
      Src: /src/postfix/postfix/src/local/forward.c:341,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/forward.c:341,1
    - Dst: SENT_ATTR
      Src: /src/postfix/postfix/src/local/forward.c:341,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/local/forward.c:347,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 4
    argNames:
    - info
    - request
    - attr
    - delivered
    argTypes:
    - FORWARD_INFO*
    - DELIVER_REQUEST*
    - DELIVER_ATTR
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 269
    functionDepth: 3
    functionLinenumber: 269
    functionLinenumberEnd: 349
    functionName: forward_send
    functionSourceFile: /src/postfix/postfix/src/local/forward.c
    functionUses: 1
    functionsReached:
    - REC_PUT_BUF
    - dsb_update
    - vstream_ferror
    - rec_fputs
    - sent
    - VSTREAM_PATH
    - vstream_fflush
    - vstring_alloc
    - BOUNCE_FLAGS
    - attr_scan
    - rec_get
    - casefold
    - SENT_ATTR
    - vstring_free
    - mail_date
    - msg_warn
    - vstream_fseek
    - mark_corrupt
    - rec_fprintf
    - vstring_strcpy
    - msg_fatal
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: int
    signature: "int forward_send(FORWARD_INFO *info, DELIVER_REQUEST *request,\n\t\t\t
      \       DELIVER_ATTR attr, char *delivered)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/local/forward.c:369,1
    - Dst: htable_list
      Src: /src/postfix/postfix/src/local/forward.c:375,1
    - Dst: htable_list
      Src: /src/postfix/postfix/src/local/forward.c:378,1
    - Dst: forward_send
      Src: /src/postfix/postfix/src/local/forward.c:382,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/forward.c:384,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/local/forward.c:386,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/local/forward.c:387,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/local/forward.c:388,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/local/forward.c:390,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/local/forward.c:391,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/local/forward.c:393,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/local/forward.c:394,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - request
    - attr
    - cancel
    argTypes:
    - DELIVER_REQUEST*
    - DELIVER_ATTR
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 353
    functionDepth: 4
    functionLinenumber: 353
    functionLinenumberEnd: 397
    functionName: forward_finish
    functionSourceFile: /src/postfix/postfix/src/local/forward.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - htable_free
    - vstream_fclose
    - msg_info
    - myfree
    - htable_list
    - forward_send
    linkageType: ''
    returnType: int
    signature: int forward_finish(DELIVER_REQUEST *request, DELIVER_ATTR attr, int
      cancel)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/local/maildir.c:95,1
    - Dst: MSG_LOG_STATE
      Src: /src/postfix/postfix/src/local/maildir.c:102,1
    - Dst: DEL_REQ_TRACE_ONLY
      Src: /src/postfix/postfix/src/local/maildir.c:107,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/maildir.c:108,1
    - Dst: sent
      Src: /src/postfix/postfix/src/local/maildir.c:109,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/maildir.c:109,1
    - Dst: SENT_ATTR
      Src: /src/postfix/postfix/src/local/maildir.c:109,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/local/maildir.c:116,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/local/maildir.c:117,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/local/maildir.c:117,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/local/maildir.c:121,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/local/maildir.c:127,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/local/maildir.c:128,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/local/maildir.c:129,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/local/maildir.c:183,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/local/maildir.c:184,1
    - Dst: get_hostname
      Src: /src/postfix/postfix/src/local/maildir.c:185,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/local/maildir.c:186,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/maildir.c:186,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/local/maildir.c:188,1
    - Dst: make_dirs
      Src: /src/postfix/postfix/src/local/maildir.c:190,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/local/maildir.c:191,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/maildir.c:192,1
    - Dst: mbox_dsn
      Src: /src/postfix/postfix/src/local/maildir.c:192,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/local/maildir.c:194,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/local/maildir.c:194,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/local/maildir.c:201,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/local/maildir.c:203,1
    - Dst: get_hostname
      Src: /src/postfix/postfix/src/local/maildir.c:208,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/local/maildir.c:209,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/maildir.c:209,1
    - Dst: mail_copy
      Src: /src/postfix/postfix/src/local/maildir.c:210,1
    - Dst: COPY_ATTR
      Src: /src/postfix/postfix/src/local/maildir.c:210,1
    - Dst: sane_link
      Src: /src/postfix/postfix/src/local/maildir.c:213,1
    - Dst: make_dirs
      Src: /src/postfix/postfix/src/local/maildir.c:215,1
    - Dst: make_dirs
      Src: /src/postfix/postfix/src/local/maildir.c:215,1
    - Dst: sane_link
      Src: /src/postfix/postfix/src/local/maildir.c:216,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/maildir.c:217,1
    - Dst: mbox_dsn
      Src: /src/postfix/postfix/src/local/maildir.c:217,1
    - Dst: unlink
      Src: /src/postfix/postfix/src/local/maildir.c:222,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/maildir.c:223,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/local/maildir.c:225,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/maildir.c:234,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/maildir.c:236,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/maildir.c:237,1
    - Dst: vstring_sprintf_prepend
      Src: /src/postfix/postfix/src/local/maildir.c:239,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/maildir.c:241,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/maildir.c:243,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/maildir.c:243,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/maildir.c:245,1
    - Dst: sent
      Src: /src/postfix/postfix/src/local/maildir.c:246,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/maildir.c:246,1
    - Dst: SENT_ATTR
      Src: /src/postfix/postfix/src/local/maildir.c:247,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/local/maildir.c:249,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/local/maildir.c:250,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/local/maildir.c:251,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/local/maildir.c:252,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/local/maildir.c:253,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/local/maildir.c:255,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 3
    argNames:
    - state
    - usr_attr
    - path
    argTypes:
    - LOCAL_STATE
    - USER_ATTR
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 257
    functionName: deliver_maildir
    functionSourceFile: /src/postfix/postfix/src/local/maildir.c
    functionUses: 1
    functionsReached:
    - vstring_sprintf
    - vstring_sprintf_prepend
    - dsb_simple
    - sent
    - VSTREAM_PATH
    - BOUNCE_ATTR
    - BOUNCE_FLAGS
    - vstring_alloc
    - sane_link
    - concatenate
    - vstream_fopen
    - mail_copy
    - mbox_dsn
    - GETTIMEOFDAY
    - make_dirs
    - MSG_LOG_STATE
    - unlink
    - myfree
    - fstat
    - SENT_ATTR
    - COPY_ATTR
    - set_eugid
    - vstring_free
    - msg_warn
    - vstream_fseek
    - DEL_REQ_TRACE_ONLY
    - get_hostname
    - vstream_fileno
    - msg_fatal
    - STR
    linkageType: ''
    returnType: int
    signature: int deliver_maildir(LOCAL_STATE state, USER_ATTR usr_attr, char *path)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: MSG_LOG_STATE
      Src: /src/postfix/postfix/src/local/file.c:97,1
    - Dst: been_here
      Src: /src/postfix/postfix/src/local/file.c:104,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/file.c:113,1
    - Dst: bounce_workaround
      Src: /src/postfix/postfix/src/local/file.c:115,1
    - Dst: DEL_REQ_TRACE_ONLY
      Src: /src/postfix/postfix/src/local/file.c:121,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/file.c:122,1
    - Dst: sent
      Src: /src/postfix/postfix/src/local/file.c:123,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/file.c:123,1
    - Dst: SENT_ATTR
      Src: /src/postfix/postfix/src/local/file.c:124,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/local/file.c:133,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/local/file.c:135,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/local/file.c:140,1
    - Dst: deliver_maildir
      Src: /src/postfix/postfix/src/local/file.c:141,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/file.c:147,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/local/file.c:149,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/local/file.c:150,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/local/file.c:160,1
    - Dst: mbox_open
      Src: /src/postfix/postfix/src/local/file.c:161,1
    - Dst: S_ISREG
      Src: /src/postfix/postfix/src/local/file.c:166,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/local/file.c:167,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/file.c:168,1
    - Dst: mail_copy
      Src: /src/postfix/postfix/src/local/file.c:170,1
    - Dst: COPY_ATTR
      Src: /src/postfix/postfix/src/local/file.c:170,1
    - Dst: S_ISREG
      Src: /src/postfix/postfix/src/local/file.c:171,1
    - Dst: mbox_release
      Src: /src/postfix/postfix/src/local/file.c:175,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/local/file.c:177,1
    - Dst: vstring_sprintf_prepend
      Src: /src/postfix/postfix/src/local/file.c:185,1
    - Dst: bounce_workaround
      Src: /src/postfix/postfix/src/local/file.c:188,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/file.c:190,1
    - Dst: sent
      Src: /src/postfix/postfix/src/local/file.c:191,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/file.c:191,1
    - Dst: SENT_ATTR
      Src: /src/postfix/postfix/src/local/file.c:192,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 3
    argNames:
    - state
    - usr_attr
    - path
    argTypes:
    - LOCAL_STATE
    - USER_ATTR
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 195
    functionName: deliver_file
    functionSourceFile: /src/postfix/postfix/src/local/file.c
    functionUses: 0
    functionsReached:
    - msg_info
    - been_here
    - vstring_sprintf_prepend
    - dsb_simple
    - sent
    - msg_panic
    - strlen
    - bounce_workaround
    - mbox_release
    - BOUNCE_FLAGS
    - S_ISREG
    - mail_copy
    - MSG_LOG_STATE
    - deliver_maildir
    - SENT_ATTR
    - COPY_ATTR
    - set_eugid
    - vstream_fseek
    - DEL_REQ_TRACE_ONLY
    - vstream_fclose
    - msg_fatal
    - mbox_open
    linkageType: ''
    returnType: int
    signature: int deliver_file(LOCAL_STATE state, USER_ATTR usr_attr, char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/local.c:730,1
    - Dst: deliver_attr_init
      Src: /src/postfix/postfix/src/local/local.c:747,1
    - Dst: RESET_OWNER_ATTR
      Src: /src/postfix/postfix/src/local/local.c:760,1
    - Dst: RESET_USER_ATTR
      Src: /src/postfix/postfix/src/local/local.c:761,1
    - Dst: delivered_hdr_init
      Src: /src/postfix/postfix/src/local/local.c:762,1
    - Dst: been_here_init
      Src: /src/postfix/postfix/src/local/local.c:773,1
    - Dst: forward_init
      Src: /src/postfix/postfix/src/local/local.c:774,1
    - Dst: deliver_recipient
      Src: /src/postfix/postfix/src/local/local.c:776,1
    - Dst: forward_finish
      Src: /src/postfix/postfix/src/local/local.c:777,1
    - Dst: deliver_completed
      Src: /src/postfix/postfix/src/local/local.c:779,1
    - Dst: been_here_free
      Src: /src/postfix/postfix/src/local/local.c:780,1
    - Dst: delivered_hdr_free
      Src: /src/postfix/postfix/src/local/local.c:787,1
    - Dst: deliver_attr_free
      Src: /src/postfix/postfix/src/local/local.c:788,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 2
    argNames:
    - rqst
    - service
    argTypes:
    - DELIVER_REQUEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 719
    functionDepth: 5
    functionLinenumber: 719
    functionLinenumberEnd: 791
    functionName: local_deliver
    functionSourceFile: /src/postfix/postfix/src/local/local.c
    functionUses: 1
    functionsReached:
    - deliver_recipient
    - forward_init
    - deliver_attr_init
    - msg_info
    - deliver_completed
    - forward_finish
    - RESET_USER_ATTR
    - been_here_init
    - delivered_hdr_free
    - delivered_hdr_init
    - RESET_OWNER_ATTR
    - deliver_attr_free
    - been_here_free
    linkageType: ''
    returnType: int
    signature: int local_deliver(DELIVER_REQUEST *rqst, char *service)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/local/local.c:804,1
    - Dst: deliver_request_read
      Src: /src/postfix/postfix/src/local/local.c:813,1
    - Dst: local_deliver
      Src: /src/postfix/postfix/src/local/local.c:814,1
    - Dst: deliver_request_done
      Src: /src/postfix/postfix/src/local/local.c:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - stream
    - service
    - argv
    argTypes:
    - VSTREAM*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 795
    functionDepth: 6
    functionLinenumber: 795
    functionLinenumberEnd: 817
    functionName: local_service
    functionSourceFile: /src/postfix/postfix/src/local/local.c
    functionUses: 0
    functionsReached:
    - deliver_request_done
    - msg_fatal
    - local_deliver
    - deliver_request_read
    linkageType: ''
    returnType: void
    signature: void local_service(VSTREAM *stream, char *service, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: name_mask
      Src: /src/postfix/postfix/src/local/local.c:842,1
    - Dst: name_mask
      Src: /src/postfix/postfix/src/local/local.c:844,1
    - Dst: ext_prop_mask
      Src: /src/postfix/postfix/src/local/local.c:847,1
    - Dst: name_mask
      Src: /src/postfix/postfix/src/local/local.c:848,1
    - Dst: mbox_lock_mask
      Src: /src/postfix/postfix/src/local/local.c:850,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/local.c:852,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/local/local.c:857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 821
    functionDepth: 2
    functionLinenumber: 821
    functionLinenumberEnd: 859
    functionName: local_mask_init
    functionSourceFile: /src/postfix/postfix/src/local/local.c
    functionUses: 0
    functionsReached:
    - mbox_lock_mask
    - msg_warn
    - name_mask
    - ext_prop_mask
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void local_mask_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_changed_name
      Src: /src/postfix/postfix/src/local/local.c:867,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/local.c:868,1
    - Dst: exit
      Src: /src/postfix/postfix/src/local/local.c:869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 871
    functionName: pre_accept
    functionSourceFile: /src/postfix/postfix/src/local/local.c
    functionUses: 0
    functionsReached:
    - dict_changed_name
    - exit
    - msg_info
    linkageType: ''
    returnType: void
    signature: void pre_accept(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/local/local.c:881,1
    - Dst: local_mask_init
      Src: /src/postfix/postfix/src/local/local.c:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 875
    functionDepth: 3
    functionLinenumber: 875
    functionLinenumberEnd: 883
    functionName: post_init
    functionSourceFile: /src/postfix/postfix/src/local/local.c
    functionUses: 2
    functionsReached:
    - local_mask_init
    - set_eugid
    linkageType: ''
    returnType: void
    signature: void post_init(char *unused_name, char **unused_argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENFORCING_SIZE_LIMIT
      Src: /src/postfix/postfix/src/local/local.c:903,1
    - Dst: ENFORCING_SIZE_LIMIT
      Src: /src/postfix/postfix/src/local/local.c:904,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/local/local.c:905,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/local/local.c:908,1
    - Dst: set_file_limit
      Src: /src/postfix/postfix/src/local/local.c:910,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/local/local.c:912,1
    - Dst: flush_init
      Src: /src/postfix/postfix/src/local/local.c:917,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 887
    functionDepth: 2
    functionLinenumber: 887
    functionLinenumberEnd: 918
    functionName: pre_init
    functionSourceFile: /src/postfix/postfix/src/local/local.c
    functionUses: 2
    functionsReached:
    - ENFORCING_SIZE_LIMIT
    - flush_init
    - maps_create
    - msg_fatal
    - set_file_limit
    linkageType: ''
    returnType: void
    signature: void pre_init(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: single_server_main
      Src: /src/postfix/postfix/src/local/local.c:984,1
    - Dst: CA_MAIL_SERVER_INT_TABLE
      Src: /src/postfix/postfix/src/local/local.c:985,1
    - Dst: CA_MAIL_SERVER_LONG_TABLE
      Src: /src/postfix/postfix/src/local/local.c:986,1
    - Dst: CA_MAIL_SERVER_STR_TABLE
      Src: /src/postfix/postfix/src/local/local.c:987,1
    - Dst: CA_MAIL_SERVER_RAW_TABLE
      Src: /src/postfix/postfix/src/local/local.c:988,1
    - Dst: CA_MAIL_SERVER_BOOL_TABLE
      Src: /src/postfix/postfix/src/local/local.c:989,1
    - Dst: CA_MAIL_SERVER_TIME_TABLE
      Src: /src/postfix/postfix/src/local/local.c:990,1
    - Dst: CA_MAIL_SERVER_PRE_INIT
      Src: /src/postfix/postfix/src/local/local.c:991,1
    - Dst: CA_MAIL_SERVER_POST_INIT
      Src: /src/postfix/postfix/src/local/local.c:992,1
    - Dst: CA_MAIL_SERVER_PRE_ACCEPT
      Src: /src/postfix/postfix/src/local/local.c:993,1
    - Dst: CA_MAIL_SERVER_BOUNCE_INIT
      Src: /src/postfix/postfix/src/local/local.c:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 998
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/local/local.c
    functionUses: 34
    functionsReached:
    - CA_MAIL_SERVER_PRE_ACCEPT
    - CA_MAIL_SERVER_LONG_TABLE
    - CA_MAIL_SERVER_RAW_TABLE
    - CA_MAIL_SERVER_STR_TABLE
    - single_server_main
    - CA_MAIL_SERVER_BOUNCE_INIT
    - CA_MAIL_SERVER_POST_INIT
    - CA_MAIL_SERVER_INT_TABLE
    - CA_MAIL_SERVER_TIME_TABLE
    - CA_MAIL_SERVER_PRE_INIT
    - CA_MAIL_SERVER_BOOL_TABLE
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: MSG_LOG_STATE
      Src: /src/postfix/postfix/src/local/mailbox.c:117,1
    - Dst: DEL_REQ_TRACE_ONLY
      Src: /src/postfix/postfix/src/local/mailbox.c:122,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/mailbox.c:123,1
    - Dst: sent
      Src: /src/postfix/postfix/src/local/mailbox.c:124,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/mailbox.c:124,1
    - Dst: SENT_ATTR
      Src: /src/postfix/postfix/src/local/mailbox.c:124,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/local/mailbox.c:131,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/local/mailbox.c:132,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/local/mailbox.c:132,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/local/mailbox.c:138,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/local/mailbox.c:141,1
    - Dst: stat
      Src: /src/postfix/postfix/src/local/mailbox.c:159,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/mailbox.c:178,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/local/mailbox.c:192,1
    - Dst: mbox_open
      Src: /src/postfix/postfix/src/local/mailbox.c:193,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/local/mailbox.c:198,1
    - Dst: S_ISREG
      Src: /src/postfix/postfix/src/local/mailbox.c:199,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/local/mailbox.c:200,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/mailbox.c:201,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/local/mailbox.c:204,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/mailbox.c:205,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/mailbox.c:207,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/local/mailbox.c:210,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/local/mailbox.c:211,1
    - Dst: mail_copy
      Src: /src/postfix/postfix/src/local/mailbox.c:212,1
    - Dst: COPY_ATTR
      Src: /src/postfix/postfix/src/local/mailbox.c:212,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/local/mailbox.c:216,1
    - Dst: mbox_release
      Src: /src/postfix/postfix/src/local/mailbox.c:217,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/local/mailbox.c:219,1
    - Dst: vstring_sprintf_prepend
      Src: /src/postfix/postfix/src/local/mailbox.c:227,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/mailbox.c:231,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/mailbox.c:233,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/mailbox.c:233,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/mailbox.c:235,1
    - Dst: sent
      Src: /src/postfix/postfix/src/local/mailbox.c:236,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/mailbox.c:236,1
    - Dst: SENT_ATTR
      Src: /src/postfix/postfix/src/local/mailbox.c:237,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/local/mailbox.c:239,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/local/mailbox.c:240,1
    - Dst: biff_notify
      Src: /src/postfix/postfix/src/local/mailbox.c:241,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/mailbox.c:241,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/local/mailbox.c:241,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/local/mailbox.c:242,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/local/mailbox.c:249,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 84
    argCount: 2
    argNames:
    - state
    - usr_attr
    argTypes:
    - LOCAL_STATE
    - USER_ATTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 251
    functionName: deliver_mailbox_file
    functionSourceFile: /src/postfix/postfix/src/local/mailbox.c
    functionUses: 1
    functionsReached:
    - vstring_sprintf
    - VSTRING_LEN
    - msg_info
    - vstring_sprintf_prepend
    - dsb_simple
    - sent
    - VSTREAM_PATH
    - BOUNCE_ATTR
    - biff_notify
    - mbox_release
    - BOUNCE_FLAGS
    - S_ISREG
    - vstring_alloc
    - concatenate
    - mail_copy
    - MSG_LOG_STATE
    - myfree
    - SENT_ATTR
    - COPY_ATTR
    - set_eugid
    - vstring_free
    - stat
    - msg_warn
    - vstream_fseek
    - DEL_REQ_TRACE_ONLY
    - vstream_fclose
    - STR
    - msg_fatal
    - mbox_open
    linkageType: ''
    returnType: int
    signature: int deliver_mailbox_file(LOCAL_STATE state, USER_ATTR usr_attr)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: MSG_LOG_STATE
      Src: /src/postfix/postfix/src/local/mailbox.c:271,1
    - Dst: been_here
      Src: /src/postfix/postfix/src/local/mailbox.c:278,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/local/mailbox.c:285,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/local/mailbox.c:290,1
    - Dst: deliver_pass
      Src: /src/postfix/postfix/src/local/mailbox.c:293,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/mailbox.c:298,1
    - Dst: defer_append
      Src: /src/postfix/postfix/src/local/mailbox.c:299,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/mailbox.c:299,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/mailbox.c:300,1
    - Dst: deliver_pass
      Src: /src/postfix/postfix/src/local/mailbox.c:305,1
    - Dst: mypwnam_err
      Src: /src/postfix/postfix/src/local/mailbox.c:313,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/mailbox.c:314,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/mailbox.c:316,1
    - Dst: defer_append
      Src: /src/postfix/postfix/src/local/mailbox.c:317,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/mailbox.c:317,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/mailbox.c:318,1
    - Dst: SET_USER_ATTR
      Src: /src/postfix/postfix/src/local/mailbox.c:333,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/local/mailbox.c:341,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/local/mailbox.c:345,1
    - Dst: deliver_command
      Src: /src/postfix/postfix/src/local/mailbox.c:347,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/mailbox.c:350,1
    - Dst: defer_append
      Src: /src/postfix/postfix/src/local/mailbox.c:351,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/mailbox.c:351,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/mailbox.c:352,1
    - Dst: deliver_command
      Src: /src/postfix/postfix/src/local/mailbox.c:354,1
    - Dst: LAST_CHAR
      Src: /src/postfix/postfix/src/local/mailbox.c:355,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/local/mailbox.c:356,1
    - Dst: deliver_maildir
      Src: /src/postfix/postfix/src/local/mailbox.c:357,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/local/mailbox.c:358,1
    - Dst: LAST_CHAR
      Src: /src/postfix/postfix/src/local/mailbox.c:359,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/local/mailbox.c:360,1
    - Dst: deliver_maildir
      Src: /src/postfix/postfix/src/local/mailbox.c:362,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/local/mailbox.c:363,1
    - Dst: deliver_mailbox_file
      Src: /src/postfix/postfix/src/local/mailbox.c:365,1
    - Dst: mypwfree
      Src: /src/postfix/postfix/src/local/mailbox.c:370,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 3
    argNames:
    - state
    - usr_attr
    - statusp
    argTypes:
    - LOCAL_STATE
    - USER_ATTR
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 255
    functionDepth: 5
    functionLinenumber: 255
    functionLinenumberEnd: 373
    functionName: deliver_mailbox
    functionSourceFile: /src/postfix/postfix/src/local/mailbox.c
    functionUses: 1
    functionsReached:
    - deliver_pass
    - deliver_mailbox_file
    - been_here
    - dsb_simple
    - mypwfree
    - maps_find
    - BOUNCE_ATTR
    - BOUNCE_FLAGS
    - concatenate
    - MSG_LOG_STATE
    - mypwnam_err
    - maps_create
    - deliver_maildir
    - myfree
    - deliver_command
    - defer_append
    - msg_warn
    - LAST_CHAR
    - SET_USER_ATTR
    linkageType: ''
    returnType: int
    signature: int deliver_mailbox(LOCAL_STATE state, USER_ATTR usr_attr, int *statusp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 339
    functionName: LAST_CHAR
    functionSourceFile: /src/postfix/postfix/src/local/mailbox.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LAST_CHAR(s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/token.c:115,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/token.c:116,1
    - Dst: bounce_append
      Src: /src/postfix/postfix/src/local/token.c:118,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/token.c:118,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/token.c:119,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/token.c:121,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/token.c:122,1
    - Dst: bounce_append
      Src: /src/postfix/postfix/src/local/token.c:124,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/token.c:124,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/token.c:125,1
    - Dst: deliver_file
      Src: /src/postfix/postfix/src/local/token.c:127,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/local/token.c:129,1
    - Dst: deliver_file
      Src: /src/postfix/postfix/src/local/token.c:130,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/local/token.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - state
    - usr_attr
    - addr
    argTypes:
    - LOCAL_STATE
    - USER_ATTR
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 134
    functionName: deliver_token_home
    functionSourceFile: /src/postfix/postfix/src/local/token.c
    functionUses: 0
    functionsReached:
    - dsb_simple
    - msg_warn
    - BOUNCE_ATTR
    - deliver_file
    - BOUNCE_FLAGS
    - myfree
    - bounce_append
    - concatenate
    linkageType: ''
    returnType: int
    signature: int deliver_token_home(LOCAL_STATE state, USER_ATTR usr_attr, char
      *addr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/local/token.c:140,1
    - Dst: tok822_internalize
      Src: /src/postfix/postfix/src/local/token.c:145,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/token.c:147,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/token.c:147,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/token.c:149,1
    - Dst: deliver_file
      Src: /src/postfix/postfix/src/local/token.c:150,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/token.c:150,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/token.c:151,1
    - Dst: deliver_token_home
      Src: /src/postfix/postfix/src/local/token.c:152,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/token.c:152,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/token.c:153,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/token.c:155,1
    - Dst: bounce_append
      Src: /src/postfix/postfix/src/local/token.c:157,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/token.c:157,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/token.c:158,1
    - Dst: deliver_command
      Src: /src/postfix/postfix/src/local/token.c:160,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/token.c:160,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/local/token.c:161,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/token.c:161,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/token.c:162,1
    - Dst: deliver_include
      Src: /src/postfix/postfix/src/local/token.c:163,1
    - Dst: deliver_resolve_tree
      Src: /src/postfix/postfix/src/local/token.c:165,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/local/token.c:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - state
    - usr_attr
    - addr
    argTypes:
    - LOCAL_STATE
    - USER_ATTR
    - TOK822*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 138
    functionDepth: 5
    functionLinenumber: 138
    functionLinenumberEnd: 170
    functionName: deliver_token
    functionSourceFile: /src/postfix/postfix/src/local/token.c
    functionUses: 0
    functionsReached:
    - deliver_token_home
    - BOUNCE_ATTR
    - deliver_file
    - strncasecmp
    - vstring_alloc
    - BOUNCE_FLAGS
    - msg_info
    - deliver_command
    - deliver_include
    - dsb_simple
    - deliver_resolve_tree
    - bounce_append
    - vstring_free
    - tok822_internalize
    - STR
    linkageType: ''
    returnType: int
    signature: int deliver_token(LOCAL_STATE state, USER_ATTR usr_attr, TOK822 *addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/token.c:182,1
    - Dst: tok822_parse
      Src: /src/postfix/postfix/src/local/token.c:184,1
    - Dst: deliver_token
      Src: /src/postfix/postfix/src/local/token.c:189,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/local/token.c:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - state
    - usr_attr
    - string
    - addr_count
    argTypes:
    - LOCAL_STATE
    - USER_ATTR
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 174
    functionDepth: 6
    functionLinenumber: 174
    functionLinenumberEnd: 194
    functionName: deliver_token_string
    functionSourceFile: /src/postfix/postfix/src/local/token.c
    functionUses: 0
    functionsReached:
    - tok822_parse
    - deliver_token
    - tok822_free_tree
    - msg_info
    linkageType: ''
    returnType: int
    signature: "int deliver_token_string(LOCAL_STATE state, USER_ATTR usr_attr,\n\t\t\t
      \            char *string, int *addr_count)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/local/token.c:201,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/token.c:205,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/local/token.c:205,1
    - Dst: vstring_fgets_bound
      Src: /src/postfix/postfix/src/local/token.c:207,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/token.c:208,1
    - Dst: deliver_token_string
      Src: /src/postfix/postfix/src/local/token.c:209,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/token.c:209,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/local/token.c:214,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/token.c:215,1
    - Dst: defer_append
      Src: /src/postfix/postfix/src/local/token.c:217,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/token.c:217,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/token.c:218,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/local/token.c:220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - state
    - usr_attr
    - fp
    - addr_count
    argTypes:
    - LOCAL_STATE
    - USER_ATTR
    - VSTREAM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 198
    functionDepth: 7
    functionLinenumber: 198
    functionLinenumberEnd: 222
    functionName: deliver_token_stream
    functionSourceFile: /src/postfix/postfix/src/local/token.c
    functionUses: 0
    functionsReached:
    - VSTREAM_PATH
    - BOUNCE_ATTR
    - deliver_token_string
    - vstring_alloc
    - vstream_ferror
    - msg_info
    - BOUNCE_FLAGS
    - defer_append
    - dsb_simple
    - vstring_fgets_bound
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: "int deliver_token_stream(LOCAL_STATE state, USER_ATTR usr_attr,\n\t\t\t
      \            VSTREAM *fp, int *addr_count)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/indirect.c:70,1
    - Dst: been_here
      Src: /src/postfix/postfix/src/local/indirect.c:71,1
    - Dst: DEL_REQ_TRACE_ONLY
      Src: /src/postfix/postfix/src/local/indirect.c:78,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/indirect.c:79,1
    - Dst: sent
      Src: /src/postfix/postfix/src/local/indirect.c:81,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/indirect.c:81,1
    - Dst: SENT_ATTR
      Src: /src/postfix/postfix/src/local/indirect.c:81,1
    - Dst: forward_append
      Src: /src/postfix/postfix/src/local/indirect.c:88,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/indirect.c:89,1
    - Dst: defer_append
      Src: /src/postfix/postfix/src/local/indirect.c:90,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/indirect.c:90,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/indirect.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - LOCAL_STATE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 60
    functionDepth: 5
    functionLinenumber: 60
    functionLinenumberEnd: 94
    functionName: deliver_indirect
    functionSourceFile: /src/postfix/postfix/src/local/indirect.c
    functionUses: 0
    functionsReached:
    - forward_append
    - BOUNCE_ATTR
    - DEL_REQ_TRACE_ONLY
    - BOUNCE_FLAGS
    - msg_info
    - defer_append
    - been_here
    - dsb_simple
    - SENT_ATTR
    - sent
    linkageType: ''
    returnType: int
    signature: int deliver_indirect(LOCAL_STATE state)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FIND_OWNER
      Src: /src/postfix/postfix/src/local/bounce_workaround.c:109,1
    - Dst: strip_addr
      Src: /src/postfix/postfix/src/local/bounce_workaround.c:111,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/local/bounce_workaround.c:114,1
    - Dst: FIND_OWNER
      Src: /src/postfix/postfix/src/local/bounce_workaround.c:115,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/local/bounce_workaround.c:116,1
    - Dst: canon_addr_internal
      Src: /src/postfix/postfix/src/local/bounce_workaround.c:119,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/local/bounce_workaround.c:119,1
    - Dst: SET_OWNER_ATTR
      Src: /src/postfix/postfix/src/local/bounce_workaround.c:122,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/bounce_workaround.c:122,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/local/bounce_workaround.c:124,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/bounce_workaround.c:127,1
    - Dst: defer_append
      Src: /src/postfix/postfix/src/local/bounce_workaround.c:129,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/bounce_workaround.c:129,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/bounce_workaround.c:130,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/bounce_workaround.c:140,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/bounce_workaround.c:142,1
    - Dst: BOUNCE_ONE_ATTR
      Src: /src/postfix/postfix/src/local/bounce_workaround.c:143,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/local/bounce_workaround.c:144,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/bounce_workaround.c:153,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/bounce_workaround.c:155,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/bounce_workaround.c:156,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - LOCAL_STATE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 89
    functionDepth: 5
    functionLinenumber: 89
    functionLinenumberEnd: 159
    functionName: bounce_workaround
    functionSourceFile: /src/postfix/postfix/src/local/bounce_workaround.c
    functionUses: 1
    functionsReached:
    - SET_OWNER_ATTR
    - BOUNCE_ATTR
    - BOUNCE_ONE_ATTR
    - vstring_alloc
    - BOUNCE_FLAGS
    - FIND_OWNER
    - myfree
    - canon_addr_internal
    - strip_addr
    - defer_append
    - dsb_simple
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int bounce_workaround(LOCAL_STATE state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - lhs
    - ','
    - rhs
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: FIND_OWNER
    functionSourceFile: /src/postfix/postfix/src/local/bounce_workaround.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIND_OWNER(lhs, rhs, addr)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: STREQ
      Src: /src/postfix/postfix/src/local/local_expand.c:120,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/local/local_expand.c:122,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/local/local_expand.c:124,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/local/local_expand.c:126,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/local/local_expand.c:128,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/local/local_expand.c:130,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/local/local_expand.c:132,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/local/local_expand.c:134,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/local/local_expand.c:138,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/local/local_expand.c:140,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/local/local_expand.c:146,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/local/local_expand.c:148,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/local/local_expand.c:150,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/local/local_expand.c:152,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/local/local_expand.c:154,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/local/local_expand.c:156,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/local/local_expand.c:158,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 3
    argNames:
    - name
    - mode
    - ptr
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 164
    functionName: local_expand_lookup
    functionSourceFile: /src/postfix/postfix/src/local/local_expand.c
    functionUses: 0
    functionsReached:
    - STREQ
    - strlen
    linkageType: ''
    returnType: char
    signature: char *local_expand_lookup(const char *name, int mode, void *ptr)
  - 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: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/local/local_expand.c
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mac_expand
      Src: /src/postfix/postfix/src/local/local_expand.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - result
    - pattern
    - state
    - usr_attr
    - filter
    argTypes:
    - VSTRING*
    - char*
    - LOCAL_STATE*
    - USER_ATTR*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 180
    functionName: local_expand
    functionSourceFile: /src/postfix/postfix/src/local/local_expand.c
    functionUses: 0
    functionsReached:
    - mac_expand
    linkageType: ''
    returnType: int
    signature: "int local_expand(VSTRING *result, const char *pattern,\n\t        LOCAL_STATE
      *state, USER_ATTR *usr_attr, const char *filter)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: MSG_LOG_STATE
      Src: /src/postfix/postfix/src/local/include.c:94,1
    - Dst: been_here
      Src: /src/postfix/postfix/src/local/include.c:101,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/include.c:111,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/include.c:112,1
    - Dst: bounce_append
      Src: /src/postfix/postfix/src/local/include.c:114,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/include.c:114,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/include.c:115,1
    - Dst: stat_as
      Src: /src/postfix/postfix/src/local/include.c:117,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/include.c:118,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/include.c:119,1
    - Dst: bounce_append
      Src: /src/postfix/postfix/src/local/include.c:121,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/include.c:121,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/include.c:122,1
    - Dst: S_ISREG
      Src: /src/postfix/postfix/src/local/include.c:124,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/include.c:125,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/include.c:126,1
    - Dst: bounce_append
      Src: /src/postfix/postfix/src/local/include.c:128,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/include.c:128,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/include.c:129,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/include.c:132,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/include.c:133,1
    - Dst: bounce_append
      Src: /src/postfix/postfix/src/local/include.c:135,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/include.c:135,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/include.c:136,1
    - Dst: mypwuid_err
      Src: /src/postfix/postfix/src/local/include.c:160,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/include.c:161,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/include.c:163,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/include.c:164,1
    - Dst: defer_append
      Src: /src/postfix/postfix/src/local/include.c:166,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/include.c:166,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/include.c:167,1
    - Dst: SET_USER_ATTR
      Src: /src/postfix/postfix/src/local/include.c:170,1
    - Dst: FOPEN_AS
      Src: /src/postfix/postfix/src/local/include.c:201,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/include.c:202,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/include.c:203,1
    - Dst: bounce_append
      Src: /src/postfix/postfix/src/local/include.c:205,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/include.c:205,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/include.c:206,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/local/include.c:210,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/local/include.c:210,1
    - Dst: deliver_token_stream
      Src: /src/postfix/postfix/src/local/include.c:211,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/local/include.c:212,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/include.c:213,1
    - Dst: mypwfree
      Src: /src/postfix/postfix/src/local/include.c:220,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 3
    argNames:
    - state
    - usr_attr
    - path
    argTypes:
    - LOCAL_STATE
    - USER_ATTR
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 80
    functionDepth: 8
    functionLinenumber: 80
    functionLinenumberEnd: 223
    functionName: deliver_include
    functionSourceFile: /src/postfix/postfix/src/local/include.c
    functionUses: 1
    functionsReached:
    - dsb_simple
    - msg_warn
    - mypwfree
    - BOUNCE_ATTR
    - deliver_token_stream
    - mypwuid_err
    - MSG_LOG_STATE
    - BOUNCE_FLAGS
    - S_ISREG
    - close_on_exec
    - vstream_fclose
    - defer_append
    - been_here
    - bounce_append
    - SET_USER_ATTR
    - stat_as
    - vstream_fileno
    - FOPEN_AS
    linkageType: ''
    returnType: int
    signature: int deliver_include(LOCAL_STATE state, USER_ATTR usr_attr, char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - u
    - ','
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: FOPEN_AS
    functionSourceFile: /src/postfix/postfix/src/local/include.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOPEN_AS(p,u,g)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getservbyname
      Src: /src/postfix/postfix/src/local/biff_notify.c:65,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/biff_notify.c:66,1
    - Dst: gethostbyname
      Src: /src/postfix/postfix/src/local/biff_notify.c:69,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/biff_notify.c:70,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/biff_notify.c:74,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/local/biff_notify.c:79,1
    - Dst: socket
      Src: /src/postfix/postfix/src/local/biff_notify.c:86,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/biff_notify.c:87,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/local/biff_notify.c:90,1
    - Dst: sendto
      Src: /src/postfix/postfix/src/local/biff_notify.c:96,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/biff_notify.c:97,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - text
    - len
    argTypes:
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 98
    functionName: biff_notify
    functionSourceFile: /src/postfix/postfix/src/local/biff_notify.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - getservbyname
    - socket
    - close_on_exec
    - gethostbyname
    - memcpy
    - sendto
    linkageType: ''
    returnType: void
    signature: void biff_notify(const char *text, ssize_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RECIPIENT_ASSIGN
      Src: /src/postfix/postfix/src/local/deliver_attr.c:61,1
    - Dst: dsb_create
      Src: /src/postfix/postfix/src/local/deliver_attr.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - attrp
    argTypes:
    - DELIVER_ATTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 73
    functionName: deliver_attr_init
    functionSourceFile: /src/postfix/postfix/src/local/deliver_attr.c
    functionUses: 2
    functionsReached:
    - dsb_create
    - RECIPIENT_ASSIGN
    linkageType: ''
    returnType: void
    signature: void deliver_attr_init(DELIVER_ATTR *attrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/deliver_attr.c:79,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/deliver_attr.c:80,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/local/deliver_attr.c:80,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/deliver_attr.c:81,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/deliver_attr.c:82,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/deliver_attr.c:83,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/deliver_attr.c:84,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/deliver_attr.c:85,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/deliver_attr.c:86,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/deliver_attr.c:87,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/deliver_attr.c:88,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/deliver_attr.c:89,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/deliver_attr.c:90,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/deliver_attr.c:91,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/deliver_attr.c:92,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/deliver_attr.c:93,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/deliver_attr.c:94,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/deliver_attr.c:95,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/deliver_attr.c:96,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/deliver_attr.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - attrp
    argTypes:
    - DELIVER_ATTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 98
    functionName: deliver_attr_dump
    functionSourceFile: /src/postfix/postfix/src/local/deliver_attr.c
    functionUses: 1
    functionsReached:
    - VSTREAM_PATH
    - msg_info
    linkageType: ''
    returnType: void
    signature: void deliver_attr_dump(DELIVER_ATTR *attrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsb_free
      Src: /src/postfix/postfix/src/local/deliver_attr.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attrp
    argTypes:
    - DELIVER_ATTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: deliver_attr_free
    functionSourceFile: /src/postfix/postfix/src/local/deliver_attr.c
    functionUses: 2
    functionsReached:
    - dsb_free
    linkageType: ''
    returnType: void
    signature: void deliver_attr_free(DELIVER_ATTR *attrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - usr_attr
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: RESET_USER_ATTR
    functionSourceFile: /src/postfix/postfix/src/local/local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESET_USER_ATTR(usr_attr, level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - usr_attr
    - ','
    - pwd
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: SET_USER_ATTR
    functionSourceFile: /src/postfix/postfix/src/local/local.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_USER_ATTR(usr_attr, pwd, level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - msg_attr
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: RESET_OWNER_ATTR
    functionSourceFile: /src/postfix/postfix/src/local/local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESET_OWNER_ATTR(msg_attr, level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - msg_attr
    - ','
    - who
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: SET_OWNER_ATTR
    functionSourceFile: /src/postfix/postfix/src/local/local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_OWNER_ATTR(msg_attr, who, level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - request
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: BOUNCE_FLAGS
    functionSourceFile: /src/postfix/postfix/src/local/local.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOUNCE_FLAGS(request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: BOUNCE_ATTR
    functionSourceFile: /src/postfix/postfix/src/local/local.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOUNCE_ATTR(attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: BOUNCE_ONE_ATTR
    functionSourceFile: /src/postfix/postfix/src/local/local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOUNCE_ONE_ATTR(attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: SENT_ATTR
    functionSourceFile: /src/postfix/postfix/src/local/local.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SENT_ATTR(attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: OPENED_ATTR
    functionSourceFile: /src/postfix/postfix/src/local/local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPENED_ATTR(attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: COPY_ATTR
    functionSourceFile: /src/postfix/postfix/src/local/local.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_ATTR(attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: MSG_LOG_STATE
    functionSourceFile: /src/postfix/postfix/src/local/local.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MSG_LOG_STATE(m, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/local/local.h
    functionUses: 353
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(s)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: MSG_LOG_STATE
      Src: /src/postfix/postfix/src/local/command.c:105,1
    - Dst: been_here
      Src: /src/postfix/postfix/src/local/command.c:112,1
    - Dst: DEL_REQ_TRACE_ONLY
      Src: /src/postfix/postfix/src/local/command.c:119,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/command.c:120,1
    - Dst: sent
      Src: /src/postfix/postfix/src/local/command.c:121,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/command.c:121,1
    - Dst: SENT_ATTR
      Src: /src/postfix/postfix/src/local/command.c:122,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/local/command.c:132,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/local/command.c:134,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/local/command.c:144,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/local/command.c:145,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/local/command.c:146,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/local/command.c:154,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/local/command.c:156,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/local/command.c:157,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/local/command.c:165,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/local/command.c:167,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/local/command.c:169,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/local/command.c:171,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/local/command.c:174,1
    - Dst: EXPORT_REQUEST
      Src: /src/postfix/postfix/src/local/command.c:179,1
    - Dst: EXPORT_REQUEST
      Src: /src/postfix/postfix/src/local/command.c:180,1
    - Dst: EXPORT_REQUEST
      Src: /src/postfix/postfix/src/local/command.c:181,1
    - Dst: EXPORT_REQUEST
      Src: /src/postfix/postfix/src/local/command.c:182,1
    - Dst: EXPORT_REQUEST
      Src: /src/postfix/postfix/src/local/command.c:183,1
    - Dst: EXPORT_REQUEST
      Src: /src/postfix/postfix/src/local/command.c:184,1
    - Dst: EXPORT_REQUEST
      Src: /src/postfix/postfix/src/local/command.c:185,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/local/command.c:187,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/local/command.c:193,1
    - Dst: mail_parm_split
      Src: /src/postfix/postfix/src/local/command.c:200,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/local/command.c:201,1
    - Dst: local_expand
      Src: /src/postfix/postfix/src/local/command.c:202,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/command.c:207,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/command.c:208,1
    - Dst: pipe_command
      Src: /src/postfix/postfix/src/local/command.c:211,1
    - Dst: CA_PIPE_CMD_UID
      Src: /src/postfix/postfix/src/local/command.c:212,1
    - Dst: CA_PIPE_CMD_GID
      Src: /src/postfix/postfix/src/local/command.c:213,1
    - Dst: CA_PIPE_CMD_COMMAND
      Src: /src/postfix/postfix/src/local/command.c:214,1
    - Dst: CA_PIPE_CMD_COPY_FLAGS
      Src: /src/postfix/postfix/src/local/command.c:215,1
    - Dst: CA_PIPE_CMD_SENDER
      Src: /src/postfix/postfix/src/local/command.c:216,1
    - Dst: CA_PIPE_CMD_ORIG_RCPT
      Src: /src/postfix/postfix/src/local/command.c:217,1
    - Dst: CA_PIPE_CMD_DELIVERED
      Src: /src/postfix/postfix/src/local/command.c:218,1
    - Dst: CA_PIPE_CMD_TIME_LIMIT
      Src: /src/postfix/postfix/src/local/command.c:219,1
    - Dst: CA_PIPE_CMD_ENV
      Src: /src/postfix/postfix/src/local/command.c:220,1
    - Dst: CA_PIPE_CMD_EXPORT
      Src: /src/postfix/postfix/src/local/command.c:221,1
    - Dst: CA_PIPE_CMD_SHELL
      Src: /src/postfix/postfix/src/local/command.c:222,1
    - Dst: CA_PIPE_CMD_CWD
      Src: /src/postfix/postfix/src/local/command.c:223,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/command.c:223,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/command.c:224,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/local/command.c:227,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/local/command.c:228,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/local/command.c:229,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/command.c:236,1
    - Dst: sent
      Src: /src/postfix/postfix/src/local/command.c:237,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/command.c:237,1
    - Dst: SENT_ATTR
      Src: /src/postfix/postfix/src/local/command.c:238,1
    - Dst: bounce_workaround
      Src: /src/postfix/postfix/src/local/command.c:243,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/local/command.c:249,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 3
    argNames:
    - state
    - usr_attr
    - command
    argTypes:
    - LOCAL_STATE
    - USER_ATTR
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 86
    functionDepth: 6
    functionLinenumber: 86
    functionLinenumberEnd: 254
    functionName: deliver_command
    functionSourceFile: /src/postfix/postfix/src/local/command.c
    functionUses: 2
    functionsReached:
    - CA_PIPE_CMD_GID
    - argv_alloc
    - CA_PIPE_CMD_CWD
    - been_here
    - pipe_command
    - dsb_simple
    - CA_PIPE_CMD_UID
    - sent
    - argv_terminate
    - CA_PIPE_CMD_ENV
    - msg_panic
    - VSTREAM_PATH
    - bounce_workaround
    - CA_PIPE_CMD_SENDER
    - BOUNCE_FLAGS
    - vstring_alloc
    - CA_PIPE_CMD_ORIG_RCPT
    - mail_parm_split
    - MSG_LOG_STATE
    - CA_PIPE_CMD_TIME_LIMIT
    - SENT_ATTR
    - vstring_free
    - CA_PIPE_CMD_EXPORT
    - msg_warn
    - vstream_fseek
    - CA_PIPE_CMD_COMMAND
    - strspn
    - local_expand
    - DEL_REQ_TRACE_ONLY
    - CA_PIPE_CMD_DELIVERED
    - argv_free
    - STR
    - argv_add
    - CA_PIPE_CMD_COPY_FLAGS
    - msg_fatal
    - EXPORT_REQUEST
    - CA_PIPE_CMD_SHELL
    linkageType: ''
    returnType: int
    signature: int deliver_command(LOCAL_STATE state, USER_ATTR usr_attr, const char
      *command)
  - 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: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: EXPORT_REQUEST
    functionSourceFile: /src/postfix/postfix/src/local/command.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPORT_REQUEST(name, value)
  - 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: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/local/unknown.c
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x,y)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MSG_LOG_STATE
      Src: /src/postfix/postfix/src/local/unknown.c:105,1
    - Dst: been_here
      Src: /src/postfix/postfix/src/local/unknown.c:112,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/local/unknown.c:120,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/local/unknown.c:125,1
    - Dst: deliver_pass
      Src: /src/postfix/postfix/src/local/unknown.c:128,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/unknown.c:132,1
    - Dst: defer_append
      Src: /src/postfix/postfix/src/local/unknown.c:133,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/unknown.c:133,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/unknown.c:134,1
    - Dst: deliver_pass
      Src: /src/postfix/postfix/src/local/unknown.c:138,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/local/unknown.c:150,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/local/unknown.c:151,1
    - Dst: local_expand
      Src: /src/postfix/postfix/src/local/unknown.c:152,1
    - Dst: canon_addr_external
      Src: /src/postfix/postfix/src/local/unknown.c:154,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/local/unknown.c:154,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/local/unknown.c:156,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/local/unknown.c:156,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/unknown.c:157,1
    - Dst: bounce_append
      Src: /src/postfix/postfix/src/local/unknown.c:159,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/unknown.c:159,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/unknown.c:160,1
    - Dst: deliver_resolve_addr
      Src: /src/postfix/postfix/src/local/unknown.c:162,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/unknown.c:162,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/local/unknown.c:164,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/local/unknown.c:165,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/local/unknown.c:173,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/local/unknown.c:174,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/unknown.c:175,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/unknown.c:176,1
    - Dst: sent
      Src: /src/postfix/postfix/src/local/unknown.c:177,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/unknown.c:177,1
    - Dst: SENT_ATTR
      Src: /src/postfix/postfix/src/local/unknown.c:177,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/unknown.c:183,1
    - Dst: bounce_append
      Src: /src/postfix/postfix/src/local/unknown.c:185,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/unknown.c:185,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/unknown.c:186,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - state
    - usr_attr
    argTypes:
    - LOCAL_STATE
    - USER_ATTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 91
    functionDepth: 5
    functionLinenumber: 91
    functionLinenumberEnd: 187
    functionName: deliver_unknown
    functionSourceFile: /src/postfix/postfix/src/local/unknown.c
    functionUses: 1
    functionsReached:
    - deliver_pass
    - been_here
    - dsb_simple
    - deliver_resolve_addr
    - sent
    - maps_find
    - BOUNCE_ATTR
    - BOUNCE_FLAGS
    - vstring_alloc
    - vstring_str
    - MSG_LOG_STATE
    - maps_create
    - canon_addr_external
    - STREQ
    - defer_append
    - SENT_ATTR
    - vstring_free
    - msg_warn
    - local_expand
    - bounce_append
    - STR
    linkageType: ''
    returnType: int
    signature: int deliver_unknown(LOCAL_STATE state, USER_ATTR usr_attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tok822_scan_addr
      Src: /src/postfix/postfix/src/local/resolve.c:78,1
    - Dst: deliver_resolve_tree
      Src: /src/postfix/postfix/src/local/resolve.c:79,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/local/resolve.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - state
    - usr_attr
    - addr
    argTypes:
    - LOCAL_STATE
    - USER_ATTR
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: deliver_resolve_addr
    functionSourceFile: /src/postfix/postfix/src/local/resolve.c
    functionUses: 1
    functionsReached:
    - deliver_resolve_tree
    - tok822_free_tree
    - tok822_scan_addr
    linkageType: ''
    returnType: int
    signature: int deliver_resolve_addr(LOCAL_STATE state, USER_ATTR usr_attr, char
      *addr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MSG_LOG_STATE
      Src: /src/postfix/postfix/src/local/resolve.c:100,1
    - Dst: resolve_clnt_init
      Src: /src/postfix/postfix/src/local/resolve.c:105,1
    - Dst: tok822_rewrite
      Src: /src/postfix/postfix/src/local/resolve.c:113,1
    - Dst: tok822_resolve
      Src: /src/postfix/postfix/src/local/resolve.c:114,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/resolve.c:120,1
    - Dst: defer_append
      Src: /src/postfix/postfix/src/local/resolve.c:121,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/resolve.c:121,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/resolve.c:122,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/resolve.c:124,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/resolve.c:125,1
    - Dst: bounce_append
      Src: /src/postfix/postfix/src/local/resolve.c:126,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/resolve.c:126,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/resolve.c:127,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/local/resolve.c:134,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/local/resolve.c:135,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/resolve.c:135,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/local/resolve.c:136,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/local/resolve.c:137,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/local/resolve.c:139,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/local/resolve.c:140,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/local/resolve.c:141,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/resolve.c:141,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/local/resolve.c:142,1
    - Dst: memmove
      Src: /src/postfix/postfix/src/local/resolve.c:143,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/local/resolve.c:143,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/local/resolve.c:145,1
    - Dst: VSTRING_SKIP
      Src: /src/postfix/postfix/src/local/resolve.c:146,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/resolve.c:149,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/local/resolve.c:157,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/resolve.c:157,1
    - Dst: deliver_recipient
      Src: /src/postfix/postfix/src/local/resolve.c:158,1
    - Dst: deliver_indirect
      Src: /src/postfix/postfix/src/local/resolve.c:160,1
    - Dst: resolve_clnt_free
      Src: /src/postfix/postfix/src/local/resolve.c:167,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 3
    argNames:
    - state
    - usr_attr
    - addr
    argTypes:
    - LOCAL_STATE
    - USER_ATTR
    - TOK822*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 86
    functionDepth: 6
    functionLinenumber: 86
    functionLinenumberEnd: 170
    functionName: deliver_resolve_tree
    functionSourceFile: /src/postfix/postfix/src/local/resolve.c
    functionUses: 2
    functionsReached:
    - VSTRING_ADDCH
    - VSTRING_SPACE
    - memcpy
    - dsb_simple
    - msg_panic
    - deliver_recipient
    - strlen
    - BOUNCE_ATTR
    - BOUNCE_FLAGS
    - resolve_clnt_init
    - vstring_strcat
    - VSTRING_SKIP
    - tok822_rewrite
    - resolve_clnt_free
    - MSG_LOG_STATE
    - defer_append
    - tok822_resolve
    - strrchr
    - memmove
    - deliver_indirect
    - strcmp
    - bounce_append
    - STR
    linkageType: ''
    returnType: int
    signature: int deliver_resolve_tree(LOCAL_STATE state, USER_ATTR usr_attr, TOK822
      *addr)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: MSG_LOG_STATE
      Src: /src/postfix/postfix/src/local/dotforward.c:118,1
    - Dst: mypwnam_err
      Src: /src/postfix/postfix/src/local/dotforward.c:130,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/dotforward.c:131,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/dotforward.c:133,1
    - Dst: defer_append
      Src: /src/postfix/postfix/src/local/dotforward.c:134,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/dotforward.c:134,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/dotforward.c:135,1
    - Dst: SET_USER_ATTR
      Src: /src/postfix/postfix/src/local/dotforward.c:165,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/local/dotforward.c:192,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/local/dotforward.c:193,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/local/dotforward.c:197,1
    - Dst: local_expand
      Src: /src/postfix/postfix/src/local/dotforward.c:198,1
    - Dst: lstat_as
      Src: /src/postfix/postfix/src/local/dotforward.c:202,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/dotforward.c:202,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/dotforward.c:204,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/dotforward.c:205,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/dotforward.c:234,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/dotforward.c:235,1
    - Dst: sent
      Src: /src/postfix/postfix/src/local/dotforward.c:236,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/dotforward.c:236,1
    - Dst: SENT_ATTR
      Src: /src/postfix/postfix/src/local/dotforward.c:237,1
    - Dst: been_here
      Src: /src/postfix/postfix/src/local/dotforward.c:239,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/dotforward.c:239,1
    - Dst: S_ISREG
      Src: /src/postfix/postfix/src/local/dotforward.c:241,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/dotforward.c:242,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/dotforward.c:242,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/dotforward.c:244,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/dotforward.c:245,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/dotforward.c:247,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/dotforward.c:247,1
    - Dst: open_as
      Src: /src/postfix/postfix/src/local/dotforward.c:248,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/dotforward.c:248,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/dotforward.c:249,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/dotforward.c:249,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/local/dotforward.c:260,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/local/dotforward.c:262,1
    - Dst: deliver_token_stream
      Src: /src/postfix/postfix/src/local/dotforward.c:267,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/local/dotforward.c:268,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/dotforward.c:269,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/dotforward.c:269,1
    - Dst: been_here
      Src: /src/postfix/postfix/src/local/dotforward.c:272,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/dotforward.c:272,1
    - Dst: dsb_update
      Src: /src/postfix/postfix/src/local/dotforward.c:283,1
    - Dst: trace_append
      Src: /src/postfix/postfix/src/local/dotforward.c:286,1
    - Dst: SENT_ATTR
      Src: /src/postfix/postfix/src/local/dotforward.c:287,1
    - Dst: been_here_check
      Src: /src/postfix/postfix/src/local/dotforward.c:291,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/dotforward.c:291,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/local/dotforward.c:298,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/local/dotforward.c:299,1
    - Dst: mypwfree
      Src: /src/postfix/postfix/src/local/dotforward.c:300,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 84
    argCount: 3
    argNames:
    - state
    - usr_attr
    - statusp
    argTypes:
    - LOCAL_STATE
    - USER_ATTR
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 95
    functionDepth: 8
    functionLinenumber: 95
    functionLinenumberEnd: 304
    functionName: deliver_dotforward
    functionSourceFile: /src/postfix/postfix/src/local/dotforward.c
    functionUses: 0
    functionsReached:
    - dsb_update
    - msg_info
    - close_on_exec
    - been_here
    - dsb_simple
    - sent
    - mypwfree
    - BOUNCE_ATTR
    - trace_append
    - BOUNCE_FLAGS
    - vstring_alloc
    - S_ISREG
    - open_as
    - mystrtok
    - deliver_token_stream
    - MSG_LOG_STATE
    - mypwnam_err
    - myfree
    - defer_append
    - SET_USER_ATTR
    - SENT_ATTR
    - vstring_free
    - msg_warn
    - vstream_fdopen
    - been_here_check
    - local_expand
    - vstream_fclose
    - lstat_as
    - mystrdup
    - STR
    linkageType: ''
    returnType: int
    signature: int deliver_dotforward(LOCAL_STATE state, USER_ATTR usr_attr, int *statusp)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: MSG_LOG_STATE
      Src: /src/postfix/postfix/src/local/recipient.c:107,1
    - Dst: deliver_mailbox
      Src: /src/postfix/postfix/src/local/recipient.c:121,1
    - Dst: deliver_unknown
      Src: /src/postfix/postfix/src/local/recipient.c:122,1
    - Dst: deliver_alias
      Src: /src/postfix/postfix/src/local/recipient.c:132,1
    - Dst: deliver_alias
      Src: /src/postfix/postfix/src/local/recipient.c:137,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/local/recipient.c:165,1
    - Dst: deliver_indirect
      Src: /src/postfix/postfix/src/local/recipient.c:166,1
    - Dst: deliver_indirect
      Src: /src/postfix/postfix/src/local/recipient.c:172,1
    - Dst: mypwnam_err
      Src: /src/postfix/postfix/src/local/recipient.c:181,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/recipient.c:182,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/recipient.c:184,1
    - Dst: defer_append
      Src: /src/postfix/postfix/src/local/recipient.c:185,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/recipient.c:185,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/recipient.c:186,1
    - Dst: stat_as
      Src: /src/postfix/postfix/src/local/recipient.c:189,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/recipient.c:190,1
    - Dst: mypwfree
      Src: /src/postfix/postfix/src/local/recipient.c:192,1
    - Dst: defer_append
      Src: /src/postfix/postfix/src/local/recipient.c:193,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/recipient.c:193,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/recipient.c:194,1
    - Dst: mypwfree
      Src: /src/postfix/postfix/src/local/recipient.c:196,1
    - Dst: deliver_dotforward
      Src: /src/postfix/postfix/src/local/recipient.c:198,1
    - Dst: deliver_mailbox
      Src: /src/postfix/postfix/src/local/recipient.c:199,1
    - Dst: deliver_unknown
      Src: /src/postfix/postfix/src/local/recipient.c:200,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 2
    argNames:
    - state
    - usr_attr
    argTypes:
    - LOCAL_STATE
    - USER_ATTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 95
    functionDepth: 9
    functionLinenumber: 95
    functionLinenumberEnd: 202
    functionName: deliver_switch
    functionSourceFile: /src/postfix/postfix/src/local/recipient.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - mypwfree
    - BOUNCE_ATTR
    - deliver_indirect
    - deliver_mailbox
    - MSG_LOG_STATE
    - mypwnam_err
    - BOUNCE_FLAGS
    - defer_append
    - deliver_alias
    - dsb_simple
    - deliver_dotforward
    - deliver_unknown
    - stat_as
    - strcasecmp_utf8
    linkageType: ''
    returnType: int
    signature: int deliver_switch(LOCAL_STATE state, USER_ATTR usr_attr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MSG_LOG_STATE
      Src: /src/postfix/postfix/src/local/recipient.c:217,1
    - Dst: been_here
      Src: /src/postfix/postfix/src/local/recipient.c:222,1
    - Dst: delivered_hdr_find
      Src: /src/postfix/postfix/src/local/recipient.c:241,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/recipient.c:242,1
    - Dst: bounce_workaround
      Src: /src/postfix/postfix/src/local/recipient.c:245,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/local/recipient.c:255,1
    - Dst: casefold
      Src: /src/postfix/postfix/src/local/recipient.c:256,1
    - Dst: split_at_right
      Src: /src/postfix/postfix/src/local/recipient.c:257,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/recipient.c:258,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/local/recipient.c:267,1
    - Dst: split_addr
      Src: /src/postfix/postfix/src/local/recipient.c:270,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/local/recipient.c:271,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/recipient.c:272,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/local/recipient.c:276,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/recipient.c:287,1
    - Dst: bounce_append
      Src: /src/postfix/postfix/src/local/recipient.c:289,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/recipient.c:289,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/recipient.c:290,1
    - Dst: deliver_attr_dump
      Src: /src/postfix/postfix/src/local/recipient.c:297,1
    - Dst: deliver_switch
      Src: /src/postfix/postfix/src/local/recipient.c:298,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/local/recipient.c:303,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/local/recipient.c:304,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - state
    - usr_attr
    argTypes:
    - LOCAL_STATE
    - USER_ATTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 206
    functionDepth: 10
    functionLinenumber: 206
    functionLinenumberEnd: 307
    functionName: deliver_recipient
    functionSourceFile: /src/postfix/postfix/src/local/recipient.c
    functionUses: 3
    functionsReached:
    - split_at_right
    - been_here
    - dsb_simple
    - deliver_attr_dump
    - strlen
    - bounce_workaround
    - BOUNCE_ATTR
    - vstring_alloc
    - BOUNCE_FLAGS
    - split_addr
    - delivered_hdr_find
    - MSG_LOG_STATE
    - deliver_switch
    - myfree
    - casefold
    - vstring_free
    - msg_warn
    - strchr
    - bounce_append
    - mystrdup
    linkageType: ''
    returnType: int
    signature: int deliver_recipient(LOCAL_STATE state, USER_ATTR usr_attr)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: MSG_LOG_STATE
      Src: /src/postfix/postfix/src/local/alias.c:125,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/local/alias.c:144,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/alias.c:147,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/alias.c:148,1
    - Dst: bounce_append
      Src: /src/postfix/postfix/src/local/alias.c:150,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/alias.c:150,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/alias.c:151,1
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/local/alias.c:173,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/local/alias.c:174,1
    - Dst: dict_get
      Src: /src/postfix/postfix/src/local/alias.c:175,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/alias.c:177,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/alias.c:183,1
    - Dst: sent
      Src: /src/postfix/postfix/src/local/alias.c:185,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/alias.c:185,1
    - Dst: SENT_ATTR
      Src: /src/postfix/postfix/src/local/alias.c:186,1
    - Dst: RESET_USER_ATTR
      Src: /src/postfix/postfix/src/local/alias.c:208,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/alias.c:211,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/alias.c:213,1
    - Dst: defer_append
      Src: /src/postfix/postfix/src/local/alias.c:215,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/alias.c:215,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/alias.c:216,1
    - Dst: mypwuid_err
      Src: /src/postfix/postfix/src/local/alias.c:219,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/alias.c:221,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/alias.c:224,1
    - Dst: defer_append
      Src: /src/postfix/postfix/src/local/alias.c:226,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/alias.c:226,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/alias.c:227,1
    - Dst: SET_USER_ATTR
      Src: /src/postfix/postfix/src/local/alias.c:230,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/local/alias.c:246,1
    - Dst: OWNER_ASSIGN
      Src: /src/postfix/postfix/src/local/alias.c:247,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/local/alias.c:248,1
    - Dst: canon_addr_internal
      Src: /src/postfix/postfix/src/local/alias.c:249,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/local/alias.c:249,1
    - Dst: SET_OWNER_ATTR
      Src: /src/postfix/postfix/src/local/alias.c:252,1
    - Dst: STR
      Src: /src/postfix/postfix/src/local/alias.c:252,1
    - Dst: RESET_OWNER_ATTR
      Src: /src/postfix/postfix/src/local/alias.c:257,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/alias.c:274,1
    - Dst: defer_append
      Src: /src/postfix/postfix/src/local/alias.c:276,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/alias.c:276,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/alias.c:277,1
    - Dst: DSN_SAVE_UPDATE
      Src: /src/postfix/postfix/src/local/alias.c:300,1
    - Dst: DSN_SAVE_UPDATE
      Src: /src/postfix/postfix/src/local/alias.c:305,1
    - Dst: DSN_SAVE_UPDATE
      Src: /src/postfix/postfix/src/local/alias.c:306,1
    - Dst: DSN_SAVE_UPDATE
      Src: /src/postfix/postfix/src/local/alias.c:307,1
    - Dst: deliver_token_string
      Src: /src/postfix/postfix/src/local/alias.c:311,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/local/alias.c:315,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/alias.c:317,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/alias.c:321,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/alias.c:322,1
    - Dst: defer_append
      Src: /src/postfix/postfix/src/local/alias.c:324,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/alias.c:324,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/alias.c:325,1
    - Dst: dsb_update
      Src: /src/postfix/postfix/src/local/alias.c:346,1
    - Dst: trace_append
      Src: /src/postfix/postfix/src/local/alias.c:350,1
    - Dst: SENT_ATTR
      Src: /src/postfix/postfix/src/local/alias.c:351,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/local/alias.c:355,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/local/alias.c:357,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/local/alias.c:359,1
    - Dst: mypwfree
      Src: /src/postfix/postfix/src/local/alias.c:361,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/local/alias.c:370,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/local/alias.c:372,1
    - Dst: defer_append
      Src: /src/postfix/postfix/src/local/alias.c:374,1
    - Dst: BOUNCE_FLAGS
      Src: /src/postfix/postfix/src/local/alias.c:374,1
    - Dst: BOUNCE_ATTR
      Src: /src/postfix/postfix/src/local/alias.c:375,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/local/alias.c:379,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 106
    argCount: 4
    argNames:
    - state
    - usr_attr
    - name
    - statusp
    argTypes:
    - LOCAL_STATE
    - USER_ATTR
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 102
    functionDepth: 7
    functionLinenumber: 102
    functionLinenumberEnd: 387
    functionName: deliver_alias
    functionSourceFile: /src/postfix/postfix/src/local/alias.c
    functionUses: 1
    functionsReached:
    - dsb_update
    - msg_info
    - dsb_simple
    - sent
    - msg_panic
    - mypwfree
    - BOUNCE_ATTR
    - maps_find
    - trace_append
    - BOUNCE_FLAGS
    - vstring_alloc
    - canon_addr_internal
    - RESET_USER_ATTR
    - RESET_OWNER_ATTR
    - strcasecmp_utf8
    - deliver_token_string
    - MSG_LOG_STATE
    - myfree
    - OWNER_ASSIGN
    - strncmp
    - defer_append
    - SET_USER_ATTR
    - SENT_ATTR
    - dict_get
    - vstring_free
    - SET_OWNER_ATTR
    - msg_warn
    - mypwuid_err
    - bounce_append
    - DSN_SAVE_UPDATE
    - mystrdup
    - dict_handle
    - STR
    linkageType: ''
    returnType: int
    signature: "int deliver_alias(LOCAL_STATE state, USER_ATTR usr_attr,\n\t\t              char
      *name, int *statusp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - own
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: OWNER_ASSIGN
    functionSourceFile: /src/postfix/postfix/src/local/alias.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OWNER_ASSIGN(own)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - saved
    - ','
    - old
    - ','
    - new
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: DSN_SAVE_UPDATE
    functionSourceFile: /src/postfix/postfix/src/local/alias.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSN_SAVE_UPDATE(saved, old, new)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 287
    functionName: DEV_PATH
    functionSourceFile: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEV_PATH(dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - egd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: EGD_PATH
    functionSourceFile: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EGD_PATH(egd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 324
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
    functionUses: 358
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 325
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 325
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
    functionUses: 94
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - 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: 326
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 326
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x, y)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:337,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:343,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:344,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:346,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:347,1
    - Dst: exit
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:348,1
    - Dst: tls_prng_exch_update
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:350,1
    - Dst: RAND_bytes
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:356,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - unused_event
    - dummy
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 359
    functionName: tlsmgr_prng_exch_event
    functionSourceFile: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
    functionUses: 0
    functionsReached:
    - sleep
    - msg_warn
    - event_request_timer
    - tls_prng_exch_update
    - exit
    - msg_info
    - fstat
    - msg_fatal
    - RAND_bytes
    linkageType: ''
    returnType: void
    signature: void tlsmgr_prng_exch_event(int unused_event, void *dummy)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tls_prng_dev_read
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:385,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:386,1
    - Dst: DEV_PATH
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:387,1
    - Dst: tls_prng_egd_read
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:396,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:397,1
    - Dst: EGD_PATH
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:398,1
    - Dst: tls_prng_file_read
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:408,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:409,1
    - Dst: tls_prng_file_close
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:411,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:421,1
    - Dst: tls_prng_exch_update
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:432,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:433,1
    - Dst: exit
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:434,1
    - Dst: RAND_bytes
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:441,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:443,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - unused_event
    - dummy
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 444
    functionName: tlsmgr_reseed_event
    functionSourceFile: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
    functionUses: 0
    functionsReached:
    - sleep
    - msg_warn
    - tls_prng_dev_read
    - event_request_timer
    - tls_prng_exch_update
    - exit
    - tls_prng_file_read
    - msg_info
    - DEV_PATH
    - tls_prng_egd_read
    - RAND_bytes
    - EGD_PATH
    - tls_prng_file_close
    linkageType: ''
    returnType: void
    signature: void tlsmgr_reseed_event(int unused_event, void *dummy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:461,1
    - Dst: tls_scache_sequence
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:466,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - unused_event
    - ctx
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 448
    functionDepth: 4
    functionLinenumber: 448
    functionLinenumberEnd: 471
    functionName: tlsmgr_cache_run_event
    functionSourceFile: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
    functionUses: 0
    functionsReached:
    - event_request_timer
    - tls_scache_sequence
    - msg_info
    linkageType: ''
    returnType: void
    signature: void tlsmgr_cache_run_event(int unused_event, void *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:480,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:483,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:483,1
    - Dst: tls_scache_key
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:492,1
    - Dst: RAND_bytes
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:495,1
    - Dst: RAND_bytes
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:496,1
    - Dst: RAND_bytes
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:497,1
    - Dst: tls_scache_key_rotate
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:500,1
    - Dst: vstring_memcpy
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:507,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - buffer
    - timeout
    argTypes:
    - VSTRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 509
    functionName: tlsmgr_key
    functionSourceFile: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
    functionUses: 0
    functionsReached:
    - tls_scache_key_rotate
    - time
    - LEN
    - tls_scache_key
    - vstring_memcpy
    - RAND_bytes
    - STR
    linkageType: ''
    returnType: int
    signature: int tlsmgr_key(VSTRING *buffer, int timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:524,1
    - Dst: RAND_seed
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:525,1
    - Dst: tls_scache_sequence
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:544,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 513
    functionDepth: 4
    functionLinenumber: 513
    functionLinenumberEnd: 549
    functionName: tlsmgr_loop
    functionSourceFile: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
    functionUses: 0
    functionsReached:
    - RAND_seed
    - GETTIMEOFDAY
    - tls_scache_sequence
    linkageType: ''
    returnType: int
    signature: int tlsmgr_loop(char *unused_name, char **unused_argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: read_wait
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:560,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:560,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:561,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:562,1
    - Dst: peekfd
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:565,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:565,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:566,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:567,1
    - Dst: vstring_get_null
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:575,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:576,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:577,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:586,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:588,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - client_stream
    - request
    argTypes:
    - VSTREAM*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 594
    functionName: tlsmgr_request_receive
    functionSourceFile: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - VSTREAM_PATH
    - read_wait
    - RECV_ATTR_STR
    - attr_scan
    - vstring_get_null
    - vstream_fileno
    - peekfd
    linkageType: ''
    returnType: int
    signature: int tlsmgr_request_receive(VSTREAM *client_stream, VSTRING *request)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:617,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:623,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:624,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:625,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:626,1
    - Dst: tlsmgr_request_receive
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:635,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:640,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:640,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:641,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:642,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:643,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:646,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:646,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:649,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:650,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:651,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:657,1
    - Dst: tls_scache_lookup
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:659,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:660,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:664,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:665,1
    - Dst: SEND_ATTR_DATA
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:666,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:667,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:667,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:674,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:674,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:675,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:676,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:677,1
    - Dst: RECV_ATTR_DATA
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:678,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:681,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:681,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:684,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:685,1
    - Dst: tls_scache_update
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:688,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:688,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:689,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:689,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:693,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:694,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:701,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:701,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:702,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:703,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:704,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:707,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:707,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:710,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:711,1
    - Dst: tls_scache_delete
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:713,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:714,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:718,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:719,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:726,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:726,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:727,1
    - Dst: RECV_ATTR_DATA
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:728,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:730,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:730,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:731,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:732,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:733,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:736,1
    - Dst: tlsmgr_key
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:738,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:741,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:742,1
    - Dst: SEND_ATTR_DATA
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:743,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:744,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:744,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:751,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:751,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:752,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:753,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:755,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:757,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:760,1
    - Dst: RAND_bytes
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:761,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:761,1
    - Dst: vstring_set_payload_size
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:762,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:766,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:767,1
    - Dst: SEND_ATTR_DATA
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:768,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:769,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:769,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:776,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:776,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:780,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:781,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:784,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:784,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:787,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:788,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:795,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:796,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:797,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:798,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:813,1
    - Dst: STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:813,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:815,1
    - Dst: multi_server_disconnect
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:816,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:832,1
    - Dst: vstream_feof
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:832,1
    - Dst: multi_server_disconnect
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:833,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:842,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:843,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:846,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 113
    argCount: 3
    argNames:
    - client_stream
    - unused_service
    - argv
    argTypes:
    - VSTREAM*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 598
    functionDepth: 3
    functionLinenumber: 598
    functionLinenumberEnd: 847
    functionName: tlsmgr_service
    functionSourceFile: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
    functionUses: 0
    functionsReached:
    - attr_print
    - RECV_ATTR_STR
    - LEN
    - VSTRING_SPACE
    - msg_info
    - tlsmgr_request_receive
    - VSTRING_RESET
    - vstream_ferror
    - tlsmgr_key
    - SEND_ATTR_DATA
    - vstream_fflush
    - vstring_alloc
    - attr_scan
    - vstream_feof
    - RECV_ATTR_DATA
    - tls_scache_delete
    - SEND_ATTR_INT
    - tls_scache_update
    - STREQ
    - tls_scache_lookup
    - RAND_bytes
    - msg_warn
    - vstring_set_payload_size
    - strcmp
    - msg_fatal
    - multi_server_disconnect
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: void
    signature: "void tlsmgr_service(VSTREAM *client_stream, char *unused_service,\n\t\t\t
      \          char **argv)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:868,1
    - Dst: getpid
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:869,1
    - Dst: RAND_seed
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:870,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:887,1
    - Dst: DEV_PATH
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:888,1
    - Dst: tls_prng_dev_open
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:889,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:891,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:897,1
    - Dst: EGD_PATH
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:898,1
    - Dst: tls_prng_egd_open
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:899,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:901,1
    - Dst: tls_prng_file_open
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:909,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:912,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:914,1
    - Dst: SAVE_AND_SET_EUGID
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:923,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:924,1
    - Dst: tls_prng_exch_open
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:933,1
    - Dst: data_redirect_file
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:933,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:936,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:945,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:956,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:957,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:959,1
    - Dst: tls_scache_open
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:961,1
    - Dst: data_redirect_map
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:961,1
    - Dst: tls_log_mask
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:963,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:968,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:973,1
    - Dst: RESTORE_SAVED_EUGID
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:974,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 851
    functionDepth: 3
    functionLinenumber: 851
    functionLinenumberEnd: 975
    functionName: tlsmgr_pre_init
    functionSourceFile: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
    functionUses: 0
    functionsReached:
    - RAND_seed
    - htable_create
    - getpid
    - htable_free
    - tls_prng_file_open
    - RESTORE_SAVED_EUGID
    - tls_prng_egd_open
    - data_redirect_map
    - vstring_alloc
    - tls_log_mask
    - htable_find
    - GETTIMEOFDAY
    - htable_enter
    - strncmp
    - vstring_free
    - data_redirect_file
    - msg_warn
    - tls_prng_dev_open
    - tls_scache_open
    - DEV_PATH
    - tls_prng_exch_open
    - msg_fatal
    - SAVE_AND_SET_EUGID
    - EGD_PATH
    linkageType: ''
    returnType: void
    signature: void tlsmgr_pre_init(char *unused_name, char **unused_argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlsmgr_reseed_event
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:1001,1
    - Dst: tlsmgr_prng_exch_event
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:1010,1
    - Dst: tlsmgr_cache_run_event
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:1021,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 979
    functionDepth: 5
    functionLinenumber: 979
    functionLinenumberEnd: 1022
    functionName: tlsmgr_post_init
    functionSourceFile: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
    functionUses: 0
    functionsReached:
    - tlsmgr_cache_run_event
    - tlsmgr_reseed_event
    - tlsmgr_prng_exch_event
    linkageType: ''
    returnType: void
    signature: void tlsmgr_post_init(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: attr_print
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:1033,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:1034,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:1036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - stream
    - unused_name
    - unused_argv
    - unused_table
    argTypes:
    - VSTREAM*
    - char*
    - char**
    - HTABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1026
    functionDepth: 1
    functionLinenumber: 1026
    functionLinenumberEnd: 1037
    functionName: tlsmgr_post_accept
    functionSourceFile: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_STR
    - attr_print
    - vstream_fflush
    linkageType: ''
    returnType: void
    signature: "void tlsmgr_post_accept(VSTREAM *stream, char *unused_name,\n\t\t\t
      \          char **unused_argv, HTABLE *unused_table)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls_prng_exch_update
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:1049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - unused_service_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1042
    functionDepth: 2
    functionLinenumber: 1042
    functionLinenumberEnd: 1050
    functionName: tlsmgr_before_exit
    functionSourceFile: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
    functionUses: 0
    functionsReached:
    - tls_prng_exch_update
    linkageType: ''
    returnType: void
    signature: void tlsmgr_before_exit(char *unused_service_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: multi_server_main
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:1091,1
    - Dst: CA_MAIL_SERVER_TIME_TABLE
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:1092,1
    - Dst: CA_MAIL_SERVER_INT_TABLE
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:1093,1
    - Dst: CA_MAIL_SERVER_STR_TABLE
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:1094,1
    - Dst: CA_MAIL_SERVER_PRE_INIT
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:1095,1
    - Dst: CA_MAIL_SERVER_POST_INIT
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:1096,1
    - Dst: CA_MAIL_SERVER_POST_ACCEPT
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:1097,1
    - Dst: CA_MAIL_SERVER_EXIT
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:1098,1
    - Dst: CA_MAIL_SERVER_LOOP
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:1099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1056
    functionDepth: 1
    functionLinenumber: 1056
    functionLinenumberEnd: 1102
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
    functionUses: 35
    functionsReached:
    - multi_server_main
    - CA_MAIL_SERVER_STR_TABLE
    - CA_MAIL_SERVER_EXIT
    - CA_MAIL_SERVER_POST_INIT
    - CA_MAIL_SERVER_LOOP
    - CA_MAIL_SERVER_INT_TABLE
    - CA_MAIL_SERVER_TIME_TABLE
    - CA_MAIL_SERVER_POST_ACCEPT
    - CA_MAIL_SERVER_PRE_INIT
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:1111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - unused_stream
    - unused_service
    - unused_argv
    argTypes:
    - VSTREAM*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1108
    functionDepth: 1
    functionLinenumber: 1108
    functionLinenumberEnd: 1112
    functionName: tlsmgr_service
    functionSourceFile: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
    functionUses: 0
    functionsReached:
    - msg_info
    linkageType: ''
    returnType: void
    signature: "void tlsmgr_service(VSTREAM *unused_stream, char *unused_service,\n\t\t\t
      \          char **unused_argv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: multi_server_main
      Src: /src/postfix/postfix/src/tlsmgr/tlsmgr.c:1128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1130
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
    functionUses: 36
    functionsReached:
    - multi_server_main
    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: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_lookup.c
    functionUses: 362
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOOKUP
      Src: /src/postfix/postfix/src/postconf/postconf_lookup.c:124,1
    - Dst: LOOKUP
      Src: /src/postfix/postfix/src/postconf/postconf_lookup.c:125,1
    - Dst: dict_lookup
      Src: /src/postfix/postfix/src/postconf/postconf_lookup.c:126,1
    - Dst: PCF_PARAM_TABLE_FIND
      Src: /src/postfix/postfix/src/postconf/postconf_lookup.c:128,1
    - Dst: pcf_convert_param_node
      Src: /src/postfix/postfix/src/postconf/postconf_lookup.c:129,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - mode
    - name
    - local_scope
    - node
    argTypes:
    - int
    - char*
    - PCF_MASTER_ENT*
    - PCF_PARAM_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 132
    functionName: pcf_lookup_parameter_value
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_lookup.c
    functionUses: 0
    functionsReached:
    - LOOKUP
    - pcf_convert_param_node
    - dict_lookup
    - PCF_PARAM_TABLE_FIND
    linkageType: ''
    returnType: char
    signature: "char *pcf_lookup_parameter_value(int mode, const char *name,\n\t\t\t\t
      \              PCF_MASTER_ENT *local_scope,\n\t\t\t\t               PCF_PARAM_NODE
      *node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dict
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: LOOKUP
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_lookup.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOOKUP(dict, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcf_lookup_parameter_value
      Src: /src/postfix/postfix/src/postconf/postconf_lookup.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - unused_type
    - context
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: pcf_lookup_parameter_value_wrapper
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_lookup.c
    functionUses: 0
    functionsReached:
    - pcf_lookup_parameter_value
    linkageType: ''
    returnType: char
    signature: "char *pcf_lookup_parameter_value_wrapper(const char *key,\n\t\t\t\t\t\t
      \           int unused_type,\n\t\t\t\t\t\t              void *context)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_lookup.c:168,1
    - Dst: mac_expand
      Src: /src/postfix/postfix/src/postconf/postconf_lookup.c:183,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_lookup.c:186,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postconf/postconf_lookup.c:188,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_lookup.c:188,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postconf/postconf_lookup.c:189,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_lookup.c:189,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postconf/postconf_lookup.c:191,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_lookup.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - buf
    - mode
    - value
    - local_scope
    argTypes:
    - VSTRING*
    - int
    - char*
    - PCF_MASTER_ENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 194
    functionName: pcf_expand_parameter_value
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_lookup.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - mac_expand
    - msg_info
    - strcmp
    - msg_fatal
    - STR
    linkageType: ''
    returnType: char
    signature: "char *pcf_expand_parameter_value(VSTRING *buf, int mode, const char
      *value,\n\t\t\t\t           PCF_MASTER_ENT *local_scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_mapnames
      Src: /src/postfix/postfix/src/postconf/postconf_other.c:89,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postconf/postconf_other.c:91,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postconf/postconf_other.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: pcf_show_maps
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_other.c
    functionUses: 0
    functionsReached:
    - argv_free
    - dict_mapnames
    - vstream_printf
    linkageType: ''
    returnType: void
    signature: void pcf_show_maps(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbox_lock_names
      Src: /src/postfix/postfix/src/postconf/postconf_other.c:102,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postconf/postconf_other.c:104,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postconf/postconf_other.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: pcf_show_locks
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_other.c
    functionUses: 0
    functionsReached:
    - argv_free
    - mbox_lock_names
    - vstream_printf
    linkageType: ''
    returnType: void
    signature: void pcf_show_locks(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xsasl_server_types
      Src: /src/postfix/postfix/src/postconf/postconf_other.c:115,1
    - Dst: xsasl_client_types
      Src: /src/postfix/postfix/src/postconf/postconf_other.c:116,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postconf/postconf_other.c:118,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postconf/postconf_other.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - what
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: pcf_show_sasl
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_other.c
    functionUses: 0
    functionsReached:
    - argv_free
    - xsasl_server_types
    - xsasl_client_types
    - vstream_printf
    linkageType: ''
    returnType: void
    signature: void pcf_show_sasl(int what)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postconf/postconf_other.c:127,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postconf/postconf_other.c:128,1
    - Dst: tls_compile_version
      Src: /src/postfix/postfix/src/postconf/postconf_other.c:128,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postconf/postconf_other.c:129,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postconf/postconf_other.c:130,1
    - Dst: tls_run_version
      Src: /src/postfix/postfix/src/postconf/postconf_other.c:130,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postconf/postconf_other.c:131,1
    - Dst: tls_pkey_algorithms
      Src: /src/postfix/postfix/src/postconf/postconf_other.c:134,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postconf/postconf_other.c:135,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postconf/postconf_other.c:137,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postconf/postconf_other.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - what
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: pcf_show_tls
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_other.c
    functionUses: 0
    functionsReached:
    - tls_compile_version
    - msg_warn
    - exit
    - tls_run_version
    - strcmp
    - vstream_printf
    - tls_pkey_algorithms
    linkageType: ''
    returnType: void
    signature: void pcf_show_tls(const char *what)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_misc.c:69,1
    - Dst: safe_getenv
      Src: /src/postfix/postfix/src/postconf/postconf_misc.c:70,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postconf/postconf_misc.c:71,1
    - Dst: set_mail_conf_str
      Src: /src/postfix/postfix/src/postconf/postconf_misc.c:72,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postconf/postconf_misc.c:74,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_misc.c:81,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/postconf/postconf_misc.c:83,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_misc.c:85,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/postconf/postconf_misc.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 88
    functionName: pcf_set_config_dir
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_misc.c
    functionUses: 0
    functionsReached:
    - set_mail_conf_str
    - myfree
    - safe_getenv
    - concatenate
    - mystrdup
    linkageType: ''
    returnType: void
    signature: void pcf_set_config_dir(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcf_set_config_dir
      Src: /src/postfix/postfix/src/postconf/postconf_misc.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 4
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: pcf_get_main_path
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_misc.c
    functionUses: 0
    functionsReached:
    - pcf_set_config_dir
    linkageType: ''
    returnType: char
    signature: char *pcf_get_main_path(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcf_set_config_dir
      Src: /src/postfix/postfix/src/postconf/postconf_misc.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: pcf_get_master_path
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_misc.c
    functionUses: 0
    functionsReached:
    - pcf_set_config_dir
    linkageType: ''
    returnType: char
    signature: char *pcf_get_master_path(void)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_dbms.c
    functionUses: 363
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:195,1
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:196,1
    - Dst: dict_ht_open
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:205,1
    - Dst: dict_register
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:206,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:207,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:209,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:211,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:214,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:214,1
    - Dst: S_ISREG
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:214,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:215,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:217,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:218,1
    - Dst: dict_load_fp
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:221,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:222,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:223,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:225,1
    - Dst: dict_del
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:237,1
    - Dst: DICT*::sequence
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:239,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:241,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:244,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - mode
    - dp
    - cf_file
    argTypes:
    - int
    - PCF_DBMS_INFO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 245
    functionName: pcf_check_dbms_client
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_dbms.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - vstream_fileno
    - S_ISREG
    - vstream_fclose
    - dict_register
    - myfree
    - dict_del
    - dict_load_fp
    - DICT*::sequence
    - fstat
    - concatenate
    - vstream_fopen
    - dict_handle
    - dict_ht_open
    linkageType: ''
    returnType: void
    signature: "void pcf_check_dbms_client(int mode, const PCF_DBMS_INFO *dp,\n\t\t\t\t
      \         const char *cf_file)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mystrtokq_cw
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:265,1
    - Dst: pcf_get_master_path
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:266,1
    - Dst: pcf_get_main_path
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:266,1
    - Dst: extpar
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:268,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:271,1
    - Dst: pcf_get_master_path
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:271,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:274,1
    - Dst: pcf_get_main_path
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:274,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:275,1
    - Dst: pcf_register_dbms_helper
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:278,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:287,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:288,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:289,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:306,1
    - Dst: pcf_check_dbms_client
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:308,1
    - Dst: extpar
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:326,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:329,1
    - Dst: pcf_get_master_path
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:329,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:332,1
    - Dst: pcf_get_main_path
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:332,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:333,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:336,1
    - Dst: pcf_register_dbms_helper
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:342,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:347,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:350,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:351,1
    - Dst: flag_parameter
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:353,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:353,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 59
    argCount: 4
    argNames:
    - mode
    - str_value
    - local_scope
    - recurse
    argTypes:
    - int
    - char*
    - PCF_MASTER_ENT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 249
    functionDepth: 5
    functionLinenumber: 249
    functionLinenumberEnd: 364
    functionName: pcf_register_dbms_helper
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_dbms.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - extpar
    - vstring_sprintf
    - pcf_get_main_path
    - mystrtokq_cw
    - pcf_check_dbms_client
    - vstring_alloc
    - myfree
    - pcf_register_dbms_helper
    - flag_parameter
    - strcmp
    - split_at
    - pcf_get_master_path
    - STR
    linkageType: ''
    returnType: void
    signature: "void pcf_register_dbms_helper(int mode, char *str_value,\n         const
      char *(flag_parameter) (const char *, int, PCF_MASTER_ENT *),\n\t\t\t\t             PCF_MASTER_ENT
      *local_scope,\n\t\t\t\t             int recurse)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:381,1
    - Dst: pcf_expand_parameter_value
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:382,1
    - Dst: pcf_register_dbms_helper
      Src: /src/postfix/postfix/src/postconf/postconf_dbms.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mode
    - param_value
    - local_scope
    argTypes:
    - int
    - char*
    - PCF_MASTER_ENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 368
    functionDepth: 6
    functionLinenumber: 368
    functionLinenumberEnd: 386
    functionName: pcf_register_dbms_parameters
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_dbms.c
    functionUses: 0
    functionsReached:
    - pcf_register_dbms_helper
    - vstring_alloc
    - pcf_expand_parameter_value
    linkageType: ''
    returnType: void
    signature: "void pcf_register_dbms_parameters(int mode, const char *param_value,\n
      \        const char *(flag_parameter) (const char *, int, PCF_MASTER_ENT *),\n\t\t\t\t
      \            PCF_MASTER_ENT *local_scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htable_create
      Src: /src/postfix/postfix/src/postconf/postconf_unused.c:114,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/postconf/postconf_unused.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: pcf_init_depr_params
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_unused.c
    functionUses: 0
    functionsReached:
    - htable_create
    - htable_enter
    linkageType: ''
    returnType: void
    signature: void pcf_init_depr_params(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_unused.c:134,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_unused.c:136,1
    - Dst: pcf_init_depr_params
      Src: /src/postfix/postfix/src/postconf/postconf_unused.c:143,1
    - Dst: DICT*::sequence
      Src: /src/postfix/postfix/src/postconf/postconf_unused.c:151,1
    - Dst: PCF_PARAM_TABLE_LOCATE
      Src: /src/postfix/postfix/src/postconf/postconf_unused.c:158,1
    - Dst: PCF_PARAM_TABLE_LOCATE
      Src: /src/postfix/postfix/src/postconf/postconf_unused.c:160,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/postconf/postconf_unused.c:161,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/postconf/postconf_unused.c:163,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postconf/postconf_unused.c:164,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postconf/postconf_unused.c:168,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/postconf/postconf_unused.c:179,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/postconf/postconf_unused.c:180,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postconf/postconf_unused.c:181,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - dict
    - conf_name
    - local_scope
    argTypes:
    - DICT*
    - char*
    - PCF_MASTER_ENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 186
    functionName: pcf_flag_unused_parameters
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_unused.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - pcf_init_depr_params
    - msg_warn
    - vstream_fflush
    - DICT*::sequence
    - PCF_PARAM_TABLE_LOCATE
    - htable_find
    linkageType: ''
    returnType: void
    signature: "void pcf_flag_unused_parameters(DICT *dict, const char *conf_name,\n\t\t\t\t
      \              PCF_MASTER_ENT *local_scope)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/postconf/postconf_unused.c:199,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_unused.c:200,1
    - Dst: pcf_flag_unused_parameters
      Src: /src/postfix/postfix/src/postconf/postconf_unused.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 203
    functionName: pcf_flag_unused_main_parameters
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_unused.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - pcf_flag_unused_parameters
    - dict_handle
    linkageType: ''
    returnType: void
    signature: void pcf_flag_unused_main_parameters(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_unused.c:217,1
    - Dst: pcf_flag_unused_parameters
      Src: /src/postfix/postfix/src/postconf/postconf_unused.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 226
    functionName: pcf_flag_unused_master_parameters
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_unused.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - pcf_flag_unused_parameters
    linkageType: ''
    returnType: void
    signature: void pcf_flag_unused_master_parameters(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf.c:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 770
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.c
    functionUses: 29
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void usage(const char *progname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf.c:785,1
    - Dst: str_name_mask
      Src: /src/postfix/postfix/src/postconf/postconf.c:786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - optval
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 789
    functionName: pcf_check_exclusive_options
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - str_name_mask
    linkageType: ''
    returnType: void
    signature: void pcf_check_exclusive_options(int optval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postconf/postconf.c:796,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postconf/postconf.c:797,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf.c:806,1
    - Dst: str_name_mask_opt
      Src: /src/postfix/postfix/src/postconf/postconf.c:807,1
    - Dst: str_name_mask_opt
      Src: /src/postfix/postfix/src/postconf/postconf.c:809,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postconf/postconf.c:812,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postconf/postconf.c:813,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - optval
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 814
    functionName: pcf_check_compat_options
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - str_name_mask_opt
    - vstring_alloc
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void pcf_check_compat_options(int optval)
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/postfix/postfix/src/postconf/postconf.c:843,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/postconf/postconf.c:851,1
    - Dst: close
      Src: /src/postfix/postfix/src/postconf/postconf.c:852,1
    - Dst: open
      Src: /src/postfix/postfix/src/postconf/postconf.c:852,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf.c:853,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/postconf/postconf.c:858,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/postconf/postconf.c:868,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf.c:879,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/postconf/postconf.c:880,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/postconf/postconf.c:881,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/postconf/postconf.c:884,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf.c:885,1
    - Dst: name_mask_opt
      Src: /src/postfix/postfix/src/postconf/postconf.c:888,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/postconf/postconf.c:927,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/postconf/postconf.c:928,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf.c:942,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/postconf/postconf.c:943,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/postconf/postconf.c:944,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf.c:948,1
    - Dst: usage
      Src: /src/postfix/postfix/src/postconf/postconf.c:963,1
    - Dst: compat_level_relop_register
      Src: /src/postfix/postfix/src/postconf/postconf.c:970,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/postconf/postconf.c:995,1
    - Dst: pcf_check_exclusive_options
      Src: /src/postfix/postfix/src/postconf/postconf.c:1001,1
    - Dst: pcf_check_compat_options
      Src: /src/postfix/postfix/src/postconf/postconf.c:1002,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf.c:1005,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf.c:1013,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/postconf/postconf.c:1014,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/postconf/postconf.c:1015,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/postconf/postconf.c:1020,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/postconf/postconf.c:1021,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/postconf/postconf.c:1023,1
    - Dst: mail_run_replace
      Src: /src/postfix/postfix/src/postconf/postconf.c:1024,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/postconf/postconf.c:1032,1
    - Dst: mail_dict_init
      Src: /src/postfix/postfix/src/postconf/postconf.c:1033,1
    - Dst: pcf_show_maps
      Src: /src/postfix/postfix/src/postconf/postconf.c:1034,1
    - Dst: pcf_show_locks
      Src: /src/postfix/postfix/src/postconf/postconf.c:1041,1
    - Dst: pcf_read_master
      Src: /src/postfix/postfix/src/postconf/postconf.c:1049,1
    - Dst: pcf_read_parameters
      Src: /src/postfix/postfix/src/postconf/postconf.c:1050,1
    - Dst: pcf_set_parameters
      Src: /src/postfix/postfix/src/postconf/postconf.c:1052,1
    - Dst: pcf_register_builtin_parameters
      Src: /src/postfix/postfix/src/postconf/postconf.c:1053,1
    - Dst: basename
      Src: /src/postfix/postfix/src/postconf/postconf.c:1053,1
    - Dst: getpid
      Src: /src/postfix/postfix/src/postconf/postconf.c:1053,1
    - Dst: pcf_register_service_parameters
      Src: /src/postfix/postfix/src/postconf/postconf.c:1054,1
    - Dst: pcf_register_user_parameters
      Src: /src/postfix/postfix/src/postconf/postconf.c:1055,1
    - Dst: pcf_show_master_fields
      Src: /src/postfix/postfix/src/postconf/postconf.c:1057,1
    - Dst: pcf_show_master_params
      Src: /src/postfix/postfix/src/postconf/postconf.c:1060,1
    - Dst: pcf_show_master_entries
      Src: /src/postfix/postfix/src/postconf/postconf.c:1063,1
    - Dst: pcf_flag_unused_master_parameters
      Src: /src/postfix/postfix/src/postconf/postconf.c:1066,1
    - Dst: pcf_show_sasl
      Src: /src/postfix/postfix/src/postconf/postconf.c:1073,1
    - Dst: pcf_show_sasl
      Src: /src/postfix/postfix/src/postconf/postconf.c:1075,1
    - Dst: pcf_show_tls
      Src: /src/postfix/postfix/src/postconf/postconf.c:1082,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf.c:1090,1
    - Dst: pcf_edit_master
      Src: /src/postfix/postfix/src/postconf/postconf.c:1092,1
    - Dst: pcf_edit_main
      Src: /src/postfix/postfix/src/postconf/postconf.c:1094,1
    - Dst: pcf_read_parameters
      Src: /src/postfix/postfix/src/postconf/postconf.c:1103,1
    - Dst: pcf_set_parameters
      Src: /src/postfix/postfix/src/postconf/postconf.c:1105,1
    - Dst: pcf_register_builtin_parameters
      Src: /src/postfix/postfix/src/postconf/postconf.c:1107,1
    - Dst: basename
      Src: /src/postfix/postfix/src/postconf/postconf.c:1107,1
    - Dst: getpid
      Src: /src/postfix/postfix/src/postconf/postconf.c:1107,1
    - Dst: pcf_read_master
      Src: /src/postfix/postfix/src/postconf/postconf.c:1115,1
    - Dst: pcf_register_service_parameters
      Src: /src/postfix/postfix/src/postconf/postconf.c:1116,1
    - Dst: pcf_register_user_parameters
      Src: /src/postfix/postfix/src/postconf/postconf.c:1118,1
    - Dst: pcf_show_parameters
      Src: /src/postfix/postfix/src/postconf/postconf.c:1123,1
    - Dst: pcf_flag_unused_main_parameters
      Src: /src/postfix/postfix/src/postconf/postconf.c:1133,1
    - Dst: pcf_flag_unused_master_parameters
      Src: /src/postfix/postfix/src/postconf/postconf.c:1134,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/postconf/postconf.c:1137,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postconf/postconf.c:1138,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 183
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 818
    functionDepth: 5
    functionLinenumber: 818
    functionLinenumberEnd: 1139
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.c
    functionUses: 37
    functionsReached:
    - pcf_flag_unused_main_parameters
    - getpid
    - pcf_register_user_parameters
    - basename
    - pcf_set_parameters
    - msg_vstream_init
    - open
    - argv_alloc
    - pcf_check_compat_options
    - GETOPT
    - setenv
    - vstream_fflush
    - exit
    - pcf_show_master_entries
    - pcf_edit_master
    - pcf_show_parameters
    - mail_run_replace
    - concatenate
    - pcf_show_tls
    - pcf_show_master_fields
    - compat_level_relop_register
    - close
    - pcf_read_master
    - name_mask_opt
    - pcf_flag_unused_master_parameters
    - fstat
    - pcf_show_sasl
    - mail_conf_read
    - pcf_check_exclusive_options
    - pcf_register_service_parameters
    - strchr
    - pcf_read_parameters
    - pcf_show_master_params
    - pcf_show_locks
    - mail_dict_init
    - umask
    - pcf_edit_main
    - argv_add
    - usage
    - pcf_register_builtin_parameters
    - msg_fatal
    - pcf_show_maps
    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: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_edit.c
    functionUses: 364
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:100,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:100,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:104,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - dst
    argTypes:
    - VSTRING*
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: pcf_find_cf_info
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_edit.c
    functionUses: 0
    functionsReached:
    - vstream_fputs
    - ISSPACE
    - STR
    linkageType: ''
    returnType: char
    signature: char *pcf_find_cf_info(VSTRING *buf, VSTREAM *dst)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_get
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:118,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:120,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:121,1
    - Dst: pcf_find_cf_info
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - buf
    - src
    - dst
    - lineno
    argTypes:
    - VSTRING*
    - VSTREAM*
    - VSTREAM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: pcf_next_cf_line
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_edit.c
    functionUses: 0
    functionsReached:
    - vstring_get
    - VSTRING_TERMINATE
    - pcf_find_cf_info
    - VSTRING_ADDCH
    linkageType: ''
    returnType: char
    signature: char *pcf_next_cf_line(VSTRING *buf, VSTREAM *src, VSTREAM *dst, int
      *lineno)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:138,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:138,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:140,1
    - Dst: vstream_ungetc
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:141,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:142,1
    - Dst: vstring_get
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:143,1
    - Dst: pcf_find_cf_info
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:146,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:147,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:147,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - full_entry_buf
    - line_buf
    - src
    - dst
    - lineno
    argTypes:
    - VSTRING*
    - VSTRING*
    - VSTREAM*
    - VSTREAM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 149
    functionName: pcf_gobble_cf_line
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_edit.c
    functionUses: 0
    functionsReached:
    - vstream_ungetc
    - ISSPACE
    - vstring_get
    - VSTREAM_GETC
    - vstring_strcat
    - pcf_find_cf_info
    - vstring_strcpy
    - STR
    linkageType: ''
    returnType: void
    signature: "void pcf_gobble_cf_line(VSTRING *full_entry_buf, VSTRING *line_buf,\n\t\t\t
      \           VSTREAM *src, VSTREAM *dst, int *lineno)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:159,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:160,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:178,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:180,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:181,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:182,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:185,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:187,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:188,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:191,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:192,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:193,1
    - Dst: trimblanks
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:195,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:198,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:200,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:201,1
    - Dst: htable_delete
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:203,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:205,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:208,1
    - Dst: pcf_get_main_path
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:215,1
    - Dst: edit_file_open
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:216,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:217,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:223,1
    - Dst: unlink
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:225,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:226,1
    - Dst: pcf_next_cf_line
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:236,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:238,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:240,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:240,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:242,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:242,1
    - Dst: vstring_strncpy
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:246,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:246,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:247,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:247,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:250,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:250,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:252,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:252,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:254,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:256,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:256,1
    - Dst: htable_list
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:265,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:268,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:270,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:276,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:277,1
    - Dst: edit_file_close
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:278,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:279,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:284,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:285,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:286,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 78
    argCount: 3
    argNames:
    - mode
    - argc
    - argv
    argTypes:
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 153
    functionDepth: 5
    functionLinenumber: 153
    functionLinenumberEnd: 287
    functionName: pcf_edit_main
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_edit.c
    functionUses: 1
    functionsReached:
    - split_nameval
    - ISSPACE
    - htable_create
    - vstring_strncpy
    - htable_free
    - msg_panic
    - pcf_next_cf_line
    - vstring_alloc
    - strcspn
    - htable_list
    - edit_file_open
    - mymalloc
    - vstream_fopen
    - htable_find
    - htable_delete
    - edit_file_close
    - unlink
    - myfree
    - htable_enter
    - trimblanks
    - vstring_free
    - strchr
    - msg_warn
    - vstream_fprintf
    - pcf_get_main_path
    - vstream_fclose
    - vstream_fputs
    - msg_fatal
    - STR
    linkageType: ''
    returnType: void
    signature: void pcf_edit_main(int mode, 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: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_edit.c
    functionUses: 367
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:311,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:312,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:315,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:331,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:336,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:340,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:341,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:342,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:343,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:346,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:349,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:350,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:353,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:354,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:358,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:359,1
    - Dst: trimblanks
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:361,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:364,1
    - Dst: pcf_parse_service_pattern
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:375,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:376,1
    - Dst: pcf_parse_service_pattern
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:380,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:381,1
    - Dst: pcf_parse_field_pattern
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:383,1
    - Dst: pcf_is_magic_field_pattern
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:384,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:385,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:388,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:389,1
    - Dst: pcf_parse_service_pattern
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:393,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:394,1
    - Dst: PCF_IS_MAGIC_PARAM_PATTERN
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:396,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:397,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:399,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:400,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:403,1
    - Dst: pcf_get_master_path
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:411,1
    - Dst: edit_file_open
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:412,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:413,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:419,1
    - Dst: unlink
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:421,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:422,1
    - Dst: pcf_next_cf_line
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:432,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:433,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:433,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:438,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:440,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:440,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:442,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:442,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:454,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:455,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:456,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:458,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:459,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:462,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:463,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:496,1
    - Dst: pcf_parse_master_entry
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:497,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:499,1
    - Dst: PCF_MATCH_SERVICE_PATTERN
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:501,1
    - Dst: pcf_gobble_cf_line
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:522,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:525,1
    - Dst: pcf_parse_master_entry
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:526,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:527,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:528,1
    - Dst: pcf_edit_master_field
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:532,1
    - Dst: pcf_edit_master_param
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:536,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:550,1
    - Dst: PCF_MATCH_SERVICE_PATTERN
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:554,1
    - Dst: pcf_free_master_entry
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:565,1
    - Dst: pcf_free_master_entry
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:568,1
    - Dst: pcf_print_master_entry
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:577,1
    - Dst: pcf_free_master_entry
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:578,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:581,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:581,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:583,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:583,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:596,1
    - Dst: pcf_parse_master_entry
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:597,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:598,1
    - Dst: pcf_print_master_entry
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:599,1
    - Dst: pcf_free_master_entry
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:600,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:602,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:610,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:611,1
    - Dst: edit_file_close
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:612,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:613,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:618,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:619,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:620,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:622,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:623,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_edit.c:625,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 171
    argCount: 3
    argNames:
    - mode
    - argc
    - argv
    argTypes:
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 304
    functionDepth: 5
    functionLinenumber: 304
    functionLinenumberEnd: 626
    functionName: pcf_edit_master
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_edit.c
    functionUses: 1
    functionsReached:
    - split_nameval
    - ISSPACE
    - pcf_get_master_path
    - msg_panic
    - pcf_next_cf_line
    - vstring_alloc
    - PCF_IS_MAGIC_PARAM_PATTERN
    - pcf_parse_service_pattern
    - strcspn
    - edit_file_open
    - mystrtok
    - mymalloc
    - vstream_fopen
    - pcf_free_master_entry
    - PCF_MATCH_SERVICE_PATTERN
    - edit_file_close
    - unlink
    - myfree
    - pcf_is_magic_field_pattern
    - pcf_print_master_entry
    - trimblanks
    - pcf_gobble_cf_line
    - vstring_free
    - pcf_parse_field_pattern
    - strchr
    - msg_warn
    - pcf_edit_master_field
    - vstream_fprintf
    - vstream_fclose
    - pcf_parse_master_entry
    - argv_free
    - vstring_strcpy
    - vstream_fputs
    - msg_fatal
    - mystrdup
    - pcf_edit_master_param
    - STR
    linkageType: ''
    returnType: void
    signature: void pcf_edit_master(int mode, 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: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_main.c
    functionUses: 368
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcf_get_main_path
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:113,1
    - Dst: dict_load_file_xt
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:114,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 5
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: pcf_read_parameters
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_main.c
    functionUses: 1
    functionsReached:
    - msg_fatal
    - dict_load_file_xt
    - pcf_get_main_path
    linkageType: ''
    returnType: void
    signature: void pcf_read_parameters(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:127,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:128,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:129,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:130,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - name_val_array
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 133
    functionName: pcf_set_parameters
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_main.c
    functionUses: 1
    functionsReached:
    - split_nameval
    - myfree
    - mail_conf_update
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: void
    signature: void pcf_set_parameters(char **name_val_array)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:144,1
    - Dst: pcf_lookup_parameter_value
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:149,1
    - Dst: pcf_print_line
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:157,1
    - Dst: PCF_RAW_PARAMETER
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:159,1
    - Dst: pcf_expand_parameter_value
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:160,1
    - Dst: pcf_print_line
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:163,1
    - Dst: pcf_print_line
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:165,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:169,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - fp
    - mode
    - name
    - node
    argTypes:
    - VSTREAM*
    - int
    - char*
    - PCF_PARAM_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 171
    functionName: pcf_print_parameter
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_main.c
    functionUses: 0
    functionsReached:
    - PCF_RAW_PARAMETER
    - vstream_fflush
    - vstring_alloc
    - pcf_lookup_parameter_value
    - pcf_print_line
    - pcf_expand_parameter_value
    linkageType: ''
    returnType: void
    signature: "void pcf_print_parameter(VSTREAM *fp, int mode, const char *name,\n\t\t\t\t
      \       PCF_PARAM_NODE *node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:180,1
    - Dst: PCF_PARAM_INFO_NAME
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:180,1
    - Dst: PCF_PARAM_INFO_NAME
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: pcf_comp_names
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_main.c
    functionUses: 0
    functionsReached:
    - PCF_PARAM_INFO_NAME
    - strcmp
    linkageType: ''
    returnType: int
    signature: int pcf_comp_names(const void *a, const void *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCF_PARAM_TABLE_LIST
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:197,1
    - Dst: qsort
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:198,1
    - Dst: PCF_PARAM_INFO_NODE
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:201,1
    - Dst: pcf_print_parameter
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:202,1
    - Dst: PCF_PARAM_INFO_NAME
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:202,1
    - Dst: PCF_PARAM_INFO_NODE
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:203,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:204,1
    - Dst: PCF_PARAM_TABLE_FIND
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:212,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:213,1
    - Dst: pcf_print_parameter
      Src: /src/postfix/postfix/src/postconf/postconf_main.c:215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - fp
    - mode
    - param_class
    - names
    argTypes:
    - VSTREAM*
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 218
    functionName: pcf_show_parameters
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_main.c
    functionUses: 1
    functionsReached:
    - PCF_PARAM_INFO_NAME
    - msg_warn
    - PCF_PARAM_INFO_NODE
    - PCF_PARAM_TABLE_FIND
    - qsort
    - myfree
    - PCF_PARAM_TABLE_LIST
    - pcf_print_parameter
    linkageType: ''
    returnType: void
    signature: void pcf_show_parameters(VSTREAM *fp, int mode, int param_class, char
      **names)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_service.c
    functionUses: 368
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_service.c:88,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/postconf/postconf_service.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: pcf_convert_service_parameter
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_service.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - STR
    linkageType: ''
    returnType: char
    signature: char *pcf_convert_service_parameter(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/postconf/postconf_service.c:97,1
    - Dst: PCF_PARAM_TABLE_FIND
      Src: /src/postfix/postfix/src/postconf/postconf_service.c:109,1
    - Dst: PCF_PARAM_CLASS_OVERRIDE
      Src: /src/postfix/postfix/src/postconf/postconf_service.c:110,1
    - Dst: PCF_PARAM_TABLE_ENTER
      Src: /src/postfix/postfix/src/postconf/postconf_service.c:112,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_service.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - service
    - suffix
    - defparam
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 116
    functionName: pcf_register_service_parameter
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_service.c
    functionUses: 0
    functionsReached:
    - PCF_PARAM_CLASS_OVERRIDE
    - PCF_PARAM_TABLE_ENTER
    - PCF_PARAM_TABLE_FIND
    - myfree
    - concatenate
    linkageType: ''
    returnType: void
    signature: "void pcf_register_service_parameter(const char *service,\n\t\t\t\t\t
      \          const char *suffix,\n\t\t\t\t\t           const char *defparam)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: service_params
      Src: /src/postfix/postfix/src/postconf/postconf_service.c:126,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_service.c:175,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_service.c:177,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postconf/postconf_service.c:191,1
    - Dst: pcf_register_service_parameter
      Src: /src/postfix/postfix/src/postconf/postconf_service.c:194,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 199
    functionName: pcf_register_service_parameters
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_service.c
    functionUses: 1
    functionsReached:
    - service_params
    - pcf_register_service_parameter
    - strcmp
    - msg_panic
    linkageType: ''
    returnType: void
    signature: void pcf_register_service_parameters(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_builtin.c
    functionUses: 369
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_hostname
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:207,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:208,1
    - Dst: mail_conf_lookup_eval
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:209,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 214
    functionName: pcf_check_myhostname
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_builtin.c
    functionUses: 0
    functionsReached:
    - concatenate
    - strchr
    - mail_conf_lookup_eval
    - get_hostname
    linkageType: ''
    returnType: char
    signature: char *pcf_check_myhostname(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mail_conf_lookup_eval
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:222,1
    - Dst: pcf_check_myhostname
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:223,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 225
    functionName: pcf_get_myhostname
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_builtin.c
    functionUses: 0
    functionsReached:
    - pcf_check_myhostname
    - mystrdup
    - mail_conf_lookup_eval
    linkageType: ''
    returnType: void
    signature: void pcf_get_myhostname(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcf_get_myhostname
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:244,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:245,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 229
    functionDepth: 4
    functionLinenumber: 229
    functionLinenumberEnd: 248
    functionName: pcf_check_mydomainname
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_builtin.c
    functionUses: 0
    functionsReached:
    - strchr
    - mystrdup
    - pcf_get_myhostname
    linkageType: ''
    returnType: char
    signature: char *pcf_check_mydomainname(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:264,1
    - Dst: mail_conf_lookup_eval
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:268,1
    - Dst: pcf_expand_parameter_value
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:269,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:272,1
    - Dst: mail_conf_lookup_eval
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:276,1
    - Dst: pcf_expand_parameter_value
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:277,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:280,1
    - Dst: mail_conf_lookup_eval
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:284,1
    - Dst: pcf_expand_parameter_value
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:285,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:288,1
    - Dst: inet_proto_init
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:289,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:291,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:292,1
    - Dst: mynetworks
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:292,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 293
    functionName: pcf_mynetworks
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_builtin.c
    functionUses: 0
    functionsReached:
    - mynetworks
    - mail_conf_lookup_eval
    - vstring_alloc
    - inet_proto_init
    - mystrdup
    - vstring_free
    - pcf_expand_parameter_value
    linkageType: ''
    returnType: char
    signature: char *pcf_mynetworks(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 302
    functionName: pcf_conv_bool_parameter
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_builtin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *pcf_conv_bool_parameter(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: pcf_conv_time_parameter
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_builtin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *pcf_conv_time_parameter(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:319,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: pcf_conv_int_parameter
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_builtin.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - STR
    linkageType: ''
    returnType: char
    signature: char *pcf_conv_int_parameter(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 329
    functionName: pcf_conv_str_parameter
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_builtin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *pcf_conv_str_parameter(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONFIG_STR_FN_TABLE*::defval
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: pcf_conv_str_fn_parameter
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_builtin.c
    functionUses: 0
    functionsReached:
    - CONFIG_STR_FN_TABLE*::defval
    linkageType: ''
    returnType: char
    signature: char *pcf_conv_str_fn_parameter(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 347
    functionName: pcf_conv_raw_parameter
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_builtin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *pcf_conv_raw_parameter(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: pcf_conv_nint_parameter
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_builtin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *pcf_conv_nint_parameter(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 365
    functionName: pcf_conv_nbool_parameter
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_builtin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *pcf_conv_nbool_parameter(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:373,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 374
    functionName: pcf_conv_long_parameter
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_builtin.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - STR
    linkageType: ''
    returnType: char
    signature: char *pcf_conv_long_parameter(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:395,1
    - Dst: PCF_PARAM_TABLE_CREATE
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:400,1
    - Dst: PCF_PARAM_TABLE_ENTER
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:408,1
    - Dst: PCF_PARAM_TABLE_ENTER
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:412,1
    - Dst: PCF_PARAM_TABLE_ENTER
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:416,1
    - Dst: PCF_PARAM_TABLE_ENTER
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:420,1
    - Dst: PCF_PARAM_TABLE_ENTER
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:424,1
    - Dst: PCF_PARAM_TABLE_ENTER
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:428,1
    - Dst: PCF_PARAM_TABLE_ENTER
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:432,1
    - Dst: PCF_PARAM_TABLE_ENTER
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:436,1
    - Dst: PCF_PARAM_TABLE_ENTER
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:440,1
    - Dst: PCF_PARAM_TABLE_ENTER
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:449,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:457,1
    - Dst: PCF_PARAM_TABLE_ENTER
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:458,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:461,1
    - Dst: PCF_PARAM_TABLE_ENTER
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:462,1
    - Dst: PCF_PARAM_TABLE_ENTER
      Src: /src/postfix/postfix/src/postconf/postconf_builtin.c:466,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - procname
    - pid
    argTypes:
    - char*
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 469
    functionName: pcf_register_builtin_parameters
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_builtin.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - mystrdup
    - PCF_PARAM_TABLE_ENTER
    - PCF_PARAM_TABLE_CREATE
    linkageType: ''
    returnType: void
    signature: void pcf_register_builtin_parameters(const char *procname, pid_t pid)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_master.c
    functionUses: 371
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: extpar
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:211,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:212,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:213,1
    - Dst: argv_replace_one
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - argv
    - field
    - parens
    argTypes:
    - ARGV*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: pcf_extract_field
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_master.c
    functionUses: 0
    functionsReached:
    - myfree
    - msg_warn
    - extpar
    - argv_replace_one
    linkageType: ''
    returnType: void
    signature: void pcf_extract_field(ARGV *argv, int field, const char *parens)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:228,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:229,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:231,1
    - Dst: argv_replace_one
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:232,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argv
    - field
    argTypes:
    - ARGV*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 235
    functionName: pcf_normalize_nameval
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_master.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - split_nameval
    - myfree
    - concatenate
    - argv_replace_one
    linkageType: ''
    returnType: void
    signature: void pcf_normalize_nameval(ARGV *argv, int field)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:252,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:255,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:258,1
    - Dst: argv_insert_one
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:259,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:260,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:265,1
    - Dst: argv_insert_one
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:270,1
    - Dst: pcf_extract_field
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:282,1
    - Dst: pcf_normalize_nameval
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:284,1
    - Dst: pcf_extract_field
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:291,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 1
    argNames:
    - argv
    argTypes:
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 292
    functionName: pcf_normalize_daemon_args
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_master.c
    functionUses: 0
    functionsReached:
    - strchr
    - myfree
    - strcmp
    - argv_insert_one
    - concatenate
    - pcf_normalize_nameval
    - pcf_extract_field
    linkageType: ''
    returnType: void
    signature: void pcf_normalize_daemon_args(ARGV *argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:298,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:304,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:305,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:306,1
    - Dst: translit
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:307,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:307,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:308,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: pcf_fix_fatal
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_master.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vstring_vsprintf
    - vstring_alloc
    - translit
    - msg_fatal
    - STR
    linkageType: ''
    returnType: void
    signature: void pcf_fix_fatal(const char *fmt,...)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcf_fix_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:324,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:326,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:332,1
    - Dst: pcf_fix_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:333,1
    - Dst: pcf_str_field_pattern
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:334,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:338,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:341,1
    - Dst: pcf_fix_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:342,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:346,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:346,1
    - Dst: pcf_fix_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:347,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 2
    argNames:
    - argv
    - raw_text
    argTypes:
    - ARGV*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 349
    functionName: pcf_check_master_entry
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_master.c
    functionUses: 0
    functionsReached:
    - strchr
    - strlen
    - strspn
    - pcf_fix_fatal
    - strcmp
    - pcf_str_field_pattern
    linkageType: ''
    returnType: void
    signature: void pcf_check_master_entry(ARGV *argv, const char *raw_text)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:356,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:357,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:359,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:361,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:363,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - masterp
    argTypes:
    - PCF_MASTER_ENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 365
    functionName: pcf_free_master_entry
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_master.c
    functionUses: 1
    functionsReached:
    - myfree
    - dict_close
    - htable_free
    - argv_free
    linkageType: ''
    returnType: void
    signature: void pcf_free_master_entry(PCF_MASTER_ENT *masterp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argv_splitq
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:386,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:388,1
    - Dst: pcf_check_master_entry
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:391,1
    - Dst: pcf_normalize_daemon_args
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:392,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:394,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:396,1
    - Dst: dict_ht_open
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:399,1
    - Dst: basename
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:400,1
    - Dst: dict_put
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:401,1
    - Dst: dict_put
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:402,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:403,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - masterp
    - buf
    argTypes:
    - PCF_MASTER_ENT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 369
    functionDepth: 3
    functionLinenumber: 369
    functionLinenumberEnd: 408
    functionName: pcf_parse_master_entry
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_master.c
    functionUses: 1
    functionsReached:
    - argv_splitq
    - pcf_check_master_entry
    - dict_put
    - basename
    - argv_free
    - myfree
    - strcmp
    - concatenate
    - pcf_normalize_daemon_args
    - dict_ht_open
    linkageType: ''
    returnType: char
    signature: char *pcf_parse_master_entry(PCF_MASTER_ENT *masterp, const char *buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:427,1
    - Dst: pcf_get_master_path
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:432,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:437,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:443,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:445,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:446,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:448,1
    - Dst: readllines
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:449,1
    - Dst: myrealloc
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:450,1
    - Dst: pcf_parse_master_entry
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:452,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:453,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:454,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:457,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:458,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - fail_on_open_error
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 412
    functionDepth: 5
    functionLinenumber: 412
    functionLinenumberEnd: 465
    functionName: pcf_read_master
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_master.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - msg_warn
    - vstring_alloc
    - vstream_fclose
    - pcf_get_master_path
    - myrealloc
    - readllines
    - pcf_parse_master_entry
    - mymalloc
    - msg_fatal
    - vstream_fopen
    - vstring_free
    - STR
    linkageType: ''
    returnType: void
    signature: void pcf_read_master(int fail_on_open_error)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:496,1
    - Dst: ADD_TEXT
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:509,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:509,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:519,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:528,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:540,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:549,1
    - Dst: pcf_expand_parameter_value
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:551,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:557,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:558,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:562,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:573,1
    - Dst: ADD_TEXT
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:578,1
    - Dst: ADD_TEXT
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:579,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:579,1
    - Dst: ADD_TEXT
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:581,1
    - Dst: ADD_TEXT
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:583,1
    - Dst: ADD_TEXT
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:585,1
    - Dst: ADD_TEXT
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:586,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:586,1
    - Dst: ADD_TEXT
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:588,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:596,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:599,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 3
    argNames:
    - fp
    - mode
    - masterp
    argTypes:
    - VSTREAM*
    - int
    - PCF_MASTER_ENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 600
    functionName: pcf_print_master_entry
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_master.c
    functionUses: 1
    functionsReached:
    - strchr
    - strlen
    - vstream_fflush
    - vstring_alloc
    - strcspn
    - strcmp
    - ADD_TEXT
    - vstream_fputs
    - pcf_expand_parameter_value
    linkageType: ''
    returnType: void
    signature: void pcf_print_master_entry(VSTREAM *fp, int mode, PCF_MASTER_ENT *masterp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - text
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: ADD_TEXT
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_master.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_TEXT(text, len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:615,1
    - Dst: pcf_parse_service_pattern
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:620,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:622,1
    - Dst: PCF_MATCH_SERVICE_PATTERN
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:632,1
    - Dst: pcf_print_master_entry
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:636,1
    - Dst: pcf_print_master_entry
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:640,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:650,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:651,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:653,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - fp
    - mode
    - argc
    - argv
    argTypes:
    - VSTREAM*
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 604
    functionDepth: 3
    functionLinenumber: 604
    functionLinenumberEnd: 655
    functionName: pcf_show_master_entries
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_master.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - PCF_MATCH_SERVICE_PATTERN
    - argv_free
    - myfree
    - pcf_parse_service_pattern
    - pcf_print_master_entry
    - mymalloc
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void pcf_show_master_entries(VSTREAM *fp, int mode, int argc, char
      **argv)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:672,1
    - Dst: ADD_TEXT
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:682,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:682,1
    - Dst: ADD_CHAR
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:683,1
    - Dst: ADD_TEXT
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:684,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:684,1
    - Dst: ADD_CHAR
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:685,1
    - Dst: ADD_TEXT
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:686,1
    - Dst: pcf_str_field_pattern
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:686,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:686,1
    - Dst: pcf_str_field_pattern
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:686,1
    - Dst: ADD_TEXT
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:689,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:692,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:693,1
    - Dst: ADD_TEXT
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:696,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:696,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:707,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:716,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:718,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:727,1
    - Dst: pcf_expand_parameter_value
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:729,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:735,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:736,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:740,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:751,1
    - Dst: ADD_TEXT
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:756,1
    - Dst: ADD_TEXT
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:757,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:757,1
    - Dst: ADD_TEXT
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:759,1
    - Dst: ADD_TEXT
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:763,1
    - Dst: ADD_TEXT
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:764,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:764,1
    - Dst: ADD_TEXT
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:766,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:774,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:777,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 70
    argCount: 4
    argNames:
    - fp
    - mode
    - masterp
    - field
    argTypes:
    - VSTREAM*
    - int
    - PCF_MASTER_ENT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 659
    functionDepth: 2
    functionLinenumber: 659
    functionLinenumberEnd: 778
    functionName: pcf_print_master_field
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_master.c
    functionUses: 0
    functionsReached:
    - strchr
    - strlen
    - vstream_fflush
    - vstring_alloc
    - strcspn
    - strcmp
    - ADD_TEXT
    - vstream_fputs
    - pcf_str_field_pattern
    - ADD_CHAR
    - pcf_expand_parameter_value
    linkageType: ''
    returnType: void
    signature: "void pcf_print_master_field(VSTREAM *fp, int mode,\n\t\t\t\t           PCF_MASTER_ENT
      *masterp,\n\t\t\t\t           int field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 679
    functionName: ADD_CHAR
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_master.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_CHAR(ch)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:795,1
    - Dst: pcf_parse_service_pattern
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:800,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:802,1
    - Dst: pcf_parse_field_pattern
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:804,1
    - Dst: pcf_is_magic_field_pattern
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:805,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:807,1
    - Dst: PCF_MATCH_SERVICE_PATTERN
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:818,1
    - Dst: pcf_is_magic_field_pattern
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:823,1
    - Dst: pcf_print_master_field
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:825,1
    - Dst: pcf_print_master_field
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:827,1
    - Dst: pcf_print_master_field
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:833,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:843,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:844,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:846,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 4
    argNames:
    - fp
    - mode
    - argc
    - argv
    argTypes:
    - VSTREAM*
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 782
    functionDepth: 3
    functionLinenumber: 782
    functionLinenumberEnd: 848
    functionName: pcf_show_master_fields
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_master.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - pcf_parse_field_pattern
    - msg_warn
    - PCF_MATCH_SERVICE_PATTERN
    - pcf_print_master_field
    - argv_free
    - myfree
    - pcf_parse_service_pattern
    - pcf_is_magic_field_pattern
    - mymalloc
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void pcf_show_master_fields(VSTREAM *fp, int mode, int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argv_truncate
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:860,1
    - Dst: argv_splitq_append
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:861,1
    - Dst: pcf_normalize_daemon_args
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:862,1
    - Dst: argv_replace_one
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:869,1
    - Dst: pcf_check_master_entry
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - masterp
    - field
    - new_value
    argTypes:
    - PCF_MASTER_ENT*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 852
    functionDepth: 3
    functionLinenumber: 852
    functionLinenumberEnd: 876
    functionName: pcf_edit_master_field
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_master.c
    functionUses: 1
    functionsReached:
    - pcf_check_master_entry
    - argv_splitq_append
    - argv_truncate
    - pcf_normalize_daemon_args
    - argv_replace_one
    linkageType: ''
    returnType: void
    signature: "void pcf_edit_master_field(PCF_MASTER_ENT *masterp, int field,\n\t\t\t
      \             const char *new_value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:886,1
    - Dst: pcf_print_line
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:889,1
    - Dst: pcf_expand_parameter_value
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:894,1
    - Dst: pcf_print_line
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:897,1
    - Dst: pcf_print_line
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:901,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:905,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - fp
    - mode
    - masterp
    - param_name
    - param_value
    argTypes:
    - VSTREAM*
    - int
    - PCF_MASTER_ENT*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 880
    functionDepth: 2
    functionLinenumber: 880
    functionLinenumberEnd: 906
    functionName: pcf_print_master_param
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_master.c
    functionUses: 0
    functionsReached:
    - pcf_print_line
    - vstream_fflush
    - vstring_alloc
    - pcf_expand_parameter_value
    linkageType: ''
    returnType: void
    signature: "void pcf_print_master_param(VSTREAM *fp, int mode,\n\t\t\t\t           PCF_MASTER_ENT
      *masterp,\n\t\t\t\t           const char *param_name,\n\t\t\t\t           const
      char *param_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 913
    functionName: pcf_sort_argv_cb
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_master.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int pcf_sort_argv_cb(const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:921,1
    - Dst: DICT*::sequence
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:938,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:940,1
    - Dst: qsort
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:946,1
    - Dst: dict_get
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:948,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:949,1
    - Dst: pcf_print_master_param
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:950,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:956,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - fp
    - mode
    - masterp
    argTypes:
    - VSTREAM*
    - int
    - PCF_MASTER_ENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 917
    functionDepth: 3
    functionLinenumber: 917
    functionLinenumberEnd: 957
    functionName: pcf_show_master_any_param
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_master.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - pcf_print_master_param
    - qsort
    - argv_free
    - argv_alloc
    - argv_add
    - DICT*::sequence
    - dict_get
    linkageType: ''
    returnType: void
    signature: "void pcf_show_master_any_param(VSTREAM *fp, int mode,\n\t\t\t\t              PCF_MASTER_ENT
      *masterp)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:974,1
    - Dst: pcf_parse_service_pattern
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:979,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:981,1
    - Dst: PCF_MATCH_SERVICE_PATTERN
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:993,1
    - Dst: PCF_IS_MAGIC_PARAM_PATTERN
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:996,1
    - Dst: pcf_show_master_any_param
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:997,1
    - Dst: dict_get
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:999,1
    - Dst: pcf_print_master_param
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:1001,1
    - Dst: pcf_show_master_any_param
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:1009,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:1020,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:1021,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:1023,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 4
    argNames:
    - fp
    - mode
    - argc
    - argv
    argTypes:
    - VSTREAM*
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 961
    functionDepth: 4
    functionLinenumber: 961
    functionLinenumberEnd: 1025
    functionName: pcf_show_master_params
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_master.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - pcf_show_master_any_param
    - PCF_MATCH_SERVICE_PATTERN
    - PCF_IS_MAGIC_PARAM_PATTERN
    - pcf_print_master_param
    - argv_free
    - myfree
    - pcf_parse_service_pattern
    - mymalloc
    - msg_fatal
    - dict_get
    linkageType: ''
    returnType: void
    signature: void pcf_show_master_params(VSTREAM *fp, int mode, int argc, char **argv)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:1038,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:1047,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:1054,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:1060,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:1061,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:1070,1
    - Dst: argv_replace_one
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:1072,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:1073,1
    - Dst: dict_put
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:1075,1
    - Dst: argv_delete
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:1083,1
    - Dst: dict_del
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:1085,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:1090,1
    - Dst: argv_insert_one
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:1107,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:1108,1
    - Dst: argv_insert_one
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:1110,1
    - Dst: dict_put
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:1112,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_master.c:1114,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 4
    argNames:
    - masterp
    - mode
    - param_name
    - param_value
    argTypes:
    - PCF_MASTER_ENT*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1117
    functionName: pcf_edit_master_param
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_master.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - argv_delete
    - strchr
    - strlen
    - dict_put
    - myfree
    - dict_del
    - strcmp
    - strncmp
    - argv_insert_one
    - concatenate
    - argv_replace_one
    linkageType: ''
    returnType: void
    signature: "void pcf_edit_master_param(PCF_MASTER_ENT *masterp, int mode,\n\t\t\t
      \             const char *param_name,\n\t\t\t              const char *param_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - node
    - ','
    - class
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: PCF_PARAM_CLASS_OVERRIDE
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_PARAM_CLASS_OVERRIDE(node, class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - node
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: PCF_RAW_PARAMETER
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_RAW_PARAMETER(node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - node
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: PCF_BUILTIN_PARAMETER
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_BUILTIN_PARAMETER(node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - node
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: PCF_SERVICE_PARAMETER
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_SERVICE_PARAMETER(node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - node
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: PCF_USER_PARAMETER
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_USER_PARAMETER(node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - node
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: PCF_LEGACY_PARAMETER
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_LEGACY_PARAMETER(node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - node
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: PCF_READONLY_PARAMETER
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_READONLY_PARAMETER(node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - node
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: PCF_DBMS_PARAMETER
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_DBMS_PARAMETER(node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: PCF_PARAM_TABLE_CREATE
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_PARAM_TABLE_CREATE(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: PCF_PARAM_NODE_CAST
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_PARAM_NODE_CAST(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - table
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: PCF_PARAM_TABLE_LIST
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_PARAM_TABLE_LIST(table)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ht
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: PCF_PARAM_INFO_NAME
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_PARAM_INFO_NAME(ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ht
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: PCF_PARAM_INFO_NODE
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_PARAM_INFO_NODE(ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - table
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: PCF_PARAM_TABLE_FIND
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_PARAM_TABLE_FIND(table, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - table
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: PCF_PARAM_TABLE_LOCATE
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_PARAM_TABLE_LOCATE(table, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - table
    - ','
    - name
    - ','
    - flags
    - ','
    - data
    - ','
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: PCF_PARAM_TABLE_ENTER
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_PARAM_TABLE_ENTER(table, name, flags, data, func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: PCF_MATCH_ANY
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_MATCH_ANY(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 238
    functionName: PCF_MATCH_STRING
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_MATCH_STRING(p, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: PCF_IS_MAGIC_SERVICE_PATTERN
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_IS_MAGIC_SERVICE_PATTERN(pat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pat
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: PCF_MATCH_SERVICE_PATTERN
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_MATCH_SERVICE_PATTERN(pat, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 249
    functionName: pcf_is_magic_field_pattern
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pcf_is_magic_field_pattern(pat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: pcf_str_field_pattern
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pcf_str_field_pattern(pat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: PCF_IS_MAGIC_PARAM_PATTERN
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_IS_MAGIC_PARAM_PATTERN(pat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pat
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 253
    functionName: PCF_MATCH_PARAM_PATTERN
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_MATCH_PARAM_PATTERN(pat, name)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_print.c
    functionUses: 373
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postconf/postconf_print.c:77,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/postconf/postconf_print.c:82,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/postconf/postconf_print.c:83,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/postconf/postconf_print.c:84,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postconf/postconf_print.c:96,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/postconf/postconf_print.c:96,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/postconf/postconf_print.c:97,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/postconf/postconf_print.c:103,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/postconf/postconf_print.c:106,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/postconf/postconf_print.c:110,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/postconf/postconf_print.c:113,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - fp
    - mode
    - fmt
    argTypes:
    - VSTREAM*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 114
    functionName: pcf_print_line
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_print.c
    functionUses: 2
    functionsReached:
    - va_start
    - va_end
    - vstring_vsprintf
    - strspn
    - vstring_alloc
    - strcspn
    - vstream_fputs
    - STR
    linkageType: ''
    returnType: void
    signature: void pcf_print_line(VSTREAM *fp, int mode, const char *fmt,...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: name_code
      Src: /src/postfix/postfix/src/postconf/postconf_match.c:147,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postconf/postconf_match.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - field_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: pcf_parse_field_pattern
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_match.c
    functionUses: 2
    functionsReached:
    - name_code
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int pcf_parse_field_pattern(const char *field_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: argv_split
      Src: /src/postfix/postfix/src/postconf/postconf_match.c:166,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postconf/postconf_match.c:168,1
    - Dst: PCF_MATCH_ANY
      Src: /src/postfix/postfix/src/postconf/postconf_match.c:176,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/postconf/postconf_match.c:176,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postconf/postconf_match.c:177,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/postconf/postconf_match.c:186,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - pattern
    - min_expr
    - max_expr
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 188
    functionName: pcf_parse_service_pattern
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_match.c
    functionUses: 4
    functionsReached:
    - strchr
    - PCF_MATCH_ANY
    - argv_free
    - argv_add
    - argv_split
    linkageType: ''
    returnType: ARGV
    signature: ARGV *pcf_parse_service_pattern(const char *pattern, int min_expr,
      int max_expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_user.c
    functionUses: 374
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - value
    - ','
    - class
    - ','
    - scope
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: SCAN_USER_PARAMETER_VALUE
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_user.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCAN_USER_PARAMETER_VALUE(value, class, scope)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unused_ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: pcf_convert_user_parameter
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_user.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *pcf_convert_user_parameter(void *unused_ptr)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dict_get
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:139,1
    - Dst: PCF_PARAM_TABLE_LOCATE
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:142,1
    - Dst: PCF_PARAM_TABLE_ENTER
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:143,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:147,1
    - Dst: mail_conf_lookup
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:153,1
    - Dst: PCF_PARAM_TABLE_LOCATE
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:156,1
    - Dst: PCF_PARAM_TABLE_ENTER
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:157,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:161,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:166,1
    - Dst: dict_get
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:175,1
    - Dst: PCF_PARAM_TABLE_LOCATE
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:178,1
    - Dst: PCF_PARAM_TABLE_ENTER
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:179,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:183,1
    - Dst: PCF_PARAM_TABLE_LOCATE
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:199,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:200,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 3
    argNames:
    - mac_name
    - param_class
    - local_scope
    argTypes:
    - char*
    - int
    - PCF_MASTER_ENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 203
    functionName: pcf_flag_user_parameter
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_user.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - PCF_PARAM_TABLE_ENTER
    - msg_info
    - mail_conf_lookup
    - PCF_PARAM_TABLE_LOCATE
    - dict_get
    linkageType: ''
    returnType: char
    signature: "char *pcf_flag_user_parameter(const char *mac_name,\n\t\t\t\t\t           int
      param_class,\n\t\t\t\t\t        PCF_MASTER_ENT *local_scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcf_flag_user_parameter
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mac_name
    - unused_mode
    - context
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 214
    functionName: pcf_flag_user_parameter_wrapper
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_user.c
    functionUses: 0
    functionsReached:
    - pcf_flag_user_parameter
    linkageType: ''
    returnType: char
    signature: "char *pcf_flag_user_parameter_wrapper(const char *mac_name,\n\t\t\t\t\t\t
      \          int unused_mode,\n\t\t\t\t\t\t           void *context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_lookup
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:224,1
    - Dst: dict_eval
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dict_name
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 227
    functionName: pcf_lookup_eval
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_user.c
    functionUses: 0
    functionsReached:
    - dict_lookup
    - dict_eval
    linkageType: ''
    returnType: char
    signature: char *pcf_lookup_eval(const char *dict_name, const char *name)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pcf_lookup_eval
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:252,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:253,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:254,1
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:256,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:257,1
    - Dst: pcf_flag_user_parameter
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:258,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:260,1
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:273,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:274,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:277,1
    - Dst: DICT*::sequence
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:280,1
    - Dst: PCF_PARAM_TABLE_LOCATE
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:283,1
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:284,1
    - Dst: PCF_PARAM_TABLE_ENTER
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:285,1
    - Dst: PCF_PARAM_TABLE_FIND
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:288,1
    - Dst: PCF_READONLY_PARAMETER
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:289,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:290,1
    - Dst: dict_del
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:293,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:294,1
    - Dst: PCF_LEGACY_PARAMETER
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:299,1
    - Dst: PCF_PARAM_CLASS_OVERRIDE
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:300,1
    - Dst: PCF_RAW_PARAMETER
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:302,1
    - Dst: SCAN_USER_PARAMETER_VALUE
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:305,1
    - Dst: PCF_BUILTIN_PARAMETER
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:314,1
    - Dst: PCF_SERVICE_PARAMETER
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:314,1
    - Dst: pcf_register_dbms_parameters
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:315,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 33
    argCount: 3
    argNames:
    - mode
    - dict_name
    - local_scope
    argTypes:
    - int
    - char*
    - PCF_MASTER_ENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 231
    functionDepth: 7
    functionLinenumber: 231
    functionLinenumberEnd: 319
    functionName: pcf_scan_user_parameter_namespace
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_user.c
    functionUses: 0
    functionsReached:
    - pcf_lookup_eval
    - msg_panic
    - pcf_register_dbms_parameters
    - PCF_BUILTIN_PARAMETER
    - htable_locate
    - PCF_PARAM_TABLE_LOCATE
    - mystrtok
    - PCF_READONLY_PARAMETER
    - PCF_RAW_PARAMETER
    - PCF_PARAM_TABLE_ENTER
    - pcf_flag_user_parameter
    - myfree
    - htable_enter
    - DICT*::sequence
    - SCAN_USER_PARAMETER_VALUE
    - msg_warn
    - PCF_LEGACY_PARAMETER
    - PCF_PARAM_CLASS_OVERRIDE
    - PCF_SERVICE_PARAMETER
    - PCF_PARAM_TABLE_FIND
    - dict_del
    - mystrdup
    - dict_handle
    linkageType: ''
    returnType: void
    signature: "void pcf_scan_user_parameter_namespace(int mode, const char *dict_name,\n\t\t\t\t\t
      \       PCF_MASTER_ENT *local_scope)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCF_PARAM_TABLE_LIST
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:332,1
    - Dst: PCF_RAW_PARAMETER
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:335,1
    - Dst: PCF_PARAM_INFO_NODE
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:335,1
    - Dst: dict_lookup
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:338,1
    - Dst: PCF_PARAM_INFO_NAME
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:338,1
    - Dst: pcf_convert_param_node
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:340,1
    - Dst: PCF_PARAM_INFO_NAME
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:340,1
    - Dst: PCF_PARAM_INFO_NODE
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:341,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:342,1
    - Dst: PCF_PARAM_INFO_NAME
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:343,1
    - Dst: SCAN_USER_PARAMETER_VALUE
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:344,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - valid_params
    - dict_name
    - local_scope
    argTypes:
    - HTABLE*
    - char*
    - PCF_MASTER_ENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 348
    functionName: pcf_scan_default_parameter_values
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_user.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - PCF_PARAM_INFO_NAME
    - PCF_RAW_PARAMETER
    - dict_lookup
    - PCF_PARAM_INFO_NODE
    - pcf_convert_param_node
    - myfree
    - PCF_PARAM_TABLE_LIST
    - SCAN_USER_PARAMETER_VALUE
    linkageType: ''
    returnType: void
    signature: "void pcf_scan_default_parameter_values(HTABLE *valid_params,\n\t\t\t\t\t
      \             const char *dict_name,\n\t\t\t\t\t        PCF_MASTER_ENT *local_scope)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:369,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:371,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:373,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:378,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:386,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:388,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:391,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:392,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:393,1
    - Dst: dict_update
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:394,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:395,1
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:399,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:401,1
    - Dst: pcf_scan_user_parameter_namespace
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:410,1
    - Dst: pcf_scan_default_parameter_values
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:419,1
    - Dst: pcf_scan_user_parameter_namespace
      Src: /src/postfix/postfix/src/postconf/postconf_user.c:425,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 352
    functionDepth: 8
    functionLinenumber: 352
    functionLinenumberEnd: 426
    functionName: pcf_register_user_parameters
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_user.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - pcf_scan_user_parameter_namespace
    - strchr
    - split_nameval
    - htable_create
    - dict_update
    - pcf_scan_default_parameter_values
    - myfree
    - strcmp
    - mystrdup
    - dict_handle
    linkageType: ''
    returnType: void
    signature: void pcf_register_user_parameters(int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/postconf/postconf_node.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - flags
    - param_data
    - (*convert_fn) (void *)
    argTypes:
    - int
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: pcf_make_param_node
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_node.c
    functionUses: 0
    functionsReached:
    - mymalloc
    linkageType: ''
    returnType: PCF_PARAM_NODE
    signature: "PCF_PARAM_NODE *pcf_make_param_node(int flags, void *param_data,\n\t\t\t\t
      \        const char *(*convert_fn) (void *))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postconf/postconf_node.c:167,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_node.c:175,1
    - Dst: PCF_PARAM_NODE*::convert_fn
      Src: /src/postfix/postfix/src/postconf/postconf_node.c:177,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postconf/postconf_node.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - mode
    - name
    - node
    argTypes:
    - int
    - char*
    - PCF_PARAM_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 185
    functionName: pcf_convert_param_node
    functionSourceFile: /src/postfix/postfix/src/postconf/postconf_node.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - vstring_alloc
    - PCF_PARAM_NODE*::convert_fn
    linkageType: ''
    returnType: char
    signature: char *pcf_convert_param_node(int mode, const char *name, PCF_PARAM_NODE
      *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seconds
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: sleep
    functionSourceFile: /src/postfix/postfix/src/testing/nosleep.c
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int sleep(unsigned int seconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/testing/dict_test_helper.c
    functionUses: 96
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/testing/dict_test_helper.c
    functionUses: 374
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - one
    - two
    argTypes:
    - VSTREAM*
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: vstream_swap
    functionSourceFile: /src/postfix/postfix/src/testing/dict_test_helper.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vstream_swap(VSTREAM *one, VSTREAM *two)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:134,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:135,1
    - Dst: vstream_memopen
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:136,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:137,1
    - Dst: vstream_swap
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:138,1
    - Dst: dict_open
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:139,1
    - Dst: vstream_swap
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:140,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - type_name
    - open_flags
    - dict_flags
    - out_msg_buf
    argTypes:
    - char*
    - int
    - int
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 143
    functionName: dict_open_and_capture_msg
    functionSourceFile: /src/postfix/postfix/src/testing/dict_test_helper.c
    functionUses: 0
    functionsReached:
    - dict_open
    - vstream_memopen
    - vstream_fclose
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - msg_fatal
    - vstream_swap
    linkageType: ''
    returnType: DICT
    signature: "DICT *dict_open_and_capture_msg(const char *type_name, int open_flags,\n\t\t\t
      \              int dict_flags, VSTRING *out_msg_buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:153,1
    - Dst: argv_truncate
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:176,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:177,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:178,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:180,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:182,1
    - Dst: dict_make_registered_name
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:183,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:184,1
    - Dst: STR
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:184,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:186,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:187,1
    - Dst: STR
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - dict_type
    - component_specs
    - open_flags
    - dict_flags
    - out_composite_spec
    - out_reg_component_specs
    argTypes:
    - char*
    - char**
    - int
    - int
    - VSTRING*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 189
    functionName: dict_compose_spec
    functionSourceFile: /src/postfix/postfix/src/testing/dict_test_helper.c
    functionUses: 0
    functionsReached:
    - argv_truncate
    - vstring_alloc
    - vstring_strcat
    - dict_make_registered_name
    - vstring_strcpy
    - argv_add
    - vstring_free
    - STR
    linkageType: ''
    returnType: char
    signature: "char *dict_compose_spec(const char *dict_type,\n\t\t\t          const
      char **component_specs,\n\t\t\t          int open_flags, int dict_flags,\n\t\t\t
      \         VSTRING *out_composite_spec,\n\t\t\t          ARGV *out_reg_component_specs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:199,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:200,1
    - Dst: vstream_memopen
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:201,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:202,1
    - Dst: vstream_swap
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:203,1
    - Dst: dict_get
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:204,1
    - Dst: vstream_swap
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:205,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - dict
    - key
    - out_msg_buf
    argTypes:
    - DICT*
    - char*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: dict_get_and_capture_msg
    functionSourceFile: /src/postfix/postfix/src/testing/dict_test_helper.c
    functionUses: 0
    functionsReached:
    - vstream_memopen
    - vstream_fclose
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - msg_fatal
    - dict_get
    - vstream_swap
    linkageType: ''
    returnType: char
    signature: "char *dict_get_and_capture_msg(DICT *dict, const char *key,\n\t\t\t\t
      \            VSTRING *out_msg_buf)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:215,1
    - Dst: dict_get_and_capture_msg
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:219,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:220,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:221,1
    - Dst: STR
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:221,1
    - Dst: strstr
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:223,1
    - Dst: STR
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:223,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:224,1
    - Dst: STR
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:225,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:228,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:233,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:239,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:242,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:243,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 5
    argNames:
    - dict
    - key
    - want_value
    - want_error
    - want_msg
    argTypes:
    - DICT*
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 250
    functionName: dict_get_and_verify
    functionSourceFile: /src/postfix/postfix/src/testing/dict_test_helper.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - vstring_alloc
    - LEN
    - dict_get_and_capture_msg
    - strcmp
    - strstr
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: "int dict_get_and_verify(DICT *dict, const char *key, const char *want_value,\n\t\t\t
      \           int want_error, const char *want_msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_get_and_verify
      Src: /src/postfix/postfix/src/testing/dict_test_helper.c:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - dict
    - data
    argTypes:
    - DICT*
    - struct dict_get_verify_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: dict_get_and_verify_bulk
    functionSourceFile: /src/postfix/postfix/src/testing/dict_test_helper.c
    functionUses: 0
    functionsReached:
    - dict_get_and_verify
    linkageType: ''
    returnType: int
    signature: "int dict_get_and_verify_bulk(DICT *dict,\n\t\t\t           const struct
      dict_get_verify_data * data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postlock/postlock.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - myname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/postlock/postlock.c
    functionUses: 30
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(char *myname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/postfix/postfix/src/postlock/postlock.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: fatal_exit
    functionSourceFile: /src/postfix/postfix/src/postlock/postlock.c
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void fatal_exit(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/postfix/postfix/src/postlock/postlock.c:180,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/postlock/postlock.c:188,1
    - Dst: close
      Src: /src/postfix/postfix/src/postlock/postlock.c:189,1
    - Dst: open
      Src: /src/postfix/postfix/src/postlock/postlock.c:189,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postlock/postlock.c:190,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/postlock/postlock.c:196,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/postlock/postlock.c:203,1
    - Dst: msg_cleanup
      Src: /src/postfix/postfix/src/postlock/postlock.c:204,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/postlock/postlock.c:214,1
    - Dst: usage
      Src: /src/postfix/postfix/src/postlock/postlock.c:217,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/postlock/postlock.c:220,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postlock/postlock.c:221,1
    - Dst: usage
      Src: /src/postfix/postfix/src/postlock/postlock.c:232,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/postlock/postlock.c:240,1
    - Dst: mail_parm_split
      Src: /src/postfix/postfix/src/postlock/postlock.c:242,1
    - Dst: update_env
      Src: /src/postfix/postfix/src/postlock/postlock.c:243,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postlock/postlock.c:244,1
    - Dst: mbox_lock_mask
      Src: /src/postfix/postfix/src/postlock/postlock.c:245,1
    - Dst: get_mail_conf_str
      Src: /src/postfix/postfix/src/postlock/postlock.c:246,1
    - Dst: dsb_create
      Src: /src/postfix/postfix/src/postlock/postlock.c:252,1
    - Dst: mbox_open
      Src: /src/postfix/postfix/src/postlock/postlock.c:253,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postlock/postlock.c:256,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/postlock/postlock.c:256,1
    - Dst: dsb_free
      Src: /src/postfix/postfix/src/postlock/postlock.c:257,1
    - Dst: fork
      Src: /src/postfix/postfix/src/postlock/postlock.c:262,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postlock/postlock.c:263,1
    - Dst: mbox_release
      Src: /src/postfix/postfix/src/postlock/postlock.c:265,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postlock/postlock.c:266,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/postlock/postlock.c:268,1
    - Dst: msg_cleanup
      Src: /src/postfix/postfix/src/postlock/postlock.c:272,1
    - Dst: execvp
      Src: /src/postfix/postfix/src/postlock/postlock.c:273,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postlock/postlock.c:274,1
    - Dst: waitpid
      Src: /src/postfix/postfix/src/postlock/postlock.c:276,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postlock/postlock.c:277,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/postlock/postlock.c:278,1
    - Dst: mbox_release
      Src: /src/postfix/postfix/src/postlock/postlock.c:279,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postlock/postlock.c:280,1
    - Dst: WIFEXITED
      Src: /src/postfix/postfix/src/postlock/postlock.c:280,1
    - Dst: WEXITSTATUS
      Src: /src/postfix/postfix/src/postlock/postlock.c:280,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 156
    functionDepth: 4
    functionLinenumber: 156
    functionLinenumberEnd: 282
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/postlock/postlock.c
    functionUses: 37
    functionsReached:
    - sleep
    - WIFEXITED
    - fork
    - WEXITSTATUS
    - msg_vstream_init
    - open
    - GETOPT
    - setenv
    - mbox_release
    - exit
    - get_mail_conf_str
    - vstring_str
    - getenv
    - mbox_lock_mask
    - mail_parm_split
    - update_env
    - close
    - execvp
    - fstat
    - msg_cleanup
    - mail_conf_read
    - waitpid
    - msg_warn
    - argv_free
    - vstream_fclose
    - umask
    - dsb_create
    - usage
    - dsb_free
    - msg_fatal
    - mbox_open
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: PSC_DELTA_MS
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_dict.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_DELTA_MS(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - new
    - ','
    - old
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: PSC_AVERAGE
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_dict.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_AVERAGE(new, old)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - table
    - ','
    - action
    - ','
    - average
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: PSC_CHECK_TIME_AFTER_LOOKUP
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_dict.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_CHECK_TIME_AFTER_LOOKUP(table, action, average)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addr_match_list_match
      Src: /src/postfix/postfix/src/postscreen/postscreen_dict.c:125,1
    - Dst: PSC_CHECK_TIME_AFTER_LOOKUP
      Src: /src/postfix/postfix/src/postscreen/postscreen_dict.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - addr_list
    - addr_str
    argTypes:
    - ADDR_MATCH_LIST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 128
    functionName: psc_addr_match_list_match
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_dict.c
    functionUses: 0
    functionsReached:
    - PSC_CHECK_TIME_AFTER_LOOKUP
    - addr_match_list_match
    linkageType: ''
    returnType: int
    signature: "int psc_addr_match_list_match(ADDR_MATCH_LIST *addr_list,\n\t\t\t\t
      \         const char *addr_str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_cache_lookup
      Src: /src/postfix/postfix/src/postscreen/postscreen_dict.c:139,1
    - Dst: PSC_CHECK_TIME_AFTER_LOOKUP
      Src: /src/postfix/postfix/src/postscreen/postscreen_dict.c:140,1
    - Dst: dict_cache_name
      Src: /src/postfix/postfix/src/postscreen/postscreen_dict.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cache
    - key
    argTypes:
    - DICT_CACHE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: psc_cache_lookup
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_dict.c
    functionUses: 0
    functionsReached:
    - dict_cache_name
    - dict_cache_lookup
    - PSC_CHECK_TIME_AFTER_LOOKUP
    linkageType: ''
    returnType: char
    signature: char *psc_cache_lookup(DICT_CACHE *cache, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_cache_update
      Src: /src/postfix/postfix/src/postscreen/postscreen_dict.c:152,1
    - Dst: PSC_CHECK_TIME_AFTER_LOOKUP
      Src: /src/postfix/postfix/src/postscreen/postscreen_dict.c:153,1
    - Dst: dict_cache_name
      Src: /src/postfix/postfix/src/postscreen/postscreen_dict.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cache
    - key
    - value
    argTypes:
    - DICT_CACHE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 154
    functionName: psc_cache_update
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_dict.c
    functionUses: 0
    functionsReached:
    - dict_cache_name
    - dict_cache_update
    - PSC_CHECK_TIME_AFTER_LOOKUP
    linkageType: ''
    returnType: void
    signature: void psc_cache_update(DICT_CACHE *cache, const char *key, const char
      *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_get
      Src: /src/postfix/postfix/src/postscreen/postscreen_dict.c:165,1
    - Dst: PSC_CHECK_TIME_AFTER_LOOKUP
      Src: /src/postfix/postfix/src/postscreen/postscreen_dict.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dict
    - key
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: psc_dict_get
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_dict.c
    functionUses: 0
    functionsReached:
    - dict_get
    - PSC_CHECK_TIME_AFTER_LOOKUP
    linkageType: ''
    returnType: char
    signature: char *psc_dict_get(DICT *dict, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: maps_find
      Src: /src/postfix/postfix/src/postscreen/postscreen_dict.c:179,1
    - Dst: PSC_CHECK_TIME_AFTER_LOOKUP
      Src: /src/postfix/postfix/src/postscreen/postscreen_dict.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - maps
    - key
    - flags
    argTypes:
    - MAPS*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: psc_maps_find
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_dict.c
    functionUses: 0
    functionsReached:
    - maps_find
    - PSC_CHECK_TIME_AFTER_LOOKUP
    linkageType: ''
    returnType: char
    signature: char *psc_maps_find(MAPS *maps, const char *key, int flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postscreen/postscreen_haproxy.c:91,1
    - Dst: haproxy_srvr_receive
      Src: /src/postfix/postfix/src/postscreen/postscreen_haproxy.c:95,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_haproxy.c:95,1
    - Dst: PSC_CLEAR_EVENT_REQUEST
      Src: /src/postfix/postfix/src/postscreen/postscreen_haproxy.c:103,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_haproxy.c:103,1
    - Dst: psc_endpt_local_lookup
      Src: /src/postfix/postfix/src/postscreen/postscreen_haproxy.c:106,1
    - Dst: PSC_HAPROXY_STATE*::notify
      Src: /src/postfix/postfix/src/postscreen/postscreen_haproxy.c:108,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postscreen/postscreen_haproxy.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 113
    functionName: psc_endpt_haproxy_event
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_haproxy.c
    functionUses: 0
    functionsReached:
    - PSC_HAPROXY_STATE*::notify
    - msg_warn
    - haproxy_srvr_receive
    - myfree
    - PSC_CLEAR_EVENT_REQUEST
    - psc_endpt_local_lookup
    - vstream_fileno
    linkageType: ''
    returnType: void
    signature: void psc_endpt_haproxy_event(int event, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/postscreen/postscreen_haproxy.c:128,1
    - Dst: PSC_READ_EVENT_REQUEST
      Src: /src/postfix/postfix/src/postscreen/postscreen_haproxy.c:135,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_haproxy.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - notify
    argTypes:
    - VSTREAM*
    - PSC_ENDPT_LOOKUP_FN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 137
    functionName: psc_endpt_haproxy_lookup
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_haproxy.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - PSC_READ_EVENT_REQUEST
    - vstream_fileno
    linkageType: ''
    returnType: void
    signature: "void psc_endpt_haproxy_lookup(VSTREAM *stream,\n\t\t\t\t         PSC_ENDPT_LOOKUP_FN
      notify)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RESET_ADDR_STORAGE_LEN
      Src: /src/postfix/postfix/src/postscreen/postscreen_endpt.c:132,1
    - Dst: getpeername
      Src: /src/postfix/postfix/src/postscreen/postscreen_endpt.c:133,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_endpt.c:133,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postscreen/postscreen_endpt.c:135,1
    - Dst: sane_sockaddr_to_hostaddr
      Src: /src/postfix/postfix/src/postscreen/postscreen_endpt.c:144,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postscreen/postscreen_endpt.c:148,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/postscreen/postscreen_endpt.c:150,1
    - Dst: RESET_ADDR_STORAGE_LEN
      Src: /src/postfix/postfix/src/postscreen/postscreen_endpt.c:158,1
    - Dst: getsockname
      Src: /src/postfix/postfix/src/postscreen/postscreen_endpt.c:159,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_endpt.c:159,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postscreen/postscreen_endpt.c:162,1
    - Dst: sane_sockaddr_to_hostaddr
      Src: /src/postfix/postfix/src/postscreen/postscreen_endpt.c:171,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postscreen/postscreen_endpt.c:175,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/postscreen/postscreen_endpt.c:177,1
    - Dst: lookup_done
      Src: /src/postfix/postfix/src/postscreen/postscreen_endpt.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - smtp_client_stream
    - lookup_done
    argTypes:
    - VSTREAM*
    - PSC_ENDPT_LOOKUP_FN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 185
    functionName: psc_endpt_local_lookup
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_endpt.c
    functionUses: 1
    functionsReached:
    - RESET_ADDR_STORAGE_LEN
    - getpeername
    - msg_warn
    - lookup_done
    - getsockname
    - sane_sockaddr_to_hostaddr
    - vstream_fileno
    - MAI_STRERROR
    linkageType: ''
    returnType: void
    signature: "void psc_endpt_local_lookup(VSTREAM *smtp_client_stream,\n\t\t\t               PSC_ENDPT_LOOKUP_FN
      lookup_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: RESET_ADDR_STORAGE_LEN
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_endpt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESET_ADDR_STORAGE_LEN()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_endpt.c:209,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postscreen/postscreen_endpt.c:213,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postscreen/postscreen_endpt.c:215,1
    - Dst: PSC_ENDPT_LOOKUP_INFO*::endpt_lookup
      Src: /src/postfix/postfix/src/postscreen/postscreen_endpt.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - smtp_client_stream
    - notify
    argTypes:
    - VSTREAM*
    - PSC_ENDPT_LOOKUP_FN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 220
    functionName: psc_endpt_lookup
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_endpt.c
    functionUses: 0
    functionsReached:
    - inet_proto_info
    - msg_fatal
    - strcmp
    - PSC_ENDPT_LOOKUP_INFO*::endpt_lookup
    linkageType: ''
    returnType: void
    signature: "void psc_endpt_lookup(VSTREAM *smtp_client_stream,\n\t\t\t         PSC_ENDPT_LOOKUP_FN
      notify)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: PSC_STARTTLS_EVENT_ERR_RESUME_RETURN
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_starttls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_STARTTLS_EVENT_ERR_RESUME_RETURN()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - starttls_state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: PSC_STARTTLS_EVENT_RESUME_RETURN
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_starttls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_STARTTLS_EVENT_RESUME_RETURN(starttls_state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:118,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:120,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:121,1
    - Dst: psc_print_state_flags
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:123,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:131,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:141,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:142,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:149,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:151,1
    - Dst: PSC_STARTTLS_EVENT_ERR_RESUME_RETURN
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:153,1
    - Dst: LOCAL_SEND_FD
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:159,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:159,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:160,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:165,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:166,1
    - Dst: PSC_STARTTLS_EVENT_ERR_RESUME_RETURN
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:168,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:177,1
    - Dst: vstream_fpurge
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:188,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:189,1
    - Dst: CA_VSTREAM_CTL_SWAP_FD
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:190,1
    - Dst: PSC_STARTTLS_EVENT_RESUME_RETURN
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:193,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 195
    functionName: psc_starttls_finish
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_starttls.c
    functionUses: 0
    functionsReached:
    - PSC_SEND_REPLY
    - msg_warn
    - PSC_STARTTLS_EVENT_RESUME_RETURN
    - psc_print_state_flags
    - vstream_fpurge
    - attr_scan
    - msg_info
    - vstream_control
    - PSC_STARTTLS_EVENT_ERR_RESUME_RETURN
    - CA_VSTREAM_CTL_SWAP_FD
    - vstream_fileno
    - event_cancel_timer
    - LOCAL_SEND_FD
    - RECV_ATTR_INT
    linkageType: ''
    returnType: void
    signature: void psc_starttls_finish(int event, void *context)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:208,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:210,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:211,1
    - Dst: psc_print_state_flags
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:213,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:221,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:227,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:228,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:230,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:233,1
    - Dst: PSC_STARTTLS_EVENT_ERR_RESUME_RETURN
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:235,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:247,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:248,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:250,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:251,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:251,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:252,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:253,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:254,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:255,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:257,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:258,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:259,1
    - Dst: PSC_STARTTLS_EVENT_ERR_RESUME_RETURN
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:261,1
    - Dst: PSC_READ_EVENT_REQUEST
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:267,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 269
    functionName: psc_starttls_first
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_starttls.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - vstring_sprintf
    - psc_print_state_flags
    - SEND_ATTR_STR
    - SEND_ATTR_INT
    - attr_print
    - vstring_alloc
    - vstream_fflush
    - attr_scan
    - msg_info
    - PSC_STARTTLS_EVENT_ERR_RESUME_RETURN
    - PSC_READ_EVENT_REQUEST
    - RECV_ATTR_STREQ
    - vstream_fileno
    - event_cancel_timer
    - PSC_SEND_REPLY
    - STR
    linkageType: ''
    returnType: void
    signature: void psc_starttls_first(int event, void *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:281,1
    - Dst: LOCAL_CONNECT
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:289,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:290,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:291,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:293,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:297,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:299,1
    - Dst: psc_print_state_flags
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:301,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:303,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:304,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:311,1
    - Dst: PSC_READ_EVENT_REQUEST
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:315,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_starttls.c:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - smtp_state
    - resume_event
    argTypes:
    - PSC_STATE*
    - EVENT_NOTIFY_FN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 317
    functionName: psc_starttls_open
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_starttls.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - vstream_fdopen
    - event_request_timer
    - psc_print_state_flags
    - mymalloc
    - msg_info
    - vstream_control
    - LOCAL_CONNECT
    - PSC_READ_EVENT_REQUEST
    - concatenate
    - vstream_fileno
    - PSC_SEND_REPLY
    linkageType: ''
    returnType: void
    signature: void psc_starttls_open(PSC_STATE *smtp_state, EVENT_NOTIFY_FN resume_event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postscreen/postscreen_expand.c:84,1
    - Dst: unescape
      Src: /src/postfix/postfix/src/postscreen/postscreen_expand.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: psc_expand_init
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_expand.c
    functionUses: 0
    functionsReached:
    - unescape
    - vstring_alloc
    linkageType: ''
    returnType: void
    signature: void psc_expand_init(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postscreen/postscreen_expand.c:98,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_expand.c:101,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/postscreen/postscreen_expand.c:120,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/postscreen/postscreen_expand.c:122,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/postscreen/postscreen_expand.c:124,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/postscreen/postscreen_expand.c:126,1
    - Dst: time
      Src: /src/postfix/postfix/src/postscreen/postscreen_expand.c:127,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postscreen/postscreen_expand.c:128,1
    - Dst: localtime
      Src: /src/postfix/postfix/src/postscreen/postscreen_expand.c:129,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/postscreen/postscreen_expand.c:130,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/postscreen/postscreen_expand.c:132,1
    - Dst: strftime
      Src: /src/postfix/postfix/src/postscreen/postscreen_expand.c:133,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_expand.c:133,1
    - Dst: vstring_avail
      Src: /src/postfix/postfix/src/postscreen/postscreen_expand.c:134,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_expand.c:136,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postscreen/postscreen_expand.c:138,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - name
    - unused_mode
    - context
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 141
    functionName: psc_expand_lookup
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_expand.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - localtime
    - strftime
    - time
    - vstring_alloc
    - VSTRING_SPACE
    - msg_info
    - VSTRING_RESET
    - vstring_avail
    - STREQ
    - msg_fatal
    - STR
    linkageType: ''
    returnType: char
    signature: "char *psc_expand_lookup(const char *name, int unused_mode,\n\t\t\t
      \             void *context)"
  - 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: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_expand.c
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: STREQN
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_expand.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQN(x,y,n)
  - 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: CONST_LEN
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_expand.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONST_LEN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/postscreen/postscreen_misc.c:80,1
    - Dst: PSC_CALC_DELTA
      Src: /src/postfix/postfix/src/postscreen/postscreen_misc.c:81,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/postscreen/postscreen_misc.c:82,1
    - Dst: format_tv
      Src: /src/postfix/postfix/src/postscreen/postscreen_misc.c:83,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_misc.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - buf
    - tv
    - delta
    argTypes:
    - VSTRING*
    - struct timeval
    - DELTA_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: psc_format_delta_time
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_misc.c
    functionUses: 0
    functionsReached:
    - GETTIMEOFDAY
    - VSTRING_RESET
    - PSC_CALC_DELTA
    - format_tv
    - STR
    linkageType: ''
    returnType: char
    signature: "char *psc_format_delta_time(VSTRING *buf, struct timeval tv,\n\t\t\t
      \             DELTA_TIME *delta)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_misc.c:95,1
    - Dst: psc_print_state_flags
      Src: /src/postfix/postfix/src/postscreen/postscreen_misc.c:96,1
    - Dst: PSC_STATE_FLAGS_TODO_TO_PASS
      Src: /src/postfix/postfix/src/postscreen/postscreen_misc.c:112,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_misc.c:113,1
    - Dst: PSC_CLIENT_ADDR_PORT
      Src: /src/postfix/postfix/src/postscreen/postscreen_misc.c:115,1
    - Dst: psc_print_tests
      Src: /src/postfix/postfix/src/postscreen/postscreen_misc.c:127,1
    - Dst: psc_cache_update
      Src: /src/postfix/postfix/src/postscreen/postscreen_misc.c:128,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_misc.c:128,1
    - Dst: psc_send_socket
      Src: /src/postfix/postfix/src/postscreen/postscreen_misc.c:135,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_misc.c:138,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_misc.c:139,1
    - Dst: PSC_CLIENT_ADDR_PORT
      Src: /src/postfix/postfix/src/postscreen/postscreen_misc.c:139,1
    - Dst: psc_free_session_state
      Src: /src/postfix/postfix/src/postscreen/postscreen_misc.c:140,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - PSC_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 142
    functionName: psc_conclude
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_misc.c
    functionUses: 0
    functionsReached:
    - psc_print_tests
    - psc_send_socket
    - PSC_STATE_FLAGS_TODO_TO_PASS
    - psc_print_state_flags
    - PSC_CLIENT_ADDR_PORT
    - msg_info
    - psc_cache_update
    - psc_free_session_state
    - PSC_SEND_REPLY
    - STR
    linkageType: ''
    returnType: void
    signature: void psc_conclude(PSC_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_misc.c:159,1
    - Dst: psc_format_delta_time
      Src: /src/postfix/postfix/src/postscreen/postscreen_misc.c:160,1
    - Dst: PSC_CLIENT_ADDR_PORT
      Src: /src/postfix/postfix/src/postscreen/postscreen_misc.c:161,1
    - Dst: psc_conclude
      Src: /src/postfix/postfix/src/postscreen/postscreen_misc.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - PSC_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 164
    functionName: psc_hangup_event
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_misc.c
    functionUses: 0
    functionsReached:
    - PSC_CLIENT_ADDR_PORT
    - psc_format_delta_time
    - psc_conclude
    - msg_info
    linkageType: ''
    returnType: void
    signature: void psc_hangup_event(PSC_STATE *state)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: event_time
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:80,1
    - Dst: PSC_STATE_FLAG_BYTINDX_TODO
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:84,1
    - Dst: PSC_STATE_FLAG_BYTINDX_PASS
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:85,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:87,1
    - Dst: psc_test_name
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:88,1
    - Dst: PSC_CLIENT_ADDR_PORT
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:88,1
    - Dst: PSC_STATE_FLAG_BYTINDX_DONE
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:90,1
    - Dst: PSC_STATE_FLAG_BYTINDX_PASS
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:92,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 1
    argNames:
    - state
    argTypes:
    - PSC_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 99
    functionName: psc_allowlist_non_dnsbl
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_early.c
    functionUses: 0
    functionsReached:
    - PSC_STATE_FLAG_BYTINDX_PASS
    - PSC_CLIENT_ADDR_PORT
    - psc_test_name
    - PSC_STATE_FLAG_BYTINDX_DONE
    - msg_info
    - event_time
    - PSC_STATE_FLAG_BYTINDX_TODO
    linkageType: ''
    returnType: void
    signature: void psc_allowlist_non_dnsbl(PSC_STATE *state)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:113,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:115,1
    - Dst: psc_print_state_flags
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:117,1
    - Dst: PSC_CLEAR_EVENT_REQUEST
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:119,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:119,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:146,1
    - Dst: PSC_PASS_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:147,1
    - Dst: PSC_UNFAIL_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:152,1
    - Dst: psc_dnsbl_retrieve
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:171,1
    - Dst: psc_allowlist_non_dnsbl
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:176,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:179,1
    - Dst: PSC_PASS_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:180,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:183,1
    - Dst: PSC_CLIENT_ADDR_PORT
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:184,1
    - Dst: PSC_FAIL_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:185,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:188,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:188,1
    - Dst: PSC_DROP_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:192,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:192,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:195,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:195,1
    - Dst: PSC_ENFORCE_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:199,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:199,1
    - Dst: PSC_UNFAIL_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:202,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:206,1
    - Dst: PSC_STATE_FLAGS_TODO_TO_PASS
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:219,1
    - Dst: psc_smtpd_tests
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:220,1
    - Dst: psc_conclude
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:222,1
    - Dst: recv
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:231,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:231,1
    - Dst: psc_dnsbl_retrieve
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:236,1
    - Dst: psc_hangup_event
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:241,1
    - Dst: escape
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:245,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:246,1
    - Dst: psc_format_delta_time
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:247,1
    - Dst: PSC_CLIENT_ADDR_PORT
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:248,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:248,1
    - Dst: PSC_FAIL_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:249,1
    - Dst: psc_dnsbl_retrieve
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:255,1
    - Dst: PSC_DROP_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:259,1
    - Dst: PSC_ENFORCE_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:263,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:270,1
    - Dst: PSC_STATE_FLAGS_TODO_TO_DONE
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:286,1
    - Dst: psc_early_event
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:287,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:289,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 77
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 293
    functionName: psc_early_event
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_early.c
    functionUses: 1
    functionsReached:
    - PSC_FAIL_SESSION_STATE
    - vstring_sprintf
    - msg_info
    - PSC_UNFAIL_SESSION_STATE
    - psc_conclude
    - escape
    - psc_allowlist_non_dnsbl
    - msg_panic
    - PSC_STATE_FLAGS_TODO_TO_PASS
    - psc_format_delta_time
    - vstring_alloc
    - PSC_CLEAR_EVENT_REQUEST
    - psc_early_event
    - PSC_PASS_SESSION_STATE
    - event_request_timer
    - psc_print_state_flags
    - PSC_CLIENT_ADDR_PORT
    - psc_dnsbl_retrieve
    - recv
    - PSC_ENFORCE_SESSION_STATE
    - psc_smtpd_tests
    - PSC_STATE_FLAGS_TODO_TO_DONE
    - event_time
    - psc_hangup_event
    - vstream_fileno
    - PSC_DROP_SESSION_STATE
    - STR
    linkageType: ''
    returnType: void
    signature: void psc_early_event(int event, void *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:303,1
    - Dst: PSC_CLIENT_ADDR_PORT
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:303,1
    - Dst: psc_dnsbl_retrieve
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:309,1
    - Dst: psc_allowlist_non_dnsbl
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:312,1
    - Dst: PSC_STATE_FLAGS_TODO_TO_DONE
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:321,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 323
    functionName: psc_early_dnsbl_event
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_early.c
    functionUses: 0
    functionsReached:
    - psc_allowlist_non_dnsbl
    - event_request_timer
    - PSC_CLIENT_ADDR_PORT
    - psc_dnsbl_retrieve
    - PSC_STATE_FLAGS_TODO_TO_DONE
    - msg_info
    linkageType: ''
    returnType: void
    signature: void psc_early_dnsbl_event(int unused_event, void *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PSC_BEGIN_TESTS
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:334,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:342,1
    - Dst: psc_hangup_event
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:343,1
    - Dst: psc_dnsbl_request
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:352,1
    - Dst: PSC_READ_EVENT_REQUEST
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:362,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:362,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - PSC_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 366
    functionName: psc_early_tests
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_early.c
    functionUses: 0
    functionsReached:
    - event_request_timer
    - psc_dnsbl_request
    - PSC_BEGIN_TESTS
    - PSC_READ_EVENT_REQUEST
    - psc_hangup_event
    - vstream_fileno
    - PSC_SEND_REPLY
    linkageType: ''
    returnType: void
    signature: void psc_early_tests(PSC_STATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:373,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:374,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:374,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postscreen/postscreen_early.c:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 377
    functionName: psc_early_init
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_early.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - mystrdup
    - vstring_alloc
    - STR
    linkageType: ''
    returnType: void
    signature: void psc_early_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_cache_close
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - unused_service
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 611
    functionName: psc_dump
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.c
    functionUses: 0
    functionsReached:
    - dict_cache_close
    linkageType: ''
    returnType: void
    signature: void psc_dump(char *unused_service, char **unused_argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dict_cache_close
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:641,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:646,1
    - Dst: event_server_drain
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:647,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:648,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:649,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - unused_service
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 655
    functionName: psc_drain
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.c
    functionUses: 0
    functionsReached:
    - sleep
    - dict_cache_close
    - msg_warn
    - event_server_drain
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void psc_drain(char *unused_service, char **unused_argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:669,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:670,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:680,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:680,1
    - Dst: psc_endpt_lookup
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - smtp_client_stream
    - unused_service
    - unused_argv
    argTypes:
    - VSTREAM*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 659
    functionDepth: 2
    functionLinenumber: 659
    functionLinenumberEnd: 686
    functionName: psc_service
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.c
    functionUses: 0
    functionsReached:
    - inet_proto_info
    - non_blocking
    - vstream_fileno
    - msg_fatal
    - psc_endpt_lookup
    linkageType: ''
    returnType: void
    signature: "void psc_service(VSTREAM *smtp_client_stream,\n\t\t\t        char
      *unused_service,\n\t\t\t        char **unused_argv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:692,1
    - Dst: PSC_CLIENT_ADDR_PORT
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - PSC_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 696
    functionName: psc_warn_compat_respectful_logging
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.c
    functionUses: 0
    functionsReached:
    - PSC_CLIENT_ADDR_PORT
    - msg_info
    linkageType: ''
    returnType: void
    signature: void psc_warn_compat_respectful_logging(PSC_STATE *state)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:716,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:716,1
    - Dst: event_server_disconnect
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:719,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:723,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:727,1
    - Dst: psc_new_session_state
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:735,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:745,1
    - Dst: PSC_DROP_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:747,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:757,1
    - Dst: PSC_DROP_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:759,1
    - Dst: psc_acl_eval
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:768,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:774,1
    - Dst: PSC_CLIENT_ADDR_PORT
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:776,1
    - Dst: psc_warn_compat_respectful_logging
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:778,1
    - Dst: PSC_FAIL_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:779,1
    - Dst: PSC_DROP_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:782,1
    - Dst: PSC_ENFORCE_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:786,1
    - Dst: PSC_UNFAIL_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:790,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:798,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:807,1
    - Dst: PSC_CLIENT_ADDR_PORT
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:809,1
    - Dst: psc_warn_compat_respectful_logging
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:811,1
    - Dst: psc_conclude
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:812,1
    - Dst: psc_cache_lookup
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:832,1
    - Dst: psc_parse_tests
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:834,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:834,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:837,1
    - Dst: psc_print_state_flags
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:838,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:840,1
    - Dst: PSC_CLIENT_ADDR_PORT
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:840,1
    - Dst: psc_conclude
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:841,1
    - Dst: psc_todo_tests
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:846,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:846,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:849,1
    - Dst: psc_print_state_flags
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:850,1
    - Dst: psc_new_tests
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:853,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:856,1
    - Dst: psc_print_state_flags
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:857,1
    - Dst: addr_match_list_match
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:864,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:866,1
    - Dst: PSC_CLIENT_ADDR_PORT
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:867,1
    - Dst: psc_warn_compat_respectful_logging
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:869,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:879,1
    - Dst: PSC_DROP_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:881,1
    - Dst: psc_early_tests
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:891,1
    - Dst: psc_smtpd_tests
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:893,1
    - Dst: psc_conclude
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:895,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 92
    argCount: 6
    argNames:
    - endpt_status
    - smtp_client_stream
    - smtp_client_addr
    - smtp_client_port
    - smtp_server_addr
    - smtp_server_port
    argTypes:
    - int
    - VSTREAM*
    - MAI_HOSTADDR_STR*
    - MAI_SERVPORT_STR*
    - MAI_HOSTADDR_STR*
    - MAI_SERVPORT_STR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 700
    functionDepth: 5
    functionLinenumber: 700
    functionLinenumberEnd: 896
    functionName: psc_endpt_lookup_done
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.c
    functionUses: 0
    functionsReached:
    - PSC_FAIL_SESSION_STATE
    - msg_info
    - PSC_UNFAIL_SESSION_STATE
    - psc_early_tests
    - msg_panic
    - psc_cache_lookup
    - psc_new_tests
    - psc_print_state_flags
    - PSC_CLIENT_ADDR_PORT
    - psc_new_session_state
    - psc_parse_tests
    - PSC_ENFORCE_SESSION_STATE
    - addr_match_list_match
    - write
    - vstream_fileno
    - psc_warn_compat_respectful_logging
    - psc_todo_tests
    - psc_smtpd_tests
    - event_time
    - event_server_disconnect
    - psc_acl_eval
    - psc_conclude
    - PSC_DROP_SESSION_STATE
    linkageType: ''
    returnType: void
    signature: "void psc_endpt_lookup_done(int endpt_status,\n\t\t\t\t          VSTREAM
      *smtp_client_stream,\n\t\t\t\t          MAI_HOSTADDR_STR *smtp_client_addr,\n\t\t\t\t
      \         MAI_SERVPORT_STR *smtp_client_port,\n\t\t\t\t          MAI_HOSTADDR_STR
      *smtp_server_addr,\n\t\t\t\t          MAI_SERVPORT_STR *smtp_server_port)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psc_parse_tests
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:916,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - client_addr
    - stamp_str
    - unused_context
    argTypes:
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 918
    functionName: psc_cache_validator
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.c
    functionUses: 0
    functionsReached:
    - event_time
    - psc_parse_tests
    linkageType: ''
    returnType: int
    signature: "int psc_cache_validator(const char *client_addr,\n\t\t\t               const
      char *stamp_str,\n\t\t\t               void *unused_context)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: psc_acl_pre_jail_init
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:930,1
    - Dst: psc_acl_parse
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:932,1
    - Dst: string_list_init
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:935,1
    - Dst: dict_open
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:939,1
    - Dst: setsid
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:946,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:947,1
    - Dst: SAVE_AND_SET_EUGID
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:956,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:957,1
    - Dst: dict_cache_open
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:971,1
    - Dst: data_redirect_map
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:971,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:977,1
    - Dst: RESTORE_SAVED_EUGID
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:978,1
    - Dst: psc_smtpd_pre_jail_init
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:983,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 922
    functionDepth: 3
    functionLinenumber: 922
    functionLinenumberEnd: 984
    functionName: pre_jail_init
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.c
    functionUses: 5
    functionsReached:
    - msg_warn
    - dict_open
    - psc_acl_parse
    - setsid
    - vstring_alloc
    - dict_cache_open
    - psc_acl_pre_jail_init
    - RESTORE_SAVED_EUGID
    - psc_smtpd_pre_jail_init
    - string_list_init
    - SAVE_AND_SET_EUGID
    - vstring_free
    - data_redirect_map
    linkageType: ''
    returnType: void
    signature: void pre_jail_init(char *unused_name, char **unused_argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_time
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:998,1
    - Dst: dict_changed_name
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1000,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1001,1
    - Dst: psc_drain
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1002,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 988
    functionDepth: 2
    functionLinenumber: 988
    functionLinenumberEnd: 1006
    functionName: pre_accept
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.c
    functionUses: 0
    functionsReached:
    - event_time
    - psc_drain
    - dict_changed_name
    - msg_info
    linkageType: ''
    returnType: void
    signature: void pre_accept(char *unused_name, char **unused_argv)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mail_conf_lookup
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1035,1
    - Dst: mail_conf_eval_once
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1036,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1037,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1038,1
    - Dst: mail_conf_lookup
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1041,1
    - Dst: mail_conf_eval_once
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1042,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1043,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1044,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1050,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1051,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1052,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1052,1
    - Dst: psc_dnsbl_init
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1053,1
    - Dst: psc_early_init
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1054,1
    - Dst: psc_smtpd_init
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1055,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1057,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1059,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1061,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1063,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1065,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1067,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1069,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1071,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1073,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1075,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1077,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1079,1
    - Dst: addr_match_list_init
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1082,1
    - Dst: dict_cache_control
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1094,1
    - Dst: CA_DICT_CACHE_CTL_FLAGS
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1095,1
    - Dst: CA_DICT_CACHE_CTL_INTERVAL
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1096,1
    - Dst: CA_DICT_CACHE_CTL_VALIDATOR
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1097,1
    - Dst: CA_DICT_CACHE_CTL_CONTEXT
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1098,1
    - Dst: PSC_MIN
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1105,1
    - Dst: PSC_MIN
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1105,1
    - Dst: PSC_MIN
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1106,1
    - Dst: PSC_MIN
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1106,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1112,1
    - Dst: get_mail_conf_time
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1114,1
    - Dst: get_mail_conf_time
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1116,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1118,1
    - Dst: get_mail_conf_time
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1120,1
    - Dst: get_mail_conf_time
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1122,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1127,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1132,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1135,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1141,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1010
    functionDepth: 4
    functionLinenumber: 1010
    functionLinenumberEnd: 1142
    functionName: post_jail_init
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - htable_create
    - msg_info
    - dict_cache_control
    - msg_panic
    - vstring_alloc
    - CA_DICT_CACHE_CTL_VALIDATOR
    - PSC_MIN
    - psc_smtpd_init
    - CA_DICT_CACHE_CTL_FLAGS
    - addr_match_list_init
    - mail_conf_lookup
    - myfree
    - mail_conf_update
    - CA_DICT_CACHE_CTL_INTERVAL
    - psc_early_init
    - name_code
    - CA_DICT_CACHE_CTL_CONTEXT
    - mail_conf_eval_once
    - get_mail_conf_time
    - psc_dnsbl_init
    - msg_fatal
    - mystrdup
    - STR
    linkageType: ''
    returnType: void
    signature: void post_jail_init(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_server_main
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1246,1
    - Dst: CA_MAIL_SERVER_STR_TABLE
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1247,1
    - Dst: CA_MAIL_SERVER_INT_TABLE
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1248,1
    - Dst: CA_MAIL_SERVER_NINT_TABLE
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1249,1
    - Dst: CA_MAIL_SERVER_TIME_TABLE
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1250,1
    - Dst: CA_MAIL_SERVER_BOOL_TABLE
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1251,1
    - Dst: CA_MAIL_SERVER_RAW_TABLE
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1252,1
    - Dst: CA_MAIL_SERVER_NBOOL_TABLE
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1253,1
    - Dst: CA_MAIL_SERVER_PRE_INIT
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1254,1
    - Dst: CA_MAIL_SERVER_POST_INIT
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1255,1
    - Dst: CA_MAIL_SERVER_PRE_ACCEPT
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1256,1
    - Dst: CA_MAIL_SERVER_SLOW_EXIT
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1258,1
    - Dst: CA_MAIL_SERVER_EXIT
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1259,1
    - Dst: CA_MAIL_SERVER_WATCHDOG
      Src: /src/postfix/postfix/src/postscreen/postscreen.c:1260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1262
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.c
    functionUses: 38
    functionsReached:
    - event_server_main
    - CA_MAIL_SERVER_SLOW_EXIT
    - CA_MAIL_SERVER_WATCHDOG
    - CA_MAIL_SERVER_PRE_ACCEPT
    - CA_MAIL_SERVER_RAW_TABLE
    - CA_MAIL_SERVER_STR_TABLE
    - CA_MAIL_SERVER_EXIT
    - CA_MAIL_SERVER_POST_INIT
    - CA_MAIL_SERVER_BOOL_TABLE
    - CA_MAIL_SERVER_INT_TABLE
    - CA_MAIL_SERVER_TIME_TABLE
    - CA_MAIL_SERVER_NBOOL_TABLE
    - CA_MAIL_SERVER_PRE_INIT
    - CA_MAIL_SERVER_NINT_TABLE
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: PSC_CALL_BACK_INIT
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_CALL_BACK_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: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: PSC_CALL_BACK_INDEX_OF_LAST
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_CALL_BACK_INDEX_OF_LAST(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sp
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: PSC_CALL_BACK_CANCEL
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_CALL_BACK_CANCEL(sp, idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hp
    - ','
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: PSC_CALL_BACK_EXTEND
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_CALL_BACK_EXTEND(hp, sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sp
    - ','
    - fn
    - ','
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: PSC_CALL_BACK_ENTER
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_CALL_BACK_ENTER(sp, fn, ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sp
    - ','
    - ev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: PSC_CALL_BACK_NOTIFY
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_CALL_BACK_NOTIFY(sp, ev)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:224,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:243,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:244,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:245,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:251,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:252,1
    - Dst: ip_match_parse
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:253,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:254,1
    - Dst: valid_hostname
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:256,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:257,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:261,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:270,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:271,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:272,1
    - Dst: dict_get
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:275,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:277,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:279,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:288,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:289,1
    - Dst: ip_match_save
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:290,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:295,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:297,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - site
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 298
    functionName: psc_dnsbl_add_site
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c
    functionUses: 0
    functionsReached:
    - ip_match_parse
    - valid_hostname
    - vstring_alloc
    - msg_info
    - sscanf
    - htable_enter
    - myfree
    - mymalloc
    - split_at
    - msg_fatal
    - dict_get
    - mystrdup
    - vstring_free
    - htable_find
    - ip_match_save
    linkageType: ''
    returnType: void
    signature: void psc_dnsbl_add_site(const char *site)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:311,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:312,1
    - Dst: ip_match_execute
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - filter
    - reply
    argTypes:
    - char*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 318
    functionName: psc_dnsbl_match
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - ip_match_execute
    - inet_pton
    linkageType: ''
    returnType: int
    signature: int psc_dnsbl_match(const char *filter, ARGV *reply)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: htable_find
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:334,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:335,1
    - Dst: PSC_CALL_BACK_CANCEL
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:340,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:355,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:360,1
    - Dst: htable_delete
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:361,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - client_addr
    - dnsbl_name
    - dnsbl_index
    - dnsbl_ttl
    argTypes:
    - char*
    - char**
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 364
    functionName: psc_dnsbl_retrieve
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - PSC_CALL_BACK_CANCEL
    - htable_delete
    - msg_info
    - htable_find
    linkageType: ''
    returnType: int
    signature: "int psc_dnsbl_retrieve(const char *client_addr, const char **dnsbl_name,\n\t\t\t
      \          int dnsbl_index, int *dnsbl_ttl)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: PSC_CLEAR_EVENT_REQUEST
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:379,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:379,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:397,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:399,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:400,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:401,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:402,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:403,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:406,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:406,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:417,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:418,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:419,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:419,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:421,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:421,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:424,1
    - Dst: psc_dnsbl_match
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:429,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:430,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:430,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:438,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:452,1
    - Dst: PSC_CALL_BACK_NOTIFY
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:474,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:476,1
    - Dst: vstream_context
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:477,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:480,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 49
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 481
    functionName: psc_dnsbl_receive
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - RECV_ATTR_STR
    - argv_free
    - attr_scan
    - msg_info
    - vstream_fclose
    - PSC_CLEAR_EVENT_REQUEST
    - psc_dnsbl_match
    - argv_split
    - PSC_CALL_BACK_NOTIFY
    - vstream_fileno
    - htable_find
    - vstream_context
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: void
    signature: void psc_dnsbl_receive(int event, void *context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:519,1
    - Dst: PSC_CALL_BACK_EXTEND
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:522,1
    - Dst: PSC_CALL_BACK_ENTER
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:523,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:525,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:529,1
    - Dst: PSC_CALL_BACK_INDEX_OF_LAST
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:530,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:533,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:534,1
    - Dst: PSC_CALL_BACK_INIT
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:544,1
    - Dst: PSC_CALL_BACK_ENTER
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:545,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:546,1
    - Dst: LOCAL_CONNECT
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:555,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:556,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:560,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:561,1
    - Dst: CA_VSTREAM_CTL_CONTEXT
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:562,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:564,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:565,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:566,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:567,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:569,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:570,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:572,1
    - Dst: PSC_READ_EVENT_REQUEST
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:575,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:575,1
    - Dst: PSC_CALL_BACK_INDEX_OF_LAST
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:579,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 2
    argNames:
    - client_addr
    - context
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 580
    functionName: psc_dnsbl_request
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c
    functionUses: 1
    functionsReached:
    - attr_print
    - msg_info
    - vstream_control
    - PSC_CALL_BACK_ENTER
    - vstream_fflush
    - htable_locate
    - mymalloc
    - PSC_CALL_BACK_INIT
    - event_request_timer
    - SEND_ATTR_INT
    - htable_enter
    - LOCAL_CONNECT
    - msg_warn
    - vstream_fdopen
    - PSC_CALL_BACK_INDEX_OF_LAST
    - PSC_CALL_BACK_EXTEND
    - SEND_ATTR_STR
    - CA_VSTREAM_CTL_CONTEXT
    - vstream_fclose
    - PSC_READ_EVENT_REQUEST
    - vstream_fileno
    linkageType: ''
    returnType: int
    signature: "int psc_dnsbl_request(const char *client_addr,\n\t\t\t          void
      (*callback) (int, void *),\n\t\t\t          void *context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argv_split
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:587,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:594,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:599,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:607,1
    - Dst: psc_dnsbl_add_site
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:609,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:610,1
    - Dst: htable_list
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:611,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:616,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:621,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:622,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c:623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 624
    functionName: psc_dnsbl_init
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - psc_dnsbl_add_site
    - htable_create
    - vstring_alloc
    - argv_free
    - htable_list
    - argv_split
    - concatenate
    linkageType: ''
    returnType: void
    signature: void psc_dnsbl_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: PSC_PREGR_TEST_ENABLE
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_PREGR_TEST_ENABLE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: PSC_DNSBL_TEST_ENABLE
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_DNSBL_TEST_ENABLE()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psc_todo_tests
      Src: /src/postfix/postfix/src/postscreen/postscreen_tests.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - PSC_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 159
    functionName: psc_new_tests
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_tests.c
    functionUses: 1
    functionsReached:
    - psc_todo_tests
    linkageType: ''
    returnType: void
    signature: void psc_new_tests(PSC_STATE *state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sane_strtoul
      Src: /src/postfix/postfix/src/postscreen/postscreen_tests.c:178,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_tests.c:182,1
    - Dst: psc_todo_tests
      Src: /src/postfix/postfix/src/postscreen/postscreen_tests.c:192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - state
    - stamp_str
    - time_value
    argTypes:
    - PSC_STATE*
    - char*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 193
    functionName: psc_parse_tests
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_tests.c
    functionUses: 2
    functionsReached:
    - psc_todo_tests
    - msg_info
    - sane_strtoul
    linkageType: ''
    returnType: void
    signature: "void psc_parse_tests(PSC_STATE *state,\n\t\t\t        const char *stamp_str,\n\t\t\t
      \       time_t time_value)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: PSC_PREGR_TEST_ENABLE
      Src: /src/postfix/postfix/src/postscreen/postscreen_tests.c:221,1
    - Dst: PSC_DNSBL_TEST_ENABLE
      Src: /src/postfix/postfix/src/postscreen/postscreen_tests.c:223,1
    - Dst: PSC_PREGR_TEST_ENABLE
      Src: /src/postfix/postfix/src/postscreen/postscreen_tests.c:244,1
    - Dst: PSC_DNSBL_TEST_ENABLE
      Src: /src/postfix/postfix/src/postscreen/postscreen_tests.c:246,1
    - Dst: PSC_PREGR_TEST_ENABLE
      Src: /src/postfix/postfix/src/postscreen/postscreen_tests.c:267,1
    - Dst: PSC_DNSBL_TEST_ENABLE
      Src: /src/postfix/postfix/src/postscreen/postscreen_tests.c:269,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 34
    argCount: 2
    argNames:
    - state
    - time_value
    argTypes:
    - PSC_STATE*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 273
    functionName: psc_todo_tests
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_tests.c
    functionUses: 3
    functionsReached:
    - PSC_PREGR_TEST_ENABLE
    - PSC_DNSBL_TEST_ENABLE
    linkageType: ''
    returnType: void
    signature: void psc_todo_tests(PSC_STATE *state, time_t time_value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postscreen/postscreen_tests.c:286,1
    - Dst: PSC_PREGR_TEST_ENABLE
      Src: /src/postfix/postfix/src/postscreen/postscreen_tests.c:293,1
    - Dst: PSC_DNSBL_TEST_ENABLE
      Src: /src/postfix/postfix/src/postscreen/postscreen_tests.c:295,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/postscreen/postscreen_tests.c:304,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_tests.c:310,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - buf
    - state
    argTypes:
    - VSTRING*
    - PSC_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 311
    functionName: psc_print_tests
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_tests.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - vstring_sprintf
    - PSC_PREGR_TEST_ENABLE
    - PSC_DNSBL_TEST_ENABLE
    - STR
    linkageType: ''
    returnType: char
    signature: char *psc_print_tests(VSTRING *buf, PSC_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_tests.c:319,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/postscreen/postscreen_tests.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - buf
    - client
    - helo
    - sender
    - rcpt
    argTypes:
    - VSTRING*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: psc_print_grey_key
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_tests.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - STR
    linkageType: ''
    returnType: char
    signature: "char *psc_print_grey_key(VSTRING *buf, const char *client,\n\t\t\t
      \          const char *helo, const char *sender,\n\t\t\t           const char
      *rcpt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str_name_code
      Src: /src/postfix/postfix/src/postscreen/postscreen_tests.c:338,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postscreen/postscreen_tests.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tindx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 341
    functionName: psc_test_name
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_tests.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - str_name_code
    linkageType: ''
    returnType: char
    signature: char *psc_test_name(int tindx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: PSC_TINDX_BYTNAME
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_TINDX_BYTNAME(tname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - todo_flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: PSC_STATE_FLAGS_TODO_TO_PASS
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_STATE_FLAGS_TODO_TO_PASS(todo_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - todo_flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: PSC_STATE_FLAGS_TODO_TO_DONE
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_STATE_FLAGS_TODO_TO_DONE(todo_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: PSC_STATE_FLAG_SHIFT_BYFNAME
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_STATE_FLAG_SHIFT_BYFNAME(fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tindx
    - ','
    - fname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: PSC_STATE_FLAG_BYTINDX_FNAME
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_STATE_FLAG_BYTINDX_FNAME(tindx, fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tindx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: PSC_STATE_FLAG_BYTINDX_FAIL
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_STATE_FLAG_BYTINDX_FAIL(tindx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tindx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: PSC_STATE_FLAG_BYTINDX_PASS
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_STATE_FLAG_BYTINDX_PASS(tindx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tindx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: PSC_STATE_FLAG_BYTINDX_TODO
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_STATE_FLAG_BYTINDX_TODO(tindx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tindx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: PSC_STATE_FLAG_BYTINDX_DONE
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_STATE_FLAG_BYTINDX_DONE(tindx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tindx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: PSC_STATE_FLAG_BYTINDX_SKIP
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_STATE_FLAG_BYTINDX_SKIP(tindx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tname
    - ','
    - fname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: PSC_STATE_FLAG_BYTNAME_FNAME
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_STATE_FLAG_BYTNAME_FNAME(tname, fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 316
    functionName: PSC_CALC_DELTA
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_CALC_DELTA(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - fd
    - ','
    - action
    - ','
    - context
    - ','
    - timeout
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: PSC_READ_EVENT_REQUEST
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_READ_EVENT_REQUEST(fd, action, context, timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - fd
    - ','
    - read_act
    - ','
    - time_act
    - ','
    - context
    - ','
    - timeout
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: PSC_READ_EVENT_REQUEST2
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_READ_EVENT_REQUEST2(fd, read_act, time_act, context, timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - time_act
    - ','
    - context
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 347
    functionName: PSC_CLEAR_EVENT_REQUEST
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_CLEAR_EVENT_REQUEST(fd, time_act, context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - text
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: PSC_STRING_UPDATE
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_STRING_UPDATE(str, text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 404
    functionName: PSC_STRING_RESET
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_STRING_RESET(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 409
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 387
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 410
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 410
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 98
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 416
    functionName: PSC_CLIENT_ADDR_PORT
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_CLIENT_ADDR_PORT(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - state
    - ','
    - what
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 422
    functionName: PSC_PASS_SESSION_STATE
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_PASS_SESSION_STATE(state, what, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 427
    functionName: PSC_FAIL_SESSION_STATE
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_FAIL_SESSION_STATE(state, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - state
    - ','
    - what
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 432
    functionName: PSC_SKIP_SESSION_STATE
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_SKIP_SESSION_STATE(state, what, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state
    - ','
    - reply
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 439
    functionName: PSC_DROP_SESSION_STATE
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_DROP_SESSION_STATE(state, reply)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state
    - ','
    - reply
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 445
    functionName: PSC_ENFORCE_SESSION_STATE
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_ENFORCE_SESSION_STATE(state, reply)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 450
    functionName: PSC_UNPASS_SESSION_STATE
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_UNPASS_SESSION_STATE(state, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 455
    functionName: PSC_UNFAIL_SESSION_STATE
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_UNFAIL_SESSION_STATE(state, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state
    - ','
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 459
    functionName: PSC_ADD_SERVER_STATE
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_ADD_SERVER_STATE(state, fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 464
    functionName: PSC_DEL_SERVER_STATE
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_DEL_SERVER_STATE(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 469
    functionName: PSC_DEL_CLIENT_STATE
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_DEL_CLIENT_STATE(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 500
    functionName: PSC_INIT_TESTS
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_INIT_TESTS(dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 503
    functionName: PSC_INIT_TEST_FLAGS_ONLY
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_INIT_TEST_FLAGS_ONLY(dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 507
    functionName: PSC_BEGIN_TESTS
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_BEGIN_TESTS(state, name)
  - 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: 516
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 516
    functionName: PSC_MIN
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_MIN(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 517
    functionName: PSC_MAX
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_MAX(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state
    - ','
    - reply
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 536
    functionName: PSC_SMTPD_X21
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_SMTPD_X21(state, reply)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 584
    functionName: psc_acl_eval
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psc_acl_eval(s,a,p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:166,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:170,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:171,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:172,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:173,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:174,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:195,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:203,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:205,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:206,1
    - Dst: PSC_INIT_TESTS
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:208,1
    - Dst: PSC_INIT_TEST_FLAGS_ONLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 5
    argNames:
    - stream
    - client_addr
    - client_port
    - server_addr
    - server_port
    argTypes:
    - VSTREAM*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 217
    functionName: psc_new_session_state
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_state.c
    functionUses: 1
    functionsReached:
    - PSC_INIT_TESTS
    - vstring_alloc
    - msg_info
    - htable_enter
    - mymalloc
    - mystrdup
    - htable_find
    - PSC_INIT_TEST_FLAGS_ONLY
    linkageType: ''
    returnType: PSC_STATE
    signature: "PSC_STATE *psc_new_session_state(VSTREAM *stream,\n\t\t\t\t         const
      char *client_addr,\n\t\t\t\t         const char *client_port,\n\t\t\t\t         const
      char *server_addr,\n\t\t\t\t         const char *server_port)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:229,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:231,1
    - Dst: htable_delete
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:234,1
    - Dst: PSC_DEL_CLIENT_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:237,1
    - Dst: PSC_DEL_SERVER_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:240,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:243,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:244,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:245,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:246,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:247,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:249,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:251,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:253,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:255,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:257,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:258,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:261,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:270,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - PSC_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 273
    functionName: psc_free_session_state
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_state.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - htable_delete
    - PSC_DEL_CLIENT_STATE
    - PSC_DEL_SERVER_STATE
    - msg_info
    - myfree
    - htable_locate
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void psc_free_session_state(PSC_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str_name_mask_opt
      Src: /src/postfix/postfix/src/postscreen/postscreen_state.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - flags
    - context
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 317
    functionName: psc_print_state_flags
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_state.c
    functionUses: 6
    functionsReached:
    - str_name_mask_opt
    linkageType: ''
    returnType: char
    signature: char *psc_print_state_flags(int flags, const char *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: PSC_SMTPD_HAVE_PUSH_BACK
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_SMTPD_HAVE_PUSH_BACK(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state
    - ','
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: PSC_SMTPD_PUSH_BACK_CHAR
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_SMTPD_PUSH_BACK_CHAR(state, ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: PSC_SMTPD_NEXT_CHAR
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_SMTPD_NEXT_CHAR(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: PSC_SMTPD_BUFFER_EMPTY
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_SMTPD_BUFFER_EMPTY(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: PSC_SMTPD_PEEK_DATA
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_SMTPD_PEEK_DATA(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: PSC_SMTPD_PEEK_LEN
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_SMTPD_PEEK_LEN(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 228
    functionName: PSC_RESUME_SMTP_CMD_EVENTS
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_RESUME_SMTP_CMD_EVENTS(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: PSC_SUSPEND_SMTP_CMD_EVENTS
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_SUSPEND_SMTP_CMD_EVENTS(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dest
    - ','
    - src
    - ','
    - src_len
    - ','
    - max_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: PSC_SMTPD_ESCAPE_TEXT
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_SMTPD_ESCAPE_TEXT(dest, src, src_len, max_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: PSC_SMTPD_NEXT_TOKEN
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_SMTPD_NEXT_TOKEN(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - state
    - ','
    - event
    - ','
    - reply
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: PSC_CLEAR_EVENT_DROP_SESSION_STATE
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_CLEAR_EVENT_DROP_SESSION_STATE(state, event, reply)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state
    - ','
    - event
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: PSC_CLEAR_EVENT_HANGUP
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_CLEAR_EVENT_HANGUP(state, event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PSC_SMTPD_NEXT_TOKEN
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:283,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:289,1
    - Dst: PSC_STRING_UPDATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:291,1
    - Dst: PSC_STRING_RESET
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:292,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - state
    - args
    argTypes:
    - PSC_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 295
    functionName: psc_helo_cmd
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached:
    - PSC_SMTPD_NEXT_TOKEN
    - PSC_STRING_UPDATE
    - PSC_SEND_REPLY
    - PSC_STRING_RESET
    linkageType: ''
    returnType: int
    signature: int psc_helo_cmd(PSC_STATE *state, char *args)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:306,1
    - Dst: str_ehlo_mask
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:306,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:318,1
    - Dst: ENFORCING_SIZE_LIMIT
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:320,1
    - Dst: PSC_EHLO_APPEND1
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:321,1
    - Dst: PSC_EHLO_APPEND
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:324,1
    - Dst: PSC_EHLO_APPEND
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:327,1
    - Dst: PSC_EHLO_APPEND
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:329,1
    - Dst: PSC_EHLO_APPEND
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:331,1
    - Dst: PSC_EHLO_APPEND1
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:335,1
    - Dst: PSC_EHLO_APPEND1
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:337,1
    - Dst: PSC_EHLO_APPEND
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:341,1
    - Dst: PSC_EHLO_APPEND
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:343,1
    - Dst: PSC_EHLO_APPEND
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:345,1
    - Dst: PSC_EHLO_APPEND
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:348,1
    - Dst: PSC_EHLO_APPEND
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:350,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:351,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    argCount: 2
    argNames:
    - buf
    - discard_mask
    argTypes:
    - VSTRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 352
    functionName: psc_smtpd_format_ehlo_reply
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached:
    - ENFORCING_SIZE_LIMIT
    - PSC_EHLO_APPEND
    - vstring_sprintf
    - PSC_EHLO_APPEND1
    - msg_info
    - str_ehlo_mask
    - STR
    linkageType: ''
    returnType: void
    signature: "void psc_smtpd_format_ehlo_reply(VSTRING *buf, int discard_mask\n\t\t\t\t
      \  /* , const char *sasl_mechanism_list */ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - save
    - ','
    - buf
    - ','
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: PSC_EHLO_APPEND
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_EHLO_APPEND(save, buf, fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - save
    - ','
    - buf
    - ','
    - fmt
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: PSC_EHLO_APPEND1
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_EHLO_APPEND1(save, buf, fmt, arg1)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PSC_SMTPD_NEXT_TOKEN
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:358,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:367,1
    - Dst: PSC_STRING_UPDATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:369,1
    - Dst: PSC_STRING_RESET
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:370,1
    - Dst: psc_maps_find
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:377,1
    - Dst: ehlo_mask
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:379,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:381,1
    - Dst: PSC_CLIENT_ADDR_PORT
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:382,1
    - Dst: str_ehlo_mask
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:382,1
    - Dst: psc_smtpd_format_ehlo_reply
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:385,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:386,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:389,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:398,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - state
    - args
    argTypes:
    - PSC_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 399
    functionName: psc_ehlo_cmd
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached:
    - PSC_SMTPD_NEXT_TOKEN
    - psc_maps_find
    - ehlo_mask
    - PSC_CLIENT_ADDR_PORT
    - msg_info
    - psc_smtpd_format_ehlo_reply
    - PSC_STRING_RESET
    - msg_fatal
    - str_ehlo_mask
    - PSC_STRING_UPDATE
    - PSC_SEND_REPLY
    - STR
    linkageType: ''
    returnType: int
    signature: int psc_ehlo_cmd(PSC_STATE *state, char *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PSC_STRING_RESET
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:413,1
    - Dst: PSC_STRING_RESET
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:414,1
    - Dst: PSC_RESUME_SMTP_CMD_EVENTS
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 425
    functionName: psc_starttls_resume
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached:
    - PSC_STRING_RESET
    - PSC_RESUME_SMTP_CMD_EVENTS
    linkageType: ''
    returnType: void
    signature: void psc_starttls_resume(int unused_event, void *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PSC_SMTPD_NEXT_TOKEN
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:437,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:438,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:440,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:443,1
    - Dst: PSC_SUSPEND_SMTP_CMD_EVENTS
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:449,1
    - Dst: psc_starttls_open
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:450,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - state
    - args
    argTypes:
    - PSC_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 429
    functionDepth: 2
    functionLinenumber: 429
    functionLinenumberEnd: 452
    functionName: psc_starttls_cmd
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached:
    - PSC_SMTPD_NEXT_TOKEN
    - psc_starttls_open
    - PSC_SUSPEND_SMTP_CMD_EVENTS
    - PSC_SEND_REPLY
    linkageType: ''
    returnType: int
    signature: int psc_starttls_cmd(PSC_STATE *state, char *args)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:485,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:494,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:497,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:503,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:504,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - result
    - string
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 507
    functionName: psc_extract_addr
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - strchr
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - STR
    linkageType: ''
    returnType: char
    signature: char *psc_extract_addr(VSTRING *result, const char *string)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:521,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:524,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:526,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:527,1
    - Dst: psc_extract_addr
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:529,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:530,1
    - Dst: PSC_STRING_UPDATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:532,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:533,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - state
    - args
    argTypes:
    - PSC_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 534
    functionName: psc_mail_cmd
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached:
    - psc_extract_addr
    - strchr
    - PSC_STRING_UPDATE
    - PSC_SEND_REPLY
    linkageType: ''
    returnType: int
    signature: int psc_mail_cmd(PSC_STATE *state, char *args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:543,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:544,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:546,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:548,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - reply
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 550
    functionName: psc_soften_reply
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached:
    - vstring_strcpy
    - vstring_alloc
    - STR
    linkageType: ''
    returnType: char
    signature: char *psc_soften_reply(const char *reply)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:564,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:566,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:567,1
    - Dst: psc_extract_addr
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:569,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:570,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:572,1
    - Dst: PSC_CLIENT_ADDR_PORT
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:574,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:575,1
    - Dst: psc_soften_reply
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:577,1
    - Dst: info_log_addr_form_sender
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:578,1
    - Dst: info_log_addr_form_recipient
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:579,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:581,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - state
    - args
    argTypes:
    - PSC_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 554
    functionDepth: 4
    functionLinenumber: 554
    functionLinenumberEnd: 582
    functionName: psc_rcpt_cmd
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached:
    - info_log_addr_form_sender
    - strchr
    - strlen
    - PSC_CLIENT_ADDR_PORT
    - msg_info
    - info_log_addr_form_recipient
    - psc_soften_reply
    - psc_extract_addr
    - PSC_SEND_REPLY
    linkageType: ''
    returnType: int
    signature: int psc_rcpt_cmd(PSC_STATE *state, char *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:596,1
    - Dst: PSC_CLIENT_ADDR_PORT
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:597,1
    - Dst: PSC_SMTPD_NEXT_TOKEN
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:598,1
    - Dst: PSC_CLEAR_EVENT_DROP_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:599,1
    - Dst: PSC_CLEAR_EVENT_DROP_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:603,1
    - Dst: PSC_CLEAR_EVENT_DROP_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - state
    - args
    argTypes:
    - PSC_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 612
    functionName: psc_data_cmd
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached:
    - PSC_CLIENT_ADDR_PORT
    - PSC_SMTPD_NEXT_TOKEN
    - PSC_CLEAR_EVENT_DROP_SESSION_STATE
    - msg_info
    linkageType: ''
    returnType: int
    signature: int psc_data_cmd(PSC_STATE *state, char *args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:627,1
    - Dst: PSC_CLIENT_ADDR_PORT
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:628,1
    - Dst: PSC_CLEAR_EVENT_DROP_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:630,1
    - Dst: PSC_SMTPD_NEXT_TOKEN
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:633,1
    - Dst: PSC_CLEAR_EVENT_DROP_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:634,1
    - Dst: PSC_CLEAR_EVENT_DROP_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:638,1
    - Dst: PSC_CLEAR_EVENT_DROP_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - state
    - args
    argTypes:
    - PSC_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 647
    functionName: psc_bdat_cmd
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached:
    - PSC_CLIENT_ADDR_PORT
    - PSC_SMTPD_NEXT_TOKEN
    - PSC_CLEAR_EVENT_DROP_SESSION_STATE
    - msg_info
    linkageType: ''
    returnType: int
    signature: int psc_bdat_cmd(PSC_STATE *state, char *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PSC_STRING_RESET
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:653,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - state
    - unused_args
    argTypes:
    - PSC_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 655
    functionName: psc_rset_cmd
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached:
    - PSC_STRING_RESET
    - PSC_SEND_REPLY
    linkageType: ''
    returnType: int
    signature: int psc_rset_cmd(PSC_STATE *state, char *unused_args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - state
    - unused_args
    argTypes:
    - PSC_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 662
    functionName: psc_noop_cmd
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached:
    - PSC_SEND_REPLY
    linkageType: ''
    returnType: int
    signature: int psc_noop_cmd(PSC_STATE *state, char *unused_args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PSC_SMTPD_NEXT_TOKEN
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:673,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:674,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:677,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:679,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - state
    - args
    argTypes:
    - PSC_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 680
    functionName: psc_vrfy_cmd
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached:
    - PSC_SMTPD_NEXT_TOKEN
    - PSC_SEND_REPLY
    linkageType: ''
    returnType: int
    signature: int psc_vrfy_cmd(PSC_STATE *state, char *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:692,1
    - Dst: PSC_SMTPD_NEXT_TOKEN
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:694,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:695,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - state
    - args
    argTypes:
    - PSC_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 698
    functionName: psc_etrn_cmd
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached:
    - PSC_SMTPD_NEXT_TOKEN
    - PSC_SEND_REPLY
    linkageType: ''
    returnType: int
    signature: int psc_etrn_cmd(PSC_STATE *state, char *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PSC_CLEAR_EVENT_DROP_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - state
    - unused_args
    argTypes:
    - PSC_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 710
    functionName: psc_quit_cmd
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached:
    - PSC_CLEAR_EVENT_DROP_SESSION_STATE
    linkageType: ''
    returnType: int
    signature: int psc_quit_cmd(PSC_STATE *state, char *unused_args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:720,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:722,1
    - Dst: psc_print_state_flags
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:724,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:726,1
    - Dst: PSC_CLIENT_ADDR_PORT
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:727,1
    - Dst: PSC_CLEAR_EVENT_DROP_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 730
    functionName: psc_smtpd_time_event
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached:
    - psc_print_state_flags
    - PSC_CLIENT_ADDR_PORT
    - msg_info
    - vstream_fileno
    - PSC_CLEAR_EVENT_DROP_SESSION_STATE
    linkageType: ''
    returnType: void
    signature: void psc_smtpd_time_event(int event, void *context)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:799,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:801,1
    - Dst: psc_print_state_flags
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:803,1
    - Dst: PSC_SMTPD_NEXT_CHAR
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:835,1
    - Dst: PSC_CLEAR_EVENT_HANGUP
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:836,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:844,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:845,1
    - Dst: PSC_CLIENT_ADDR_PORT
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:846,1
    - Dst: PSC_CLEAR_EVENT_DROP_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:847,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:851,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:862,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:871,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:872,1
    - Dst: PSC_SMTPD_ESCAPE_TEXT
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:883,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:883,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:884,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:885,1
    - Dst: PSC_CLIENT_ADDR_PORT
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:886,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:886,1
    - Dst: PSC_FAIL_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:887,1
    - Dst: PSC_UNPASS_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:888,1
    - Dst: PSC_SKIP_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:891,1
    - Dst: PSC_CLEAR_EVENT_DROP_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:895,1
    - Dst: PSC_ENFORCE_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:900,1
    - Dst: PSC_UNFAIL_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:904,1
    - Dst: PSC_PASS_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:907,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:909,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:912,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:916,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:917,1
    - Dst: PSC_SMTPD_BUFFER_EMPTY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:928,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:944,1
    - Dst: PSC_BAD_UTF8
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:945,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:945,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:948,1
    - Dst: IS_SPACE_TAB
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:948,1
    - Dst: psc_dict_get
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:950,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:951,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:953,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:954,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:956,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:958,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:969,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:978,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:980,1
    - Dst: PSC_SMTPD_NEXT_TOKEN
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:984,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:996,1
    - Dst: PSC_CLEAR_EVENT_DROP_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1004,1
    - Dst: is_header
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1011,1
    - Dst: PSC_BAD_UTF8
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1012,1
    - Dst: string_list_match
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1015,1
    - Dst: printable
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1016,1
    - Dst: PSC_SMTPD_ESCAPE_TEXT
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1017,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1018,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1019,1
    - Dst: PSC_CLIENT_ADDR_PORT
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1020,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1021,1
    - Dst: PSC_FAIL_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1022,1
    - Dst: PSC_UNPASS_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1023,1
    - Dst: PSC_SKIP_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1026,1
    - Dst: PSC_CLEAR_EVENT_DROP_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1030,1
    - Dst: PSC_ENFORCE_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1035,1
    - Dst: PSC_UNFAIL_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1039,1
    - Dst: PSC_PASS_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1042,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1044,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1047,1
    - Dst: PSC_SMTPD_BUFFER_EMPTY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1054,1
    - Dst: printable
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1055,1
    - Dst: PSC_SMTPD_ESCAPE_TEXT
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1056,1
    - Dst: PSC_SMTPD_PEEK_DATA
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1056,1
    - Dst: PSC_SMTPD_PEEK_LEN
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1057,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1058,1
    - Dst: PSC_CLIENT_ADDR_PORT
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1059,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1059,1
    - Dst: PSC_FAIL_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1060,1
    - Dst: PSC_UNPASS_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1061,1
    - Dst: PSC_SKIP_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1064,1
    - Dst: PSC_CLEAR_EVENT_DROP_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1068,1
    - Dst: PSC_ENFORCE_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1073,1
    - Dst: PSC_UNFAIL_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1077,1
    - Dst: PSC_PASS_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1080,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1082,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1085,1
    - Dst: PSC_PASS_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1098,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1101,1
    - Dst: PSC_PASS_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1105,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1108,1
    - Dst: PSC_PASS_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1112,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1115,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1121,1
    - Dst: PSC_CLIENT_ADDR_PORT
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1122,1
    - Dst: PSC_CLEAR_EVENT_DROP_SESSION_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1123,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1129,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1134,1
    - Dst: PSC_SMTPD_COMMAND*::action
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1137,1
    - Dst: PSC_CLEAR_EVENT_HANGUP
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1146,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1161,1
    - Dst: PSC_SMTPD_BUFFER_EMPTY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1167,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 175
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 770
    functionDepth: 2
    functionLinenumber: 770
    functionLinenumberEnd: 1170
    functionName: psc_smtpd_read_event
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - PSC_FAIL_SESSION_STATE
    - PSC_SMTPD_NEXT_TOKEN
    - PSC_SMTPD_PEEK_DATA
    - vstring_truncate
    - VSTRING_LEN
    - msg_info
    - PSC_UNFAIL_SESSION_STATE
    - PSC_BAD_UTF8
    - VSTRING_RESET
    - PSC_SMTPD_COMMAND*::action
    - PSC_UNPASS_SESSION_STATE
    - PSC_CLEAR_EVENT_HANGUP
    - PSC_CLEAR_EVENT_DROP_SESSION_STATE
    - msg_panic
    - strlen
    - string_list_match
    - strcasecmp
    - PSC_SMTPD_ESCAPE_TEXT
    - PSC_SMTPD_BUFFER_EMPTY
    - PSC_PASS_SESSION_STATE
    - PSC_SEND_REPLY
    - event_request_timer
    - psc_print_state_flags
    - PSC_CLIENT_ADDR_PORT
    - is_header
    - psc_dict_get
    - IS_SPACE_TAB
    - PSC_ENFORCE_SESSION_STATE
    - VSTRING_TERMINATE
    - PSC_SMTPD_PEEK_LEN
    - PSC_SKIP_SESSION_STATE
    - vstream_fileno
    - printable
    - event_time
    - vstring_strcpy
    - PSC_SMTPD_NEXT_CHAR
    - msg_fatal
    - STR
    linkageType: ''
    returnType: void
    signature: void psc_smtpd_read_event(int event, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 939
    functionName: PSC_BAD_UTF8
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSC_BAD_UTF8(str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PSC_BEGIN_TESTS
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1181,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1187,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1210,1
    - Dst: psc_hangup_event
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1211,1
    - Dst: PSC_READ_EVENT_REQUEST2
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1218,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - PSC_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1174
    functionDepth: 4
    functionLinenumber: 1174
    functionLinenumberEnd: 1221
    functionName: psc_smtpd_tests
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 2
    functionsReached:
    - vstring_alloc
    - PSC_BEGIN_TESTS
    - PSC_READ_EVENT_REQUEST2
    - psc_hangup_event
    - vstream_fileno
    - PSC_SEND_REPLY
    linkageType: ''
    returnType: void
    signature: void psc_smtpd_tests(PSC_STATE *state)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1231,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1232,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1232,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1237,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1238,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1238,1
    - Dst: tls_level_lookup
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1251,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1253,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1259,1
    - Dst: psc_smtpd_format_ehlo_reply
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1283,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1284,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1284,1
    - Dst: psc_smtpd_format_ehlo_reply
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1286,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1288,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1288,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1293,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1295,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1295,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1300,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1302,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1302,1
    - Dst: psc_expand_init
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1308,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1225
    functionDepth: 3
    functionLinenumber: 1225
    functionLinenumberEnd: 1309
    functionName: psc_smtpd_init
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 1
    functionsReached:
    - vstring_sprintf
    - msg_warn
    - mystrdup
    - psc_expand_init
    - psc_smtpd_format_ehlo_reply
    - msg_fatal
    - tls_level_lookup
    - STR
    linkageType: ''
    returnType: void
    signature: void psc_smtpd_init(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: maps_create
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1324,1
    - Dst: ehlo_mask
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1327,1
    - Dst: dict_open
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1333,1
    - Dst: pcs_send_pre_jail_init
      Src: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c:1340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1313
    functionDepth: 2
    functionLinenumber: 1313
    functionLinenumberEnd: 1341
    functionName: psc_smtpd_pre_jail_init
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    functionUses: 1
    functionsReached:
    - ehlo_mask
    - pcs_send_pre_jail_init
    - dict_open
    - maps_create
    linkageType: ''
    returnType: void
    signature: void psc_smtpd_pre_jail_init(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:103,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 112
    functionName: pcs_send_pre_jail_init
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_send.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - maps_create
    linkageType: ''
    returnType: void
    signature: void pcs_send_pre_jail_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:121,1
    - Dst: vstring_strncpy
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:123,1
    - Dst: psc_maps_find
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:124,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - text
    - text_len
    argTypes:
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: psc_get_footer
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_send.c
    functionUses: 0
    functionsReached:
    - STR
    - vstring_strncpy
    - vstring_alloc
    - psc_maps_find
    linkageType: ''
    returnType: char
    signature: char *psc_get_footer(const char *text, ssize_t text_len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:134,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:137,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:144,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:145,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:154,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:156,1
    - Dst: psc_get_footer
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:164,1
    - Dst: smtp_reply_footer
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:166,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:167,1
    - Dst: write
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:174,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:174,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:175,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:175,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:177,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:177,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:179,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 2
    argNames:
    - state
    - text
    argTypes:
    - PSC_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 129
    functionDepth: 4
    functionLinenumber: 129
    functionLinenumberEnd: 182
    functionName: psc_send_reply
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_send.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - vstring_truncate
    - strlen
    - VSTRING_LEN
    - LEN
    - msg_info
    - vstring_strcat
    - psc_get_footer
    - vstream_fileno
    - smtp_reply_footer
    - write
    - STR
    linkageType: ''
    returnType: int
    signature: int psc_send_reply(PSC_STATE *state, const char *text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:192,1
    - Dst: PSC_CLEAR_EVENT_REQUEST
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:203,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:206,1
    - Dst: psc_free_session_state
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 209
    functionName: psc_send_socket_close_event
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_send.c
    functionUses: 0
    functionsReached:
    - psc_free_session_state
    - msg_warn
    - PSC_CLEAR_EVENT_REQUEST
    - msg_info
    linkageType: ''
    returnType: void
    signature: void psc_send_socket_close_event(int event, void *context)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:221,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:223,1
    - Dst: LOCAL_CONNECT
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:243,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:245,1
    - Dst: PSC_SMTPD_X21
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:247,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:249,1
    - Dst: psc_free_session_state
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:250,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:255,1
    - Dst: LOCAL_SEND_FD
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:257,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:258,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:259,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:260,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:261,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:262,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:263,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:264,1
    - Dst: vstream_fdclose
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:266,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:268,1
    - Dst: close
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:270,1
    - Dst: PSC_SMTPD_X21
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:272,1
    - Dst: PSC_SEND_REPLY
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:274,1
    - Dst: psc_free_session_state
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:275,1
    - Dst: PSC_DEL_CLIENT_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:286,1
    - Dst: PSC_ADD_SERVER_STATE
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:288,1
    - Dst: PSC_READ_EVENT_REQUEST
      Src: /src/postfix/postfix/src/postscreen/postscreen_send.c:289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - state
    argTypes:
    - PSC_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 293
    functionName: psc_send_socket
    functionSourceFile: /src/postfix/postfix/src/postscreen/postscreen_send.c
    functionUses: 1
    functionsReached:
    - vstream_fdclose
    - msg_warn
    - vstream_fdopen
    - PSC_DEL_CLIENT_STATE
    - SEND_ATTR_STR
    - close
    - attr_print
    - vstream_fflush
    - msg_info
    - LOCAL_CONNECT
    - PSC_SMTPD_X21
    - PSC_ADD_SERVER_STATE
    - psc_free_session_state
    - PSC_READ_EVENT_REQUEST
    - vstream_fileno
    - LOCAL_SEND_FD
    - PSC_SEND_REPLY
    linkageType: ''
    returnType: void
    signature: void psc_send_socket(PSC_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_fn
      Src: /src/postfix/postfix/src/milter/milter_macros.c:148,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/milter/milter_macros.c:149,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/milter/milter_macros.c:150,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/milter/milter_macros.c:151,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/milter/milter_macros.c:152,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/milter/milter_macros.c:153,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/milter/milter_macros.c:154,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/milter/milter_macros.c:155,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/milter/milter_macros.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - print_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_PRINT_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 159
    functionName: milter_macros_print
    functionSourceFile: /src/postfix/postfix/src/milter/milter_macros.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_STR
    - print_fn
    linkageType: ''
    returnType: int
    signature: "int milter_macros_print(ATTR_PRINT_COMMON_FN print_fn, VSTREAM *fp,\n\t\t\t
      \           int flags, const void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/milter/milter_macros.c:172,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/milter/milter_macros.c:173,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/milter/milter_macros.c:174,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/milter/milter_macros.c:175,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/milter/milter_macros.c:176,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/milter/milter_macros.c:177,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/milter/milter_macros.c:178,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/milter/milter_macros.c:179,1
    - Dst: scan_fn
      Src: /src/postfix/postfix/src/milter/milter_macros.c:185,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/milter/milter_macros.c:186,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/milter/milter_macros.c:187,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/milter/milter_macros.c:188,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/milter/milter_macros.c:189,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/milter/milter_macros.c:190,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/milter/milter_macros.c:191,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/milter/milter_macros.c:192,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/milter/milter_macros.c:193,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/milter/milter_macros.c:199,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/milter/milter_macros.c:200,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/milter/milter_macros.c:201,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/milter/milter_macros.c:202,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/milter/milter_macros.c:203,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/milter/milter_macros.c:204,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/milter/milter_macros.c:205,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/milter/milter_macros.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - scan_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_SCAN_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 209
    functionName: milter_macros_scan
    functionSourceFile: /src/postfix/postfix/src/milter/milter_macros.c
    functionUses: 0
    functionsReached:
    - vstring_export
    - scan_fn
    - vstring_alloc
    - RECV_ATTR_STR
    linkageType: ''
    returnType: int
    signature: "int milter_macros_scan(ATTR_SCAN_COMMON_FN scan_fn, VSTREAM *fp,\n\t\t\t
      \          int flags, void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/milter/milter_macros.c:224,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/milter/milter_macros.c:225,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/milter/milter_macros.c:226,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/milter/milter_macros.c:227,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/milter/milter_macros.c:228,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/milter/milter_macros.c:229,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/milter/milter_macros.c:230,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/milter/milter_macros.c:231,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/milter/milter_macros.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 8
    argNames:
    - conn_macros
    - helo_macros
    - mail_macros
    - rcpt_macros
    - data_macros
    - eoh_macros
    - eod_macros
    - unk_macros
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 235
    functionName: milter_macros_create
    functionSourceFile: /src/postfix/postfix/src/milter/milter_macros.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - mystrdup
    linkageType: ''
    returnType: MILTER_MACROS
    signature: "MILTER_MACROS *milter_macros_create(const char *conn_macros,\n\t\t\t\t
      \           const char *helo_macros,\n\t\t\t\t            const char *mail_macros,\n\t\t\t\t
      \           const char *rcpt_macros,\n\t\t\t\t            const char *data_macros,\n\t\t\t\t
      \           const char *eoh_macros,\n\t\t\t\t            const char *eod_macros,\n\t\t\t\t
      \           const char *unk_macros)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/milter/milter_macros.c:259,1
    - Dst: milter_macros_init
      Src: /src/postfix/postfix/src/milter/milter_macros.c:262,1
    - Dst: milter_macros_init
      Src: /src/postfix/postfix/src/milter/milter_macros.c:265,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/milter/milter_macros.c:265,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/milter/milter_macros.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 271
    functionName: milter_macros_alloc
    functionSourceFile: /src/postfix/postfix/src/milter/milter_macros.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - milter_macros_init
    - mystrdup
    - msg_panic
    linkageType: ''
    returnType: MILTER_MACROS
    signature: MILTER_MACROS *milter_macros_alloc(int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mp
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 258
    functionName: milter_macros_init
    functionSourceFile: /src/postfix/postfix/src/milter/milter_macros.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: milter_macros_init(mp, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: milter_macros_wipe
      Src: /src/postfix/postfix/src/milter/milter_macros.c:301,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/milter/milter_macros.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mp
    argTypes:
    - MILTER_MACROS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 303
    functionName: milter_macros_free
    functionSourceFile: /src/postfix/postfix/src/milter/milter_macros.c
    functionUses: 0
    functionsReached:
    - myfree
    - milter_macros_wipe
    linkageType: ''
    returnType: void
    signature: void milter_macros_free(MILTER_MACROS *mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 300
    functionName: milter_macros_wipe
    functionSourceFile: /src/postfix/postfix/src/milter/milter_macros.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: milter_macros_wipe(mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - milter_names
    - ','
    - conn_timeout
    - ','
    - cmd_timeout
    - ','
    - msg_timeout
    - ','
    - protocol
    - ','
    - def_action
    - ','
    - conn_macros
    - ','
    - helo_macros
    - ','
    - mail_macros
    - ','
    - rcpt_macros
    - ','
    - data_macros
    - ','
    - eoh_macros
    - ','
    - eod_macros
    - ','
    - unk_macros
    - ','
    - macro_deflts
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: milter_create
    functionSourceFile: /src/postfix/postfix/src/milter/milter.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "milter_create(milter_names, conn_timeout, cmd_timeout, msg_timeout,
      \\\n\t\t\tprotocol, def_action, conn_macros, helo_macros, \\\n\t\t\tmail_macros,
      rcpt_macros, data_macros, eoh_macros, \\\n\t\t\teod_macros, unk_macros, macro_deflts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 271
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/milter/milter.c
    functionUses: 398
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/milter/milter.c:277,1
    - Dst: mystrtokq
      Src: /src/postfix/postfix/src/milter/milter.c:283,1
    - Dst: balpar
      Src: /src/postfix/postfix/src/milter/milter.c:298,1
    - Dst: extpar
      Src: /src/postfix/postfix/src/milter/milter.c:299,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/milter/milter.c:300,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/milter/milter.c:302,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/milter/milter.c:303,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter.c:306,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/milter/milter.c:306,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/milter/milter.c:307,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/milter/milter.c:309,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/milter/milter.c:310,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter.c:311,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/milter/milter.c:314,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/milter/milter.c:314,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter.c:316,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/milter/milter.c:319,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/milter/milter.c:321,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - macro_defaults
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 323
    functionName: milter_macro_defaults_create
    functionSourceFile: /src/postfix/postfix/src/milter/milter.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - extpar
    - split_nameval
    - msg_warn
    - balpar
    - htable_create
    - vstring_alloc
    - msg_info
    - myfree
    - htable_enter
    - mystrtokq
    - msg_fatal
    - mystrdup
    - vstring_free
    - htable_find
    - STR
    linkageType: ''
    returnType: HTABLE
    signature: HTABLE *milter_macro_defaults_create(const char *macro_defaults)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/milter/milter.c:330,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/milter/milter.c:332,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/milter/milter.c:333,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/milter/milter.c:338,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter.c:340,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter.c:342,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/milter/milter.c:342,1
    - Dst: MILTERS*::mac_lookup
      Src: /src/postfix/postfix/src/milter/milter.c:345,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter.c:347,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/milter/milter.c:348,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/milter/milter.c:350,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter.c:352,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/milter/milter.c:353,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/milter/milter.c:356,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/milter/milter.c:357,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - milters
    - macro_names
    argTypes:
    - MILTERS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 359
    functionName: milter_macro_lookup
    functionSourceFile: /src/postfix/postfix/src/milter/milter.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - vstring_alloc
    - msg_info
    - myfree
    - argv_alloc
    - MILTERS*::mac_lookup
    - argv_add
    - mystrtok
    - mystrdup
    - vstring_free
    - htable_find
    - STR
    linkageType: ''
    returnType: ARGV
    signature: ARGV *milter_macro_lookup(MILTERS *milters, const char *macro_names)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - milters
    - (*mac_lookup) (const char *, void *)
    - mac_context
    argTypes:
    - MILTERS*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 369
    functionName: milter_macro_callback
    functionSourceFile: /src/postfix/postfix/src/milter/milter.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void milter_macro_callback(MILTERS *milters,\n\t\t           const
      char *(*mac_lookup) (const char *, void *),\n\t\t\t              void *mac_context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 11
    argNames:
    - milters
    - add_header
    - upd_header
    - ins_header
    - del_header
    - chg_from
    - add_rcpt
    - add_rcpt_par
    - del_rcpt
    - repl_body
    - chg_context
    argTypes:
    - MILTERS*
    - MILTER_ADD_HEADER_FN
    - MILTER_EDIT_HEADER_FN
    - MILTER_EDIT_HEADER_FN
    - MILTER_DEL_HEADER_FN
    - MILTER_EDIT_FROM_FN
    - MILTER_EDIT_RCPT_FN
    - MILTER_EDIT_RCPT_PAR_FN
    - MILTER_EDIT_RCPT_FN
    - MILTER_EDIT_BODY_FN
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 395
    functionName: milter_edit_callback
    functionSourceFile: /src/postfix/postfix/src/milter/milter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void milter_edit_callback(MILTERS *milters,\n\t\t\t             MILTER_ADD_HEADER_FN
      add_header,\n\t\t\t             MILTER_EDIT_HEADER_FN upd_header,\n\t\t\t             MILTER_EDIT_HEADER_FN
      ins_header,\n\t\t\t             MILTER_DEL_HEADER_FN del_header,\n\t\t\t             MILTER_EDIT_FROM_FN
      chg_from,\n\t\t\t             MILTER_EDIT_RCPT_FN add_rcpt,\n\t\t\t             MILTER_EDIT_RCPT_PAR_FN
      add_rcpt_par,\n\t\t\t             MILTER_EDIT_RCPT_FN del_rcpt,\n\t\t\t             MILTER_EDIT_BODY_FN
      repl_body,\n\t\t\t             void *chg_context)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter.c:418,1
    - Dst: MILTER*::connect_on_demand
      Src: /src/postfix/postfix/src/milter/milter.c:421,1
    - Dst: MILTER_MACRO_EVAL
      Src: /src/postfix/postfix/src/milter/milter.c:422,1
    - Dst: MILTER*::conn_event
      Src: /src/postfix/postfix/src/milter/milter.c:423,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/milter/milter.c:426,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/milter/milter.c:429,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - milters
    - client_name
    - client_addr
    - client_port
    - addr_family
    argTypes:
    - MILTERS*
    - char*
    - char*
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 431
    functionName: milter_conn_event
    functionSourceFile: /src/postfix/postfix/src/milter/milter.c
    functionUses: 1
    functionsReached:
    - MILTER*::connect_on_demand
    - argv_free
    - msg_info
    - MILTER_MACRO_EVAL
    - MILTER*::conn_event
    linkageType: ''
    returnType: char
    signature: "char *milter_conn_event(MILTERS *milters,\n\t\t\t              const
      char *client_name,\n\t\t\t              const char *client_addr,\n\t\t\t              const
      char *client_port,\n\t\t\t              unsigned addr_family)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - global_macros
    - ','
    - m
    - ','
    - milters
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 416
    functionName: MILTER_MACRO_EVAL
    functionSourceFile: /src/postfix/postfix/src/milter/milter.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MILTER_MACRO_EVAL(global_macros, m, milters, member)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter.c:444,1
    - Dst: MILTER_MACRO_EVAL
      Src: /src/postfix/postfix/src/milter/milter.c:446,1
    - Dst: MILTER*::helo_event
      Src: /src/postfix/postfix/src/milter/milter.c:447,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/milter/milter.c:449,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/milter/milter.c:452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - milters
    - helo_name
    - esmtp_flag
    argTypes:
    - MILTERS*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 454
    functionName: milter_helo_event
    functionSourceFile: /src/postfix/postfix/src/milter/milter.c
    functionUses: 2
    functionsReached:
    - MILTER_MACRO_EVAL
    - MILTER*::helo_event
    - argv_free
    - msg_info
    linkageType: ''
    returnType: char
    signature: "char *milter_helo_event(MILTERS *milters, const char *helo_name,\n\t\t\t
      \             int esmtp_flag)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter.c:466,1
    - Dst: MILTER_MACRO_EVAL
      Src: /src/postfix/postfix/src/milter/milter.c:468,1
    - Dst: MILTER*::mail_event
      Src: /src/postfix/postfix/src/milter/milter.c:469,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/milter/milter.c:471,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/milter/milter.c:474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - milters
    - argv
    argTypes:
    - MILTERS*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 476
    functionName: milter_mail_event
    functionSourceFile: /src/postfix/postfix/src/milter/milter.c
    functionUses: 1
    functionsReached:
    - MILTER_MACRO_EVAL
    - MILTER*::mail_event
    - argv_free
    - msg_info
    linkageType: ''
    returnType: char
    signature: char *milter_mail_event(MILTERS *milters, const char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter.c:488,1
    - Dst: MILTER_MACRO_EVAL
      Src: /src/postfix/postfix/src/milter/milter.c:493,1
    - Dst: MILTER*::rcpt_event
      Src: /src/postfix/postfix/src/milter/milter.c:494,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/milter/milter.c:496,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/milter/milter.c:500,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - milters
    - flags
    - argv
    argTypes:
    - MILTERS*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 502
    functionName: milter_rcpt_event
    functionSourceFile: /src/postfix/postfix/src/milter/milter.c
    functionUses: 1
    functionsReached:
    - MILTER_MACRO_EVAL
    - MILTER*::rcpt_event
    - argv_free
    - msg_info
    linkageType: ''
    returnType: char
    signature: char *milter_rcpt_event(MILTERS *milters, int flags, const char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter.c:514,1
    - Dst: MILTER_MACRO_EVAL
      Src: /src/postfix/postfix/src/milter/milter.c:516,1
    - Dst: MILTER*::data_event
      Src: /src/postfix/postfix/src/milter/milter.c:517,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/milter/milter.c:519,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/milter/milter.c:522,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - milters
    argTypes:
    - MILTERS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 524
    functionName: milter_data_event
    functionSourceFile: /src/postfix/postfix/src/milter/milter.c
    functionUses: 2
    functionsReached:
    - MILTER_MACRO_EVAL
    - MILTER*::data_event
    - argv_free
    - msg_info
    linkageType: ''
    returnType: char
    signature: char *milter_data_event(MILTERS *milters)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter.c:536,1
    - Dst: MILTER_MACRO_EVAL
      Src: /src/postfix/postfix/src/milter/milter.c:538,1
    - Dst: MILTER*::unknown_event
      Src: /src/postfix/postfix/src/milter/milter.c:539,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/milter/milter.c:541,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/milter/milter.c:544,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - milters
    - command
    argTypes:
    - MILTERS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 546
    functionName: milter_unknown_event
    functionSourceFile: /src/postfix/postfix/src/milter/milter.c
    functionUses: 1
    functionsReached:
    - MILTER_MACRO_EVAL
    - MILTER*::unknown_event
    - argv_free
    - msg_info
    linkageType: ''
    returnType: char
    signature: char *milter_unknown_event(MILTERS *milters, const char *command)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter.c:556,1
    - Dst: MILTER*::other_event
      Src: /src/postfix/postfix/src/milter/milter.c:558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - milters
    argTypes:
    - MILTERS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 560
    functionName: milter_other_event
    functionSourceFile: /src/postfix/postfix/src/milter/milter.c
    functionUses: 4
    functionsReached:
    - MILTER*::other_event
    - msg_info
    linkageType: ''
    returnType: char
    signature: char *milter_other_event(MILTERS *milters)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter.c:575,1
    - Dst: MILTER_MACRO_EVAL
      Src: /src/postfix/postfix/src/milter/milter.c:577,1
    - Dst: MILTER_MACRO_EVAL
      Src: /src/postfix/postfix/src/milter/milter.c:578,1
    - Dst: MILTER*::message
      Src: /src/postfix/postfix/src/milter/milter.c:579,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/milter/milter.c:582,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/milter/milter.c:584,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/milter/milter.c:587,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/milter/milter.c:589,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - milters
    - fp
    - data_offset
    - auto_hdrs
    argTypes:
    - MILTERS*
    - VSTREAM*
    - off_t
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 591
    functionName: milter_message
    functionSourceFile: /src/postfix/postfix/src/milter/milter.c
    functionUses: 0
    functionsReached:
    - MILTER*::message
    - MILTER_MACRO_EVAL
    - argv_free
    - msg_info
    linkageType: ''
    returnType: char
    signature: "char *milter_message(MILTERS *milters, VSTREAM *fp, off_t data_offset,\n\t\t\t
      \          ARGV *auto_hdrs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter.c:600,1
    - Dst: MILTER*::abort
      Src: /src/postfix/postfix/src/milter/milter.c:602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - milters
    argTypes:
    - MILTERS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 603
    functionName: milter_abort
    functionSourceFile: /src/postfix/postfix/src/milter/milter.c
    functionUses: 2
    functionsReached:
    - MILTER*::abort
    - msg_info
    linkageType: ''
    returnType: void
    signature: void milter_abort(MILTERS *milters)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter.c:612,1
    - Dst: MILTER*::disc_event
      Src: /src/postfix/postfix/src/milter/milter.c:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - milters
    argTypes:
    - MILTERS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 615
    functionName: milter_disc_event
    functionSourceFile: /src/postfix/postfix/src/milter/milter.c
    functionUses: 1
    functionsReached:
    - MILTER*::disc_event
    - msg_info
    linkageType: ''
    returnType: void
    signature: void milter_disc_event(MILTERS *milters)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - table
    - ','
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 636
    functionName: link_override_table_to_variable
    functionSourceFile: /src/postfix/postfix/src/milter/milter.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: link_override_table_to_variable(table, var)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: link_override_table_to_variable
      Src: /src/postfix/postfix/src/milter/milter.c:671,1
    - Dst: link_override_table_to_variable
      Src: /src/postfix/postfix/src/milter/milter.c:672,1
    - Dst: link_override_table_to_variable
      Src: /src/postfix/postfix/src/milter/milter.c:673,1
    - Dst: link_override_table_to_variable
      Src: /src/postfix/postfix/src/milter/milter.c:674,1
    - Dst: link_override_table_to_variable
      Src: /src/postfix/postfix/src/milter/milter.c:675,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/milter/milter.c:680,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/milter/milter.c:682,1
    - Dst: mystrtokq
      Src: /src/postfix/postfix/src/milter/milter.c:690,1
    - Dst: extpar
      Src: /src/postfix/postfix/src/milter/milter.c:698,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/milter/milter.c:699,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/milter/milter.c:700,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/milter/milter.c:701,1
    - Dst: attr_override
      Src: /src/postfix/postfix/src/milter/milter.c:702,1
    - Dst: CA_ATTR_OVER_STR_TABLE
      Src: /src/postfix/postfix/src/milter/milter.c:703,1
    - Dst: CA_ATTR_OVER_TIME_TABLE
      Src: /src/postfix/postfix/src/milter/milter.c:704,1
    - Dst: milter8_create
      Src: /src/postfix/postfix/src/milter/milter.c:707,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/milter/milter.c:717,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 8
    argNames:
    - names
    - conn_timeout
    - cmd_timeout
    - msg_timeout
    - protocol
    - def_action
    - macros
    - macro_defaults
    argTypes:
    - char*
    - int
    - int
    - int
    - char*
    - char*
    - MILTER_MACROS*
    - HTABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 731
    functionName: milter_new
    functionSourceFile: /src/postfix/postfix/src/milter/milter.c
    functionUses: 0
    functionsReached:
    - milter8_create
    - extpar
    - attr_override
    - myfree
    - mystrtok
    - CA_ATTR_OVER_TIME_TABLE
    - mystrtokq
    - link_override_table_to_variable
    - mymalloc
    - msg_fatal
    - mystrdup
    - CA_ATTR_OVER_STR_TABLE
    linkageType: ''
    returnType: MILTERS
    signature: "MILTERS *milter_new(const char *names,\n\t\t            int conn_timeout,\n\t\t
      \           int cmd_timeout,\n\t\t            int msg_timeout,\n\t\t            const
      char *protocol,\n\t\t            const char *def_action,\n\t\t            MILTER_MACROS
      *macros,\n\t\t            HTABLE *macro_defaults)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter.c:741,1
    - Dst: MILTER*::free
      Src: /src/postfix/postfix/src/milter/milter.c:743,1
    - Dst: milter_macros_free
      Src: /src/postfix/postfix/src/milter/milter.c:745,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/milter/milter.c:747,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/milter/milter.c:748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - milters
    argTypes:
    - MILTERS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 735
    functionDepth: 2
    functionLinenumber: 735
    functionLinenumberEnd: 749
    functionName: milter_free
    functionSourceFile: /src/postfix/postfix/src/milter/milter.c
    functionUses: 1
    functionsReached:
    - htable_free
    - milter_macros_free
    - msg_info
    - MILTER*::free
    - myfree
    linkageType: ''
    returnType: void
    signature: void milter_free(MILTERS *milters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: milter_send
      Src: /src/postfix/postfix/src/milter/milter.c:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - milters
    - stream
    argTypes:
    - MILTERS*
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 759
    functionName: milter_dummy
    functionSourceFile: /src/postfix/postfix/src/milter/milter.c
    functionUses: 1
    functionsReached:
    - milter_send
    linkageType: ''
    returnType: int
    signature: int milter_dummy(MILTERS *milters, VSTREAM *stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MILTER*::active
      Src: /src/postfix/postfix/src/milter/milter.c:782,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/milter/milter.c:784,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter.c:787,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/milter/milter.c:799,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/milter/milter.c:800,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/milter/milter.c:808,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/milter/milter.c:809,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/milter/milter.c:812,1
    - Dst: SEND_ATTR_HASH
      Src: /src/postfix/postfix/src/milter/milter.c:813,1
    - Dst: MILTER*::active
      Src: /src/postfix/postfix/src/milter/milter.c:820,1
    - Dst: MILTER*::send
      Src: /src/postfix/postfix/src/milter/milter.c:820,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/milter/milter.c:827,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/milter/milter.c:828,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter.c:831,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/milter/milter.c:831,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 2
    argNames:
    - milters
    - stream
    argTypes:
    - MILTERS*
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 763
    functionDepth: 3
    functionLinenumber: 763
    functionLinenumberEnd: 835
    functionName: milter_send
    functionSourceFile: /src/postfix/postfix/src/milter/milter.c
    functionUses: 2
    functionsReached:
    - SEND_ATTR_HASH
    - msg_warn
    - VSTREAM_PATH
    - SEND_ATTR_INT
    - attr_print
    - msg_info
    - attr_scan
    - rec_fprintf
    - MILTER*::send
    - SEND_ATTR_FUNC
    - MILTER*::active
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: int milter_send(MILTERS *milters, VSTREAM *stream)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter.c:848,1
    - Dst: milter_new
      Src: /src/postfix/postfix/src/milter/milter.c:862,1
    - Dst: milter_macros_alloc
      Src: /src/postfix/postfix/src/milter/milter.c:875,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/milter/milter.c:876,1
    - Dst: RECV_ATTR_FUNC
      Src: /src/postfix/postfix/src/milter/milter.c:877,1
    - Dst: milter_free
      Src: /src/postfix/postfix/src/milter/milter.c:880,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/milter/milter.c:887,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/milter/milter.c:888,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/milter/milter.c:891,1
    - Dst: RECV_ATTR_HASH
      Src: /src/postfix/postfix/src/milter/milter.c:892,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/milter/milter.c:893,1
    - Dst: milter_free
      Src: /src/postfix/postfix/src/milter/milter.c:895,1
    - Dst: milter8_receive
      Src: /src/postfix/postfix/src/milter/milter.c:903,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter.c:904,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/milter/milter.c:905,1
    - Dst: milter_free
      Src: /src/postfix/postfix/src/milter/milter.c:906,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/milter/milter.c:921,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/milter/milter.c:922,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - stream
    - count
    argTypes:
    - VSTREAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 839
    functionDepth: 3
    functionLinenumber: 839
    functionLinenumberEnd: 925
    functionName: milter_receive
    functionSourceFile: /src/postfix/postfix/src/milter/milter.c
    functionUses: 0
    functionsReached:
    - RECV_ATTR_HASH
    - msg_warn
    - milter_macros_alloc
    - VSTREAM_PATH
    - milter_new
    - RECV_ATTR_FUNC
    - htable_create
    - SEND_ATTR_INT
    - attr_print
    - attr_scan
    - msg_info
    - milter_free
    - RECV_ATTR_INT
    - milter8_receive
    linkageType: ''
    returnType: MILTERS
    signature: MILTERS *milter_receive(VSTREAM *stream, int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/milter/milter.c:957,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/milter/milter.c:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 978
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/milter/milter.c
    functionUses: 31
    functionsReached:
    - vstream_fflush
    - vstream_fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/milter/milter.c:986,1
    - Dst: isatty
      Src: /src/postfix/postfix/src/milter/milter.c:990,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/milter/milter.c:990,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/milter/milter.c:995,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/milter/milter.c:996,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/milter/milter.c:999,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/milter/milter.c:1019,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/milter/milter.c:1020,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/milter/milter.c:1022,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/milter/milter.c:1024,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/milter/milter.c:1026,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/milter/milter.c:1027,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/milter/milter.c:1031,1
    - Dst: usage
      Src: /src/postfix/postfix/src/milter/milter.c:1033,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/milter/milter.c:1036,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/milter.c:1038,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter.c:1040,1
    - Dst: milter_free
      Src: /src/postfix/postfix/src/milter/milter.c:1041,1
    - Dst: milter_create
      Src: /src/postfix/postfix/src/milter/milter.c:1043,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/milter.c:1049,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter.c:1051,1
    - Dst: milter_free
      Src: /src/postfix/postfix/src/milter/milter.c:1054,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/milter.c:1056,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter.c:1058,1
    - Dst: milter_conn_event
      Src: /src/postfix/postfix/src/milter/milter.c:1061,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/milter.c:1062,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/milter.c:1063,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/milter.c:1064,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/milter.c:1066,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter.c:1068,1
    - Dst: milter_helo_event
      Src: /src/postfix/postfix/src/milter/milter.c:1071,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/milter.c:1072,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter.c:1074,1
    - Dst: milter_helo_event
      Src: /src/postfix/postfix/src/milter/milter.c:1077,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/milter.c:1078,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter.c:1080,1
    - Dst: milter_mail_event
      Src: /src/postfix/postfix/src/milter/milter.c:1083,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/milter.c:1084,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter.c:1086,1
    - Dst: milter_rcpt_event
      Src: /src/postfix/postfix/src/milter/milter.c:1089,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/milter.c:1090,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter.c:1092,1
    - Dst: milter_unknown_event
      Src: /src/postfix/postfix/src/milter/milter.c:1095,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/milter.c:1096,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter.c:1098,1
    - Dst: milter_data_event
      Src: /src/postfix/postfix/src/milter/milter.c:1101,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/milter.c:1102,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter.c:1104,1
    - Dst: milter_disc_event
      Src: /src/postfix/postfix/src/milter/milter.c:1107,1
    - Dst: usage
      Src: /src/postfix/postfix/src/milter/milter.c:1109,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter.c:1112,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/milter/milter.c:1113,1
    - Dst: milter_free
      Src: /src/postfix/postfix/src/milter/milter.c:1116,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/milter/milter.c:1117,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 121
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 980
    functionDepth: 3
    functionLinenumber: 980
    functionLinenumberEnd: 1119
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/milter/milter.c
    functionUses: 38
    functionsReached:
    - milter_mail_event
    - msg_vstream_init
    - msg_info
    - milter_free
    - GETOPT
    - vstream_fflush
    - vstring_alloc
    - milter_helo_event
    - mystrtok
    - vstring_str
    - milter_disc_event
    - milter_data_event
    - milter_create
    - milter_unknown_event
    - milter_rcpt_event
    - vstream_printf
    - argv_split
    - milter_conn_event
    - isatty
    - vstring_free
    - msg_warn
    - vstring_fgets_nonl
    - argv_free
    - strcmp
    - usage
    - vstream_fileno
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: smfi_getsymval
      Src: /src/postfix/postfix/src/milter/test-milter.c:217,1
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:218,1
    - Dst: fflush
      Src: /src/postfix/postfix/src/milter/test-milter.c:219,1
    - Dst: smfi_setmlreply
      Src: /src/postfix/postfix/src/milter/test-milter.c:222,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:223,1
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:224,1
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - code
    argTypes:
    - SMFICTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 230
    functionName: test_reply
    functionSourceFile: /src/postfix/postfix/src/milter/test-milter.c
    functionUses: 0
    functionsReached:
    - smfi_getsymval
    - fflush
    - printf
    - smfi_setmlreply
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_reply(SMFICTX *ctx, int code)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:237,1
    - Dst: inet_ntop
      Src: /src/postfix/postfix/src/milter/test-milter.c:243,1
    - Dst: strerror
      Src: /src/postfix/postfix/src/milter/test-milter.c:245,1
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:246,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/milter/test-milter.c:246,1
    - Dst: inet_ntop
      Src: /src/postfix/postfix/src/milter/test-milter.c:254,1
    - Dst: strerror
      Src: /src/postfix/postfix/src/milter/test-milter.c:256,1
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:257,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/milter/test-milter.c:257,1
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:266,1
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:270,1
    - Dst: test_reply
      Src: /src/postfix/postfix/src/milter/test-milter.c:273,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - name
    - sa
    argTypes:
    - SMFICTX*
    - char*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 274
    functionName: test_connect
    functionSourceFile: /src/postfix/postfix/src/milter/test-milter.c
    functionUses: 0
    functionsReached:
    - strerror
    - test_reply
    - printf
    - ntohs
    - inet_ntop
    linkageType: ''
    returnType: sfsistat
    signature: sfsistat test_connect(SMFICTX *ctx, char *name, struct sockaddr *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:278,1
    - Dst: test_reply
      Src: /src/postfix/postfix/src/milter/test-milter.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - SMFICTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: test_helo
    functionSourceFile: /src/postfix/postfix/src/milter/test-milter.c
    functionUses: 0
    functionsReached:
    - printf
    - test_reply
    linkageType: ''
    returnType: sfsistat
    signature: sfsistat test_helo(SMFICTX *ctx, char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:286,1
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:288,1
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:289,1
    - Dst: test_reply
      Src: /src/postfix/postfix/src/milter/test-milter.c:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - argv
    argTypes:
    - SMFICTX*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 291
    functionName: test_mail
    functionSourceFile: /src/postfix/postfix/src/milter/test-milter.c
    functionUses: 0
    functionsReached:
    - printf
    - test_reply
    linkageType: ''
    returnType: sfsistat
    signature: sfsistat test_mail(SMFICTX *ctx, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:297,1
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:299,1
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:300,1
    - Dst: test_reply
      Src: /src/postfix/postfix/src/milter/test-milter.c:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - argv
    argTypes:
    - SMFICTX*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: test_rcpt
    functionSourceFile: /src/postfix/postfix/src/milter/test-milter.c
    functionUses: 0
    functionsReached:
    - printf
    - test_reply
    linkageType: ''
    returnType: sfsistat
    signature: sfsistat test_rcpt(SMFICTX *ctx, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:307,1
    - Dst: test_reply
      Src: /src/postfix/postfix/src/milter/test-milter.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - name
    - value
    argTypes:
    - SMFICTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: test_header
    functionSourceFile: /src/postfix/postfix/src/milter/test-milter.c
    functionUses: 0
    functionsReached:
    - printf
    - test_reply
    linkageType: ''
    returnType: sfsistat
    signature: sfsistat test_header(SMFICTX *ctx, char *name, char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:313,1
    - Dst: test_reply
      Src: /src/postfix/postfix/src/milter/test-milter.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SMFICTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: test_eoh
    functionSourceFile: /src/postfix/postfix/src/milter/test-milter.c
    functionUses: 0
    functionsReached:
    - printf
    - test_reply
    linkageType: ''
    returnType: sfsistat
    signature: sfsistat test_eoh(SMFICTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:320,1
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:322,1
    - Dst: test_reply
      Src: /src/postfix/postfix/src/milter/test-milter.c:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - data
    - data_len
    argTypes:
    - SMFICTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 324
    functionName: test_body
    functionSourceFile: /src/postfix/postfix/src/milter/test-milter.c
    functionUses: 0
    functionsReached:
    - printf
    - test_reply
    linkageType: ''
    returnType: sfsistat
    signature: sfsistat test_body(SMFICTX *ctx, unsigned char *data, size_t data_len)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:328,1
    - Dst: fopen
      Src: /src/postfix/postfix/src/milter/test-milter.c:336,1
    - Dst: perror
      Src: /src/postfix/postfix/src/milter/test-milter.c:337,1
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:339,1
    - Dst: fgets
      Src: /src/postfix/postfix/src/milter/test-milter.c:340,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/milter/test-milter.c:341,1
    - Dst: smfi_replacebody
      Src: /src/postfix/postfix/src/milter/test-milter.c:344,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:345,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:346,1
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:349,1
    - Dst: perror
      Src: /src/postfix/postfix/src/milter/test-milter.c:352,1
    - Dst: fclose
      Src: /src/postfix/postfix/src/milter/test-milter.c:353,1
    - Dst: smfi_chgfrom
      Src: /src/postfix/postfix/src/milter/test-milter.c:358,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:359,1
    - Dst: smfi_insheader
      Src: /src/postfix/postfix/src/milter/test-milter.c:362,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:363,1
    - Dst: smfi_chgheader
      Src: /src/postfix/postfix/src/milter/test-milter.c:366,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:367,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/milter/test-milter.c:374,1
    - Dst: smfi_addrcpt_par
      Src: /src/postfix/postfix/src/milter/test-milter.c:376,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:377,1
    - Dst: smfi_addrcpt
      Src: /src/postfix/postfix/src/milter/test-milter.c:380,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:381,1
    - Dst: smfi_delrcpt
      Src: /src/postfix/postfix/src/milter/test-milter.c:387,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:388,1
    - Dst: smfi_quarantine
      Src: /src/postfix/postfix/src/milter/test-milter.c:391,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:392,1
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:393,1
    - Dst: test_reply
      Src: /src/postfix/postfix/src/milter/test-milter.c:395,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SMFICTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 396
    functionName: test_eom
    functionSourceFile: /src/postfix/postfix/src/milter/test-milter.c
    functionUses: 0
    functionsReached:
    - strchr
    - smfi_quarantine
    - smfi_addrcpt_par
    - smfi_chgheader
    - smfi_chgfrom
    - exit
    - fgets
    - test_reply
    - printf
    - strcspn
    - fopen
    - smfi_insheader
    - smfi_addrcpt
    - smfi_replacebody
    - fclose
    - smfi_delrcpt
    - perror
    - fprintf
    linkageType: ''
    returnType: sfsistat
    signature: sfsistat test_eom(SMFICTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:400,1
    - Dst: test_reply
      Src: /src/postfix/postfix/src/milter/test-milter.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SMFICTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 402
    functionName: test_abort
    functionSourceFile: /src/postfix/postfix/src/milter/test-milter.c
    functionUses: 0
    functionsReached:
    - printf
    - test_reply
    linkageType: ''
    returnType: sfsistat
    signature: sfsistat test_abort(SMFICTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:406,1
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:408,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:410,1
    - Dst: test_reply
      Src: /src/postfix/postfix/src/milter/test-milter.c:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SMFICTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 412
    functionName: test_close
    functionSourceFile: /src/postfix/postfix/src/milter/test-milter.c
    functionUses: 0
    functionsReached:
    - printf
    - exit
    - test_reply
    linkageType: ''
    returnType: sfsistat
    signature: sfsistat test_close(SMFICTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:418,1
    - Dst: test_reply
      Src: /src/postfix/postfix/src/milter/test-milter.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SMFICTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 420
    functionName: test_data
    functionSourceFile: /src/postfix/postfix/src/milter/test-milter.c
    functionUses: 0
    functionsReached:
    - printf
    - test_reply
    linkageType: ''
    returnType: sfsistat
    signature: sfsistat test_data(SMFICTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:428,1
    - Dst: test_reply
      Src: /src/postfix/postfix/src/milter/test-milter.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - what
    argTypes:
    - SMFICTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 430
    functionName: test_unknown
    functionSourceFile: /src/postfix/postfix/src/milter/test-milter.c
    functionUses: 0
    functionsReached:
    - printf
    - test_reply
    linkageType: ''
    returnType: sfsistat
    signature: sfsistat test_unknown(SMFICTX *ctx, const char *what)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:532,1
    - Dst: smfi_setsymlist
      Src: /src/postfix/postfix/src/milter/test-milter.c:534,1
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 9
    argNames:
    - ctx
    - f0
    - f1
    - f2
    - f3
    - pf0
    - pf1
    - pf2
    - pf3
    argTypes:
    - SMFICTX*
    - unsigned long
    - unsigned long
    - unsigned long
    - unsigned long
    - unsigned long*
    - unsigned long*
    - unsigned long*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 542
    functionName: test_negotiate
    functionSourceFile: /src/postfix/postfix/src/milter/test-milter.c
    functionUses: 0
    functionsReached:
    - printf
    - smfi_setsymlist
    linkageType: ''
    returnType: sfsistat
    signature: "sfsistat test_negotiate(SMFICTX *ctx,\n\t\t\t               unsigned
      long f0,\n\t\t\t               unsigned long f1,\n\t\t\t               unsigned
      long f2,\n\t\t\t               unsigned long f3,\n\t\t\t               unsigned
      long *pf0,\n\t\t\t               unsigned long *pf1,\n\t\t\t               unsigned
      long *pf2,\n\t\t\t               unsigned long *pf3)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/milter/test-milter.c:551,1
    - Dst: malloc
      Src: /src/postfix/postfix/src/milter/test-milter.c:552,1
    - Dst: malloc
      Src: /src/postfix/postfix/src/milter/test-milter.c:552,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:553,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:554,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/milter/test-milter.c:557,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/milter/test-milter.c:558,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:559,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - optarg
    - idx
    - hdr
    - value
    argTypes:
    - char*
    - int*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 562
    functionName: parse_hdr_info
    functionSourceFile: /src/postfix/postfix/src/milter/test-milter.c
    functionUses: 0
    functionsReached:
    - strlen
    - exit
    - sscanf
    - malloc
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void parse_hdr_info(const char *optarg, int *idx,\n\t\t\t           char
      **hdr, char **value)"
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/postfix/postfix/src/milter/test-milter.c:577,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:581,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:587,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:588,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:595,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:596,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:600,1
    - Dst: smfi_setdbg
      Src: /src/postfix/postfix/src/milter/test-milter.c:607,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/milter/test-milter.c:607,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:608,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:609,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:614,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:615,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:622,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:623,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:627,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:628,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:634,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:635,1
    - Dst: parse_hdr_info
      Src: /src/postfix/postfix/src/milter/test-milter.c:637,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:639,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:640,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:646,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:647,1
    - Dst: parse_hdr_info
      Src: /src/postfix/postfix/src/milter/test-milter.c:649,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:651,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:652,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:658,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:659,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:663,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:664,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:670,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:671,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:675,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:676,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:682,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:683,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:687,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:693,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:694,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:698,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:704,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:705,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:709,1
    - Dst: smfi_setconn
      Src: /src/postfix/postfix/src/milter/test-milter.c:713,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:714,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:715,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:722,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/milter/test-milter.c:729,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:732,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:747,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:753,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:754,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/test-milter.c:756,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/test-milter.c:763,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/test-milter.c:765,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/test-milter.c:767,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/test-milter.c:769,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/milter/test-milter.c:771,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/test-milter.c:772,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:773,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:774,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/milter/test-milter.c:777,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/test-milter.c:779,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/milter/test-milter.c:782,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/milter/test-milter.c:790,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/milter/test-milter.c:795,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/milter/test-milter.c:798,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:804,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:805,1
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:808,1
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:810,1
    - Dst: printf
      Src: /src/postfix/postfix/src/milter/test-milter.c:814,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:821,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:822,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/test-milter.c:824,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:832,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:833,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/test-milter.c:835,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:844,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:845,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/test-milter.c:847,1
    - Dst: smfi_register
      Src: /src/postfix/postfix/src/milter/test-milter.c:854,1
    - Dst: fprintf
      Src: /src/postfix/postfix/src/milter/test-milter.c:855,1
    - Dst: exit
      Src: /src/postfix/postfix/src/milter/test-milter.c:856,1
    - Dst: smfi_main
      Src: /src/postfix/postfix/src/milter/test-milter.c:858,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 236
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 859
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/milter/test-milter.c
    functionUses: 39
    functionsReached:
    - parse_hdr_info
    - smfi_setdbg
    - strspn
    - smfi_register
    - exit
    - getopt
    - smfi_main
    - atoi
    - strcspn
    - strcmp
    - strncmp
    - printf
    - smfi_setconn
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - __macros
    - ','
    - __class
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: MILTER8_MACRO_PTR
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MILTER8_MACRO_PTR(__macros, __class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 493
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 400
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 494
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 494
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 100
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/milter/milter8.c:500,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/milter/milter8.c:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - milter
    - reply
    argTypes:
    - MILTER8*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 503
    functionName: milter8_def_reply
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - myfree
    - mystrdup
    linkageType: ''
    returnType: char
    signature: char *milter8_def_reply(MILTER8 *milter, const char *reply)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: shutdown
      Src: /src/postfix/postfix/src/milter/milter8.c:520,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/milter/milter8.c:520,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/milter/milter8.c:521,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/milter/milter8.c:524,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/milter/milter8.c:526,1
    - Dst: milter8_def_reply
      Src: /src/postfix/postfix/src/milter/milter8.c:531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - milter
    argTypes:
    - MILTER8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 533
    functionName: milter8_conf_error
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - vstream_fclose
    - shutdown
    - strcasecmp
    - milter8_def_reply
    - vstream_fileno
    linkageType: ''
    returnType: int
    signature: int milter8_conf_error(MILTER8 *milter)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: shutdown
      Src: /src/postfix/postfix/src/milter/milter8.c:550,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/milter/milter8.c:550,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/milter/milter8.c:551,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/milter/milter8.c:554,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/milter/milter8.c:556,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/milter/milter8.c:558,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/milter/milter8.c:560,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:563,1
    - Dst: milter8_def_reply
      Src: /src/postfix/postfix/src/milter/milter8.c:567,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - milter
    argTypes:
    - MILTER8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 569
    functionName: milter8_comm_error
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - vstream_fclose
    - shutdown
    - strcasecmp
    - milter8_def_reply
    - vstream_fileno
    linkageType: ''
    returnType: int
    signature: int milter8_comm_error(MILTER8 *milter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/milter/milter8.c:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - milter
    argTypes:
    - MILTER8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 580
    functionName: milter8_close_stream
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - vstream_fclose
    linkageType: ''
    returnType: void
    signature: void milter8_close_stream(MILTER8 *milter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fread
      Src: /src/postfix/postfix/src/milter/milter8.c:595,1
    - Dst: str_name_code
      Src: /src/postfix/postfix/src/milter/milter8.c:597,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:598,1
    - Dst: milter8_comm_error
      Src: /src/postfix/postfix/src/milter/milter8.c:601,1
    - Dst: ntohl
      Src: /src/postfix/postfix/src/milter/milter8.c:602,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:603,1
    - Dst: milter8_comm_error
      Src: /src/postfix/postfix/src/milter/milter8.c:605,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:607,1
    - Dst: milter8_comm_error
      Src: /src/postfix/postfix/src/milter/milter8.c:609,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/milter/milter8.c:615,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:616,1
    - Dst: milter8_comm_error
      Src: /src/postfix/postfix/src/milter/milter8.c:618,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - milter
    - event
    - command
    - data_len
    argTypes:
    - MILTER8*
    - int
    - unsigned char*
    - ssize_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 584
    functionDepth: 3
    functionLinenumber: 584
    functionLinenumberEnd: 629
    functionName: milter8_read_resp
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - vstream_fread
    - msg_warn
    - milter8_comm_error
    - str_name_code
    - VSTREAM_GETC
    - ntohl
    linkageType: ''
    returnType: int
    signature: "int milter8_read_resp(MILTER8 *milter, int event, unsigned char *command,\n\t\t\t
      \            ssize_t *data_len)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/postfix/postfix/src/milter/milter8.c:644,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:652,1
    - Dst: milter8_comm_error
      Src: /src/postfix/postfix/src/milter/milter8.c:654,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/milter/milter8.c:656,1
    - Dst: vstream_fread
      Src: /src/postfix/postfix/src/milter/milter8.c:657,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:659,1
    - Dst: milter8_comm_error
      Src: /src/postfix/postfix/src/milter/milter8.c:661,1
    - Dst: ntohl
      Src: /src/postfix/postfix/src/milter/milter8.c:664,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:672,1
    - Dst: milter8_comm_error
      Src: /src/postfix/postfix/src/milter/milter8.c:673,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/milter/milter8.c:675,1
    - Dst: vstream_fread_buf
      Src: /src/postfix/postfix/src/milter/milter8.c:676,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:678,1
    - Dst: milter8_comm_error
      Src: /src/postfix/postfix/src/milter/milter8.c:679,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:689,1
    - Dst: milter8_comm_error
      Src: /src/postfix/postfix/src/milter/milter8.c:691,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/milter/milter8.c:693,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/milter/milter8.c:694,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/milter/milter8.c:696,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:697,1
    - Dst: milter8_comm_error
      Src: /src/postfix/postfix/src/milter/milter8.c:699,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/milter/milter8.c:704,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:706,1
    - Dst: milter8_comm_error
      Src: /src/postfix/postfix/src/milter/milter8.c:708,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/milter/milter8.c:711,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/milter/milter8.c:718,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:727,1
    - Dst: milter8_comm_error
      Src: /src/postfix/postfix/src/milter/milter8.c:728,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/milter/milter8.c:731,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 3
    argNames:
    - milter
    - data_len
    - ap
    argTypes:
    - MILTER8*
    - ssize_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 635
    functionDepth: 3
    functionLinenumber: 635
    functionLinenumberEnd: 734
    functionName: vmilter8_read_data
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - VSTRING_ADDCH
    - vstream_fread
    - milter8_comm_error
    - msg_warn
    - va_arg
    - VSTRING_RESET
    - VSTREAM_GETC
    - VSTRING_TERMINATE
    - vstream_fread_buf
    - ntohl
    linkageType: ''
    returnType: int
    signature: int vmilter8_read_data(MILTER8 *milter, ssize_t *data_len, va_list
      ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/milter/milter8.c:743,1
    - Dst: vmilter8_read_data
      Src: /src/postfix/postfix/src/milter/milter8.c:744,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/milter/milter8.c:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - milter
    - data_len
    argTypes:
    - MILTER8*
    - ssize_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 738
    functionDepth: 4
    functionLinenumber: 738
    functionLinenumberEnd: 747
    functionName: milter8_read_data
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    - vmilter8_read_data
    linkageType: ''
    returnType: int
    signature: int milter8_read_data(MILTER8 *milter, ssize_t *data_len,...)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/postfix/postfix/src/milter/milter8.c:763,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/milter/milter8.c:770,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/milter/milter8.c:778,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/milter/milter8.c:779,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/milter/milter8.c:786,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/milter/milter8.c:787,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/milter/milter8.c:794,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/milter/milter8.c:795,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/milter/milter8.c:802,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/milter/milter8.c:810,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/milter/milter8.c:818,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/milter/milter8.c:821,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 1
    argNames:
    - ap
    argTypes:
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 823
    functionName: vmilter8_size_data
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - va_end
    - strlen
    - va_arg
    - LEN
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t vmilter8_size_data(va_list ap)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/milter/milter8.c:845,1
    - Dst: htonl
      Src: /src/postfix/postfix/src/milter/milter8.c:846,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/milter/milter8.c:847,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/milter/milter8.c:848,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/milter/milter8.c:849,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/milter/milter8.c:856,1
    - Dst: htonl
      Src: /src/postfix/postfix/src/milter/milter8.c:857,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/milter/milter8.c:858,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/milter/milter8.c:865,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/milter/milter8.c:866,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:866,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/milter/milter8.c:866,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/milter/milter8.c:873,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/milter/milter8.c:874,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/milter/milter8.c:874,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/milter/milter8.c:881,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/milter/milter8.c:882,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/milter/milter8.c:889,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/milter/milter8.c:890,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/milter/milter8.c:890,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/milter/milter8.c:897,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/milter/milter8.c:898,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/milter/milter8.c:905,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/milter/milter8.c:911,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:912,1
    - Dst: milter8_comm_error
      Src: /src/postfix/postfix/src/milter/milter8.c:913,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/milter/milter8.c:917,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 4
    argNames:
    - milter
    - command
    - data_len
    - ap
    argTypes:
    - MILTER8*
    - int
    - ssize_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 827
    functionDepth: 3
    functionLinenumber: 827
    functionLinenumberEnd: 919
    functionName: vmilter8_write_cmd
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - VSTREAM_PUTC
    - htonl
    - msg_warn
    - milter8_comm_error
    - va_end
    - strlen
    - va_arg
    - LEN
    - vstream_ferror
    - vstream_fwrite
    - STR
    linkageType: ''
    returnType: int
    signature: "int vmilter8_write_cmd(MILTER8 *milter, int command, ssize_t data_len,\n\t\t\t
      \             va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/milter/milter8.c:933,1
    - Dst: VA_COPY
      Src: /src/postfix/postfix/src/milter/milter8.c:934,1
    - Dst: vmilter8_size_data
      Src: /src/postfix/postfix/src/milter/milter8.c:939,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/milter/milter8.c:940,1
    - Dst: vmilter8_write_cmd
      Src: /src/postfix/postfix/src/milter/milter8.c:945,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/milter/milter8.c:946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - milter
    - command
    argTypes:
    - MILTER8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 923
    functionDepth: 4
    functionLinenumber: 923
    functionLinenumberEnd: 949
    functionName: milter8_write_cmd
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    - vmilter8_write_cmd
    - VA_COPY
    - vmilter8_size_data
    linkageType: ''
    returnType: int
    signature: int milter8_write_cmd(MILTER8 *milter, int command,...)
  - BBCount: 98
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:981,1
    - Dst: str_name_code
      Src: /src/postfix/postfix/src/milter/milter8.c:983,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:993,1
    - Dst: str_name_code
      Src: /src/postfix/postfix/src/milter/milter8.c:994,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:1005,1
    - Dst: str_name_code
      Src: /src/postfix/postfix/src/milter/milter8.c:1006,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/milter/milter8.c:1022,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/milter/milter8.c:1029,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:1032,1
    - Dst: str_name_code
      Src: /src/postfix/postfix/src/milter/milter8.c:1033,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1034,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1035,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/milter/milter8.c:1036,1
    - Dst: milter8_write_cmd
      Src: /src/postfix/postfix/src/milter/milter8.c:1039,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:1051,1
    - Dst: str_name_code
      Src: /src/postfix/postfix/src/milter/milter8.c:1052,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/milter/milter8.c:1060,1
    - Dst: VA_COPY
      Src: /src/postfix/postfix/src/milter/milter8.c:1061,1
    - Dst: vmilter8_size_data
      Src: /src/postfix/postfix/src/milter/milter8.c:1067,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/milter/milter8.c:1068,1
    - Dst: vmilter8_write_cmd
      Src: /src/postfix/postfix/src/milter/milter8.c:1073,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/milter/milter8.c:1074,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:1089,1
    - Dst: str_name_code
      Src: /src/postfix/postfix/src/milter/milter8.c:1090,1
    - Dst: milter8_read_resp
      Src: /src/postfix/postfix/src/milter/milter8.c:1132,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1133,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:1135,1
    - Dst: str_name_code
      Src: /src/postfix/postfix/src/milter/milter8.c:1136,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/milter/milter8.c:1152,1
    - Dst: MILTERS*::repl_body
      Src: /src/postfix/postfix/src/milter/milter8.c:1153,1
    - Dst: MILTERS*::repl_body
      Src: /src/postfix/postfix/src/milter/milter8.c:1158,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/milter/milter8.c:1163,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1182,1
    - Dst: IN_CONNECT_EVENT
      Src: /src/postfix/postfix/src/milter/milter8.c:1192,1
    - Dst: milter8_close_stream
      Src: /src/postfix/postfix/src/milter/milter8.c:1194,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1202,1
    - Dst: IN_CONNECT_EVENT
      Src: /src/postfix/postfix/src/milter/milter8.c:1213,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:1214,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1216,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1220,1
    - Dst: IN_CONNECT_EVENT
      Src: /src/postfix/postfix/src/milter/milter8.c:1230,1
    - Dst: milter8_close_stream
      Src: /src/postfix/postfix/src/milter/milter8.c:1232,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1235,1
    - Dst: milter8_def_reply
      Src: /src/postfix/postfix/src/milter/milter8.c:1235,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1237,1
    - Dst: IN_CONNECT_EVENT
      Src: /src/postfix/postfix/src/milter/milter8.c:1247,1
    - Dst: milter8_close_stream
      Src: /src/postfix/postfix/src/milter/milter8.c:1249,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1252,1
    - Dst: milter8_def_reply
      Src: /src/postfix/postfix/src/milter/milter8.c:1252,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1255,1
    - Dst: milter8_close_stream
      Src: /src/postfix/postfix/src/milter/milter8.c:1266,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1269,1
    - Dst: milter8_def_reply
      Src: /src/postfix/postfix/src/milter/milter8.c:1269,1
    - Dst: milter8_read_data
      Src: /src/postfix/postfix/src/milter/milter8.c:1282,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1285,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1287,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1287,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/milter/milter8.c:1288,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1288,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/milter/milter8.c:1289,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1289,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1290,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1290,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/milter/milter8.c:1291,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1291,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1292,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1292,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:1293,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1294,1
    - Dst: milter8_conf_error
      Src: /src/postfix/postfix/src/milter/milter8.c:1295,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1296,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/milter/milter8.c:1298,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1298,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1308,1
    - Dst: strstr
      Src: /src/postfix/postfix/src/milter/milter8.c:1314,1
    - Dst: IN_CONNECT_EVENT
      Src: /src/postfix/postfix/src/milter/milter8.c:1319,1
    - Dst: milter8_close_stream
      Src: /src/postfix/postfix/src/milter/milter8.c:1321,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1324,1
    - Dst: milter8_def_reply
      Src: /src/postfix/postfix/src/milter/milter8.c:1324,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1324,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1326,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1326,1
    - Dst: milter8_read_data
      Src: /src/postfix/postfix/src/milter/milter8.c:1339,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1342,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/milter/milter8.c:1344,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/milter/milter8.c:1347,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1348,1
    - Dst: milter8_def_reply
      Src: /src/postfix/postfix/src/milter/milter8.c:1349,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1349,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/milter/milter8.c:1350,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1361,1
    - Dst: milter8_read_data
      Src: /src/postfix/postfix/src/milter/milter8.c:1377,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1382,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:1390,1
    - Dst: milter8_conf_error
      Src: /src/postfix/postfix/src/milter/milter8.c:1392,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1393,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/milter/milter8.c:1395,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:1396,1
    - Dst: milter8_conf_error
      Src: /src/postfix/postfix/src/milter/milter8.c:1398,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1399,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1401,1
    - Dst: MILTERS*::upd_header
      Src: /src/postfix/postfix/src/milter/milter8.c:1402,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1404,1
    - Dst: MILTER8_HDR_SPACE
      Src: /src/postfix/postfix/src/milter/milter8.c:1405,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1406,1
    - Dst: MILTERS*::del_header
      Src: /src/postfix/postfix/src/milter/milter8.c:1408,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1410,1
    - Dst: milter8_read_data
      Src: /src/postfix/postfix/src/milter/milter8.c:1417,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1421,1
    - Dst: MILTERS*::add_header
      Src: /src/postfix/postfix/src/milter/milter8.c:1425,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1426,1
    - Dst: MILTER8_HDR_SPACE
      Src: /src/postfix/postfix/src/milter/milter8.c:1427,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1428,1
    - Dst: milter8_read_data
      Src: /src/postfix/postfix/src/milter/milter8.c:1438,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1443,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:1448,1
    - Dst: milter8_conf_error
      Src: /src/postfix/postfix/src/milter/milter8.c:1450,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1451,1
    - Dst: MILTERS*::ins_header
      Src: /src/postfix/postfix/src/milter/milter8.c:1453,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1455,1
    - Dst: MILTER8_HDR_SPACE
      Src: /src/postfix/postfix/src/milter/milter8.c:1456,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1457,1
    - Dst: milter8_read_data
      Src: /src/postfix/postfix/src/milter/milter8.c:1465,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1468,1
    - Dst: milter8_read_data
      Src: /src/postfix/postfix/src/milter/milter8.c:1470,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1473,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/milter/milter8.c:1475,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/milter/milter8.c:1476,1
    - Dst: MILTERS*::chg_from
      Src: /src/postfix/postfix/src/milter/milter8.c:1481,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1482,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1483,1
    - Dst: milter8_read_data
      Src: /src/postfix/postfix/src/milter/milter8.c:1490,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1493,1
    - Dst: MILTERS*::add_rcpt
      Src: /src/postfix/postfix/src/milter/milter8.c:1497,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1498,1
    - Dst: milter8_read_data
      Src: /src/postfix/postfix/src/milter/milter8.c:1506,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1509,1
    - Dst: milter8_read_data
      Src: /src/postfix/postfix/src/milter/milter8.c:1511,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1514,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/milter/milter8.c:1516,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/milter/milter8.c:1517,1
    - Dst: MILTERS*::add_rcpt_par
      Src: /src/postfix/postfix/src/milter/milter8.c:1522,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1523,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1524,1
    - Dst: milter8_read_data
      Src: /src/postfix/postfix/src/milter/milter8.c:1531,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1534,1
    - Dst: MILTERS*::del_rcpt
      Src: /src/postfix/postfix/src/milter/milter8.c:1538,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1539,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:1548,1
    - Dst: milter8_conf_error
      Src: /src/postfix/postfix/src/milter/milter8.c:1551,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1552,1
    - Dst: milter8_read_data
      Src: /src/postfix/postfix/src/milter/milter8.c:1554,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1557,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/milter/milter8.c:1563,1
    - Dst: MILTERS*::repl_body
      Src: /src/postfix/postfix/src/milter/milter8.c:1564,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1570,1
    - Dst: vstring_end
      Src: /src/postfix/postfix/src/milter/milter8.c:1571,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/milter/milter8.c:1574,1
    - Dst: vstring_end
      Src: /src/postfix/postfix/src/milter/milter8.c:1575,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/milter/milter8.c:1576,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/milter/milter8.c:1577,1
    - Dst: MILTERS*::repl_body
      Src: /src/postfix/postfix/src/milter/milter8.c:1578,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/milter/milter8.c:1582,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/milter/milter8.c:1585,1
    - Dst: MILTERS*::repl_body
      Src: /src/postfix/postfix/src/milter/milter8.c:1586,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/milter/milter8.c:1590,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/milter/milter8.c:1592,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:1598,1
    - Dst: str_name_code
      Src: /src/postfix/postfix/src/milter/milter8.c:1600,1
    - Dst: str_name_code
      Src: /src/postfix/postfix/src/milter/milter8.c:1602,1
    - Dst: milter8_comm_error
      Src: /src/postfix/postfix/src/milter/milter8.c:1604,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1605,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:1612,1
    - Dst: str_name_code
      Src: /src/postfix/postfix/src/milter/milter8.c:1613,1
    - Dst: milter8_comm_error
      Src: /src/postfix/postfix/src/milter/milter8.c:1615,1
    - Dst: MILTER8_EVENT_BREAK
      Src: /src/postfix/postfix/src/milter/milter8.c:1616,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/milter/milter8.c:1623,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/milter/milter8.c:1632,1
    CyclomaticComplexity: 128
    EdgeCount: 128
    ICount: 302
    argCount: 5
    argNames:
    - milter
    - event
    - skip_event_flag
    - skip_reply
    - macros
    argTypes:
    - MILTER8*
    - int
    - int
    - int
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 953
    functionDepth: 5
    functionLinenumber: 953
    functionLinenumberEnd: 1635
    functionName: milter8_event
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - vstring_sprintf
    - vmilter8_write_cmd
    - vstring_end
    - vstring_truncate
    - milter8_read_resp
    - LEN
    - MILTER8_HDR_SPACE
    - msg_info
    - MILTERS*::chg_from
    - VSTRING_RESET
    - MILTERS*::add_header
    - va_start
    - milter8_comm_error
    - MILTERS*::del_rcpt
    - vstring_alloc
    - VA_COPY
    - MILTERS*::del_header
    - vmilter8_size_data
    - MILTERS*::upd_header
    - milter8_read_data
    - IN_CONNECT_EVENT
    - milter8_write_cmd
    - str_name_code
    - MILTERS*::add_rcpt
    - VSTRING_TERMINATE
    - vstring_sprintf_append
    - MILTERS*::ins_header
    - vstring_free
    - va_end
    - msg_warn
    - strchr
    - milter8_conf_error
    - MILTERS*::add_rcpt_par
    - milter8_close_stream
    - MILTER8_EVENT_BREAK
    - strstr
    - milter8_def_reply
    - ISDIGIT
    - MILTERS*::repl_body
    - STR
    linkageType: ''
    returnType: char
    signature: "char *milter8_event(MILTER8 *milter, int event,\n\t\t\t\t         int
      skip_event_flag,\n\t\t\t\t         int skip_reply,\n\t\t\t\t         ARGV *macros,...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1115
    functionName: IN_CONNECT_EVENT
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN_CONNECT_EVENT(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1125
    functionName: MILTER8_EVENT_BREAK
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MILTER8_EVENT_BREAK(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1371
    functionName: MILTER8_HDR_SPACE
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MILTER8_HDR_SPACE(m)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/milter/milter8.c:1666,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/milter/milter8.c:1683,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/milter/milter8.c:1684,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/milter/milter8.c:1688,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/milter/milter8.c:1690,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:1693,1
    - Dst: milter8_conf_error
      Src: /src/postfix/postfix/src/milter/milter8.c:1695,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/milter/milter8.c:1702,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:1704,1
    - Dst: milter8_conf_error
      Src: /src/postfix/postfix/src/milter/milter8.c:1705,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:1714,1
    - Dst: str_name_mask_opt
      Src: /src/postfix/postfix/src/milter/milter8.c:1716,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/milter/milter8.c:1728,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/milter/milter8.c:1729,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:1731,1
    - Dst: FREE_TRANSPORT_AND_BAIL_OUT
      Src: /src/postfix/postfix/src/milter/milter8.c:1733,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:1736,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/milter8.c:1737,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/milter8.c:1739,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/milter8.c:1741,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:1744,1
    - Dst: FREE_TRANSPORT_AND_BAIL_OUT
      Src: /src/postfix/postfix/src/milter/milter8.c:1746,1
    - Dst: connect_fn
      Src: /src/postfix/postfix/src/milter/milter8.c:1752,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:1753,1
    - Dst: FREE_TRANSPORT_AND_BAIL_OUT
      Src: /src/postfix/postfix/src/milter/milter8.c:1754,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/milter/milter8.c:1756,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/milter/milter8.c:1757,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/milter/milter8.c:1758,1
    - Dst: CA_VSTREAM_CTL_TIMEOUT
      Src: /src/postfix/postfix/src/milter/milter8.c:1760,1
    - Dst: vstream_tweak_tcp
      Src: /src/postfix/postfix/src/milter/milter8.c:1764,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:1771,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:1772,1
    - Dst: str_name_mask_opt
      Src: /src/postfix/postfix/src/milter/milter8.c:1773,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:1775,1
    - Dst: str_name_mask_opt
      Src: /src/postfix/postfix/src/milter/milter8.c:1776,1
    - Dst: milter8_write_cmd
      Src: /src/postfix/postfix/src/milter/milter8.c:1780,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:1785,1
    - Dst: milter8_read_resp
      Src: /src/postfix/postfix/src/milter/milter8.c:1794,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:1795,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:1800,1
    - Dst: milter8_comm_error
      Src: /src/postfix/postfix/src/milter/milter8.c:1802,1
    - Dst: milter8_read_data
      Src: /src/postfix/postfix/src/milter/milter8.c:1805,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:1810,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:1815,1
    - Dst: milter8_comm_error
      Src: /src/postfix/postfix/src/milter/milter8.c:1818,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:1822,1
    - Dst: milter8_comm_error
      Src: /src/postfix/postfix/src/milter/milter8.c:1825,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:1847,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/milter/milter8.c:1851,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:1854,1
    - Dst: str_name_mask_opt
      Src: /src/postfix/postfix/src/milter/milter8.c:1857,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:1871,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:1874,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:1876,1
    - Dst: str_name_mask_opt
      Src: /src/postfix/postfix/src/milter/milter8.c:1877,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:1879,1
    - Dst: str_name_mask_opt
      Src: /src/postfix/postfix/src/milter/milter8.c:1880,1
    - Dst: milter8_def_reply
      Src: /src/postfix/postfix/src/milter/milter8.c:1884,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/milter/milter8.c:1891,1
    - Dst: milter_macros_alloc
      Src: /src/postfix/postfix/src/milter/milter8.c:1896,1
    - Dst: milter8_read_data
      Src: /src/postfix/postfix/src/milter/milter8.c:1899,1
    - Dst: str_name_code
      Src: /src/postfix/postfix/src/milter/milter8.c:1903,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:1905,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:1909,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1910,1
    - Dst: MILTER8_MACRO_PTR
      Src: /src/postfix/postfix/src/milter/milter8.c:1911,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/milter/milter8.c:1912,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/milter/milter8.c:1913,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:1913,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/milter/milter8.c:1917,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 126
    argCount: 1
    argNames:
    - milter
    argTypes:
    - MILTER8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1920
      start: 1639
    functionDepth: 5
    functionLinenumber: 1639
    functionLinenumberEnd: 1920
    functionName: milter8_connect
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - CA_VSTREAM_CTL_TIMEOUT
    - milter8_read_resp
    - msg_info
    - vstream_control
    - atoi
    - msg_panic
    - milter8_comm_error
    - vstring_alloc
    - vstream_tweak_tcp
    - mystrtok
    - split_at
    - milter8_read_data
    - milter8_write_cmd
    - str_name_code
    - myfree
    - FREE_TRANSPORT_AND_BAIL_OUT
    - connect_fn
    - vstring_free
    - name_code
    - MILTER8_MACRO_PTR
    - msg_warn
    - vstream_fdopen
    - milter_macros_alloc
    - milter8_conf_error
    - str_name_mask_opt
    - strcmp
    - milter8_def_reply
    - mystrdup
    - STR
    linkageType: ''
    returnType: void
    signature: void milter8_connect(MILTER8 *milter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - milter
    - ','
    - milter_error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1722
    functionDepth: 0
    functionLinenumber: 1722
    functionLinenumberEnd: 1727
    functionName: FREE_TRANSPORT_AND_BAIL_OUT
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_TRANSPORT_AND_BAIL_OUT(milter, milter_error)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:1953,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:1957,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/milter/milter8.c:1961,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/milter/milter8.c:1961,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:1963,1
    - Dst: STR_NE
      Src: /src/postfix/postfix/src/milter/milter8.c:1970,1
    - Dst: STR_EQ
      Src: /src/postfix/postfix/src/milter/milter8.c:1971,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/milter/milter8.c:1972,1
    - Dst: milter8_event
      Src: /src/postfix/postfix/src/milter/milter8.c:1975,1
    - Dst: htons
      Src: /src/postfix/postfix/src/milter/milter8.c:1979,1
    - Dst: milter8_event
      Src: /src/postfix/postfix/src/milter/milter8.c:1985,1
    - Dst: htons
      Src: /src/postfix/postfix/src/milter/milter8.c:1989,1
    - Dst: milter8_event
      Src: /src/postfix/postfix/src/milter/milter8.c:1995,1
    - Dst: htons
      Src: /src/postfix/postfix/src/milter/milter8.c:1999,1
    - Dst: milter8_event
      Src: /src/postfix/postfix/src/milter/milter8.c:2004,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/milter/milter8.c:2012,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/milter/milter8.c:2015,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 6
    argNames:
    - m
    - client_name
    - client_addr
    - client_port
    - addr_family
    - macros
    argTypes:
    - MILTER*
    - char*
    - char*
    - char*
    - unsigned
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 1924
    functionDepth: 6
    functionLinenumber: 1924
    functionLinenumberEnd: 2018
    functionName: milter8_conn_event
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_warn
    - htons
    - alldig
    - msg_info
    - milter8_event
    - myfree
    - atoi
    - STR_EQ
    - concatenate
    - STR_NE
    linkageType: ''
    returnType: char
    signature: "char *milter8_conn_event(MILTER *m,\n\t\t\t\t              const char
      *client_name,\n\t\t\t\t              const char *client_addr,\n\t\t\t\t              const
      char *client_port,\n\t\t\t\t              unsigned addr_family,\n\t\t\t\t              ARGV
      *macros)"
  - 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: 1945
      start: 1944
    functionDepth: 0
    functionLinenumber: 1944
    functionLinenumberEnd: 1945
    functionName: STR_EQ
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_EQ(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1945
    functionDepth: 0
    functionLinenumber: 1945
    functionLinenumberEnd: 1946
    functionName: STR_NE
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_NE(x,y)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:2038,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:2044,1
    - Dst: milter8_event
      Src: /src/postfix/postfix/src/milter/milter8.c:2047,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/milter/milter8.c:2052,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - m
    - helo_name
    - unused_esmtp
    - macros
    argTypes:
    - MILTER*
    - char*
    - int
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2055
      start: 2022
    functionDepth: 6
    functionLinenumber: 2022
    functionLinenumberEnd: 2055
    functionName: milter8_helo_event
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - milter8_event
    - msg_info
    linkageType: ''
    returnType: char
    signature: "char *milter8_helo_event(MILTER *m, const char *helo_name,\n\t\t\t\t
      \             int unused_esmtp,\n\t\t\t\t              ARGV *macros)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:2075,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/milter/milter8.c:2079,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/milter/milter8.c:2082,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:2083,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:2084,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/milter/milter8.c:2085,1
    - Dst: milter8_event
      Src: /src/postfix/postfix/src/milter/milter8.c:2088,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/milter/milter8.c:2093,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - m
    - argv
    - macros
    argTypes:
    - MILTER*
    - char**
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2096
      start: 2059
    functionDepth: 6
    functionLinenumber: 2059
    functionLinenumberEnd: 2096
    functionName: milter8_mail_event
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstring_alloc
    - msg_info
    - milter8_event
    - vstring_sprintf_append
    - vstring_free
    - STR
    linkageType: ''
    returnType: char
    signature: "char *milter8_mail_event(MILTER *m, const char **argv,\n\t\t\t\t              ARGV
      *macros)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:2117,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/milter/milter8.c:2121,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/milter/milter8.c:2124,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:2125,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:2126,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/milter/milter8.c:2127,1
    - Dst: milter8_event
      Src: /src/postfix/postfix/src/milter/milter8.c:2130,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/milter/milter8.c:2135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - m
    - argv
    - macros
    argTypes:
    - MILTER*
    - char**
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2138
      start: 2100
    functionDepth: 6
    functionLinenumber: 2100
    functionLinenumberEnd: 2138
    functionName: milter8_rcpt_event
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstring_alloc
    - msg_info
    - milter8_event
    - vstring_sprintf_append
    - vstring_free
    - STR
    linkageType: ''
    returnType: char
    signature: "char *milter8_rcpt_event(MILTER *m, const char **argv,\n\t\t\t\t              ARGV
      *macros)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:2157,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:2161,1
    - Dst: milter8_event
      Src: /src/postfix/postfix/src/milter/milter8.c:2163,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/milter/milter8.c:2167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - m
    - macros
    argTypes:
    - MILTER*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2170
      start: 2142
    functionDepth: 6
    functionLinenumber: 2142
    functionLinenumberEnd: 2170
    functionName: milter8_data_event
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - milter8_event
    - msg_info
    linkageType: ''
    returnType: char
    signature: char *milter8_data_event(MILTER *m, ARGV *macros)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:2190,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:2194,1
    - Dst: milter8_event
      Src: /src/postfix/postfix/src/milter/milter8.c:2198,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/milter/milter8.c:2203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - m
    - command
    - macros
    argTypes:
    - MILTER*
    - char*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2206
      start: 2174
    functionDepth: 6
    functionLinenumber: 2174
    functionLinenumberEnd: 2206
    functionName: milter8_unknown_event
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - milter8_event
    - msg_info
    linkageType: ''
    returnType: char
    signature: "char *milter8_unknown_event(MILTER *m, const char *command,\n\t\t\t\t\t
      \        ARGV *macros)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:2219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - m
    argTypes:
    - MILTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2210
    functionDepth: 1
    functionLinenumber: 2210
    functionLinenumberEnd: 2221
    functionName: milter8_other_event
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - msg_info
    linkageType: ''
    returnType: char
    signature: char *milter8_other_event(MILTER *m)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:2243,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:2249,1
    - Dst: milter8_write_cmd
      Src: /src/postfix/postfix/src/milter/milter8.c:2250,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/milter/milter8.c:2255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - m
    argTypes:
    - MILTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 2225
    functionDepth: 5
    functionLinenumber: 2225
    functionLinenumberEnd: 2258
    functionName: milter8_abort
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - milter8_write_cmd
    - msg_info
    linkageType: ''
    returnType: void
    signature: void milter8_abort(MILTER *m)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:2282,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:2292,1
    - Dst: milter8_write_cmd
      Src: /src/postfix/postfix/src/milter/milter8.c:2293,1
    - Dst: milter8_close_stream
      Src: /src/postfix/postfix/src/milter/milter8.c:2297,1
    - Dst: milter8_def_reply
      Src: /src/postfix/postfix/src/milter/milter8.c:2302,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - m
    argTypes:
    - MILTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2303
      start: 2262
    functionDepth: 5
    functionLinenumber: 2262
    functionLinenumberEnd: 2303
    functionName: milter8_disc_event
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - milter8_def_reply
    - milter8_write_cmd
    - milter8_close_stream
    - msg_info
    linkageType: ''
    returnType: void
    signature: void milter8_disc_event(MILTER *m)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MILTER8_MESSAGE_DONE
      Src: /src/postfix/postfix/src/milter/milter8.c:2340,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/milter/milter8.c:2361,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:2361,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:2373,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:2374,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:2375,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/milter/milter8.c:2375,1
    - Dst: is_header
      Src: /src/postfix/postfix/src/milter/milter8.c:2376,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:2376,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/milter/milter8.c:2381,1
    - Dst: milter8_event
      Src: /src/postfix/postfix/src/milter/milter8.c:2388,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:2390,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 5
    argNames:
    - ptr
    - unused_header_class
    - header_info
    - buf
    - unused_offset
    argTypes:
    - void*
    - int
    - HEADER_OPTS*
    - VSTRING*
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2393
      start: 2321
    functionDepth: 6
    functionLinenumber: 2321
    functionLinenumberEnd: 2393
    functionName: milter8_header
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - strlen
    - is_header
    - msg_info
    - milter8_event
    - MILTER8_MESSAGE_DONE
    - strcmp
    - STR
    linkageType: ''
    returnType: void
    signature: "void milter8_header(void *ptr, int unused_header_class,\n\t\t\t           const
      HEADER_OPTS *header_info,\n\t\t\t           VSTRING *buf, off_t unused_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - milter
    - ','
    - msg_ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2339
      start: 2337
    functionDepth: 0
    functionLinenumber: 2337
    functionLinenumberEnd: 2339
    functionName: MILTER8_MESSAGE_DONE
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MILTER8_MESSAGE_DONE(milter, msg_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MILTER8_MESSAGE_DONE
      Src: /src/postfix/postfix/src/milter/milter8.c:2404,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:2407,1
    - Dst: milter8_event
      Src: /src/postfix/postfix/src/milter/milter8.c:2410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2413
      start: 2397
    functionDepth: 6
    functionLinenumber: 2397
    functionLinenumberEnd: 2413
    functionName: milter8_eoh
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - milter8_event
    - MILTER8_MESSAGE_DONE
    - msg_info
    linkageType: ''
    returnType: void
    signature: void milter8_eoh(void *ptr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MILTER8_MESSAGE_DONE
      Src: /src/postfix/postfix/src/milter/milter8.c:2430,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:2455,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/milter/milter8.c:2465,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/milter/milter8.c:2467,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/milter/milter8.c:2468,1
    - Dst: vstring_memcat
      Src: /src/postfix/postfix/src/milter/milter8.c:2470,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/milter/milter8.c:2474,1
    - Dst: milter8_event
      Src: /src/postfix/postfix/src/milter/milter8.c:2476,1
    - Dst: MILTER8_MESSAGE_DONE
      Src: /src/postfix/postfix/src/milter/milter8.c:2480,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/milter/milter8.c:2482,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 5
    argNames:
    - ptr
    - rec_type
    - buf
    - len
    - offset
    argTypes:
    - void*
    - int
    - char*
    - ssize_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2491
      start: 2417
    functionDepth: 6
    functionLinenumber: 2417
    functionLinenumberEnd: 2491
    functionName: milter8_body
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - LEN
    - msg_info
    - milter8_event
    - VSTRING_RESET
    - MILTER8_MESSAGE_DONE
    - vstring_memcat
    linkageType: ''
    returnType: void
    signature: "void milter8_body(void *ptr, int rec_type,\n\t\t\t         const char
      *buf, ssize_t len,\n\t\t\t         off_t offset)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MILTER8_MESSAGE_DONE
      Src: /src/postfix/postfix/src/milter/milter8.c:2502,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:2505,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/milter/milter8.c:2518,1
    - Dst: milter8_event
      Src: /src/postfix/postfix/src/milter/milter8.c:2521,1
    - Dst: MILTER8_MESSAGE_DONE
      Src: /src/postfix/postfix/src/milter/milter8.c:2525,1
    - Dst: milter8_event
      Src: /src/postfix/postfix/src/milter/milter8.c:2529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2532
      start: 2495
    functionDepth: 6
    functionLinenumber: 2495
    functionLinenumberEnd: 2532
    functionName: milter8_eob
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - milter8_event
    - MILTER8_MESSAGE_DONE
    - LEN
    - msg_info
    linkageType: ''
    returnType: void
    signature: void milter8_eob(void *ptr)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:2558,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:2562,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/milter/milter8.c:2563,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:2565,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/milter/milter8.c:2565,1
    - Dst: mime_state_alloc
      Src: /src/postfix/postfix/src/milter/milter8.c:2580,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/milter/milter8.c:2590,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/milter/milter8.c:2592,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/milter/milter8.c:2593,1
    - Dst: CA_VSTREAM_CTL_TIMEOUT
      Src: /src/postfix/postfix/src/milter/milter8.c:2595,1
    - Dst: rec_get
      Src: /src/postfix/postfix/src/milter/milter8.c:2604,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:2605,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/milter/milter8.c:2606,1
    - Dst: mime_state_update
      Src: /src/postfix/postfix/src/milter/milter8.c:2611,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:2612,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/milter/milter8.c:2612,1
    - Dst: mime_state_detail
      Src: /src/postfix/postfix/src/milter/milter8.c:2614,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/milter/milter8.c:2615,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/milter/milter8.c:2616,1
    - Dst: MILTER8_MESSAGE_DONE
      Src: /src/postfix/postfix/src/milter/milter8.c:2620,1
    - Dst: mime_state_free
      Src: /src/postfix/postfix/src/milter/milter8.c:2625,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/milter/milter8.c:2626,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/milter/milter8.c:2628,1
    - Dst: CA_VSTREAM_CTL_TIMEOUT
      Src: /src/postfix/postfix/src/milter/milter8.c:2630,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/milter/milter8.c:2637,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 6
    argNames:
    - m
    - qfile
    - data_offset
    - eoh_macros
    - eod_macros
    - auto_hdrs
    argTypes:
    - MILTER*
    - VSTREAM*
    - off_t
    - ARGV*
    - ARGV*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2640
      start: 2536
    functionDepth: 4
    functionLinenumber: 2536
    functionLinenumberEnd: 2640
    functionName: milter8_message
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - mime_state_alloc
    - msg_warn
    - CA_VSTREAM_CTL_TIMEOUT
    - VSTREAM_PATH
    - vstream_fseek
    - mime_state_update
    - mime_state_detail
    - vstring_alloc
    - LEN
    - msg_info
    - vstream_control
    - VSTRING_RESET
    - rec_get
    - MILTER8_MESSAGE_DONE
    - mime_state_free
    - vstring_free
    - STR
    linkageType: ''
    returnType: char
    signature: "char *milter8_message(MILTER *m, VSTREAM *qfile,\n\t\t\t\t           off_t
      data_offset,\n\t\t\t\t           ARGV *eoh_macros,\n\t\t\t\t           ARGV
      *eod_macros,\n\t\t\t\t           ARGV *auto_hdrs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - MILTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2667
      start: 2660
    functionDepth: 0
    functionLinenumber: 2660
    functionLinenumberEnd: 2667
    functionName: milter8_active
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int milter8_active(MILTER *m)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:2677,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/milter/milter8.c:2684,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/milter/milter8.c:2686,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/milter/milter8.c:2687,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/milter/milter8.c:2688,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/milter/milter8.c:2689,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/milter/milter8.c:2690,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/milter/milter8.c:2691,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/milter/milter8.c:2692,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/milter/milter8.c:2693,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/milter/milter8.c:2694,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/milter/milter8.c:2695,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/milter/milter8.c:2696,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/milter/milter8.c:2697,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/milter/milter8.c:2700,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/milter/milter8.c:2701,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/milter/milter8.c:2705,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/milter/milter8.c:2707,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/milter/milter8.c:2710,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/milter/milter8.c:2711,1
    - Dst: LOCAL_SEND_FD
      Src: /src/postfix/postfix/src/milter/milter8.c:2715,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/milter/milter8.c:2715,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/milter/milter8.c:2716,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/milter/milter8.c:2719,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/milter/milter8.c:2720,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - m
    - stream
    argTypes:
    - MILTER*
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2727
      start: 2671
    functionDepth: 1
    functionLinenumber: 2671
    functionLinenumberEnd: 2727
    functionName: milter8_send
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_STR
    - SEND_ATTR_INT
    - attr_print
    - vstream_fflush
    - RECV_ATTR_STR
    - msg_info
    - attr_scan
    - SEND_ATTR_FUNC
    - vstream_fileno
    - LOCAL_SEND_FD
    linkageType: ''
    returnType: int
    signature: int milter8_send(MILTER *m, VSTREAM *stream)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/milter/milter8.c:2759,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/milter/milter8.c:2760,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/milter/milter8.c:2762,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/milter/milter8.c:2763,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/milter/milter8.c:2764,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/milter/milter8.c:2765,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/milter/milter8.c:2766,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/milter/milter8.c:2767,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/milter/milter8.c:2768,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/milter/milter8.c:2769,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/milter/milter8.c:2770,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/milter/milter8.c:2771,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/milter/milter8.c:2772,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/milter/milter8.c:2773,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/milter/milter8.c:2776,1
    - Dst: RECV_ATTR_FUNC
      Src: /src/postfix/postfix/src/milter/milter8.c:2777,1
    - Dst: milter_macros_alloc
      Src: /src/postfix/postfix/src/milter/milter8.c:2779,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/milter/milter8.c:2782,1
    - Dst: FREE_MACROS_AND_RETURN
      Src: /src/postfix/postfix/src/milter/milter8.c:2784,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/milter/milter8.c:2786,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/milter/milter8.c:2787,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/milter/milter8.c:2789,1
    - Dst: FREE_MACROS_AND_RETURN
      Src: /src/postfix/postfix/src/milter/milter8.c:2790,1
    - Dst: LOCAL_RECV_FD
      Src: /src/postfix/postfix/src/milter/milter8.c:2792,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/milter/milter8.c:2792,1
    - Dst: FREE_MACROS_AND_RETURN
      Src: /src/postfix/postfix/src/milter/milter8.c:2793,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/milter/milter8.c:2796,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/milter/milter8.c:2797,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:2803,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:2803,1
    - Dst: milter8_alloc
      Src: /src/postfix/postfix/src/milter/milter8.c:2805,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:2805,1
    - Dst: STR
      Src: /src/postfix/postfix/src/milter/milter8.c:2806,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/milter/milter8.c:2807,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/milter/milter8.c:2809,1
    - Dst: vstream_tweak_sock
      Src: /src/postfix/postfix/src/milter/milter8.c:2811,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - stream
    - parent
    argTypes:
    - VSTREAM*
    - MILTERS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2819
      start: 2734
    functionDepth: 2
    functionLinenumber: 2734
    functionLinenumberEnd: 2819
    functionName: milter8_receive
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 1
    functionsReached:
    - vstream_fdopen
    - milter_macros_alloc
    - LOCAL_RECV_FD
    - RECV_ATTR_FUNC
    - SEND_ATTR_STR
    - attr_print
    - vstring_alloc
    - RECV_ATTR_STR
    - attr_scan
    - vstream_fflush
    - msg_info
    - vstream_control
    - FREE_MACROS_AND_RETURN
    - vstream_fileno
    - milter8_alloc
    - vstream_tweak_sock
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: MILTER
    signature: MILTER *milter8_receive(VSTREAM *stream, MILTERS *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2757
      start: 2752
    functionDepth: 0
    functionLinenumber: 2752
    functionLinenumberEnd: 2757
    functionName: FREE_MACROS_AND_RETURN
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_MACROS_AND_RETURN(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/milter/milter8.c:2828,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/milter/milter8.c:2830,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/milter/milter8.c:2831,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/milter/milter8.c:2832,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/milter/milter8.c:2833,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/milter/milter8.c:2835,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/milter/milter8.c:2836,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/milter/milter8.c:2838,1
    - Dst: milter_macros_free
      Src: /src/postfix/postfix/src/milter/milter8.c:2840,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/milter/milter8.c:2841,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - m
    argTypes:
    - MILTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2842
      start: 2823
    functionDepth: 2
    functionLinenumber: 2823
    functionLinenumberEnd: 2842
    functionName: milter8_free
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 0
    functionsReached:
    - milter_macros_free
    - vstream_fclose
    - msg_info
    - myfree
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void milter8_free(MILTER *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/milter/milter8.c:2861,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/milter/milter8.c:2862,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/milter/milter8.c:2886,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/milter/milter8.c:2887,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/milter/milter8.c:2895,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/milter/milter8.c:2896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 7
    argNames:
    - name
    - conn_timeout
    - cmd_timeout
    - msg_timeout
    - protocol
    - def_action
    - parent
    argTypes:
    - char*
    - int
    - int
    - int
    - char*
    - char*
    - MILTERS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2901
      start: 2846
    functionDepth: 1
    functionLinenumber: 2846
    functionLinenumberEnd: 2901
    functionName: milter8_alloc
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 1
    functionsReached:
    - mymalloc
    - mystrdup
    - vstring_alloc
    linkageType: ''
    returnType: MILTER8
    signature: "MILTER8 *milter8_alloc(const char *name, int conn_timeout,\n\t\t\t
      \             int cmd_timeout, int msg_timeout,\n\t\t\t              const char
      *protocol,\n\t\t\t              const char *def_action,\n\t\t\t              MILTERS
      *parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: milter8_alloc
      Src: /src/postfix/postfix/src/milter/milter8.c:2914,1
    - Dst: milter8_connect
      Src: /src/postfix/postfix/src/milter/milter8.c:2923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - name
    - conn_timeout
    - cmd_timeout
    - msg_timeout
    - protocol
    - def_action
    - parent
    argTypes:
    - char*
    - int
    - int
    - int
    - char*
    - char*
    - MILTERS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2926
      start: 2905
    functionDepth: 6
    functionLinenumber: 2905
    functionLinenumberEnd: 2926
    functionName: milter8_create
    functionSourceFile: /src/postfix/postfix/src/milter/milter8.c
    functionUses: 1
    functionsReached:
    - milter8_alloc
    - milter8_connect
    linkageType: ''
    returnType: MILTER
    signature: "MILTER *milter8_create(const char *name, int conn_timeout, int cmd_timeout,\n\t\t
      \              int msg_timeout, const char *protocol,\n\t\t               const
      char *def_action, MILTERS *parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/postfix/postfix/src/master/master_proto.c:80,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_proto.c:82,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_proto.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pid
    - generation
    - status
    argTypes:
    - int
    - unsigned
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 89
    functionName: master_notify
    functionSourceFile: /src/postfix/postfix/src/master/master_proto.c
    functionUses: 0
    functionsReached:
    - write
    - msg_info
    linkageType: ''
    returnType: int
    signature: int master_notify(int pid, unsigned generation, int status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master.c:255,1
    - Dst: exit
      Src: /src/postfix/postfix/src/master/master.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - unused_event
    - unused_context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: master_exit_event
    functionSourceFile: /src/postfix/postfix/src/master/master.c
    functionUses: 0
    functionsReached:
    - exit
    - msg_info
    linkageType: ''
    returnType: void
    signature: void master_exit_event(int unused_event, void *unused_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - me
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/master/master.c
    functionUses: 32
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(const char *me)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/postfix/postfix/src/master/master.c:297,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/master/master.c:302,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/master/master.c:304,1
    - Dst: signal
      Src: /src/postfix/postfix/src/master/master.c:310,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/master/master.c:315,1
    - Dst: basename
      Src: /src/postfix/postfix/src/master/master.c:315,1
    - Dst: closefrom
      Src: /src/postfix/postfix/src/master/master.c:331,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/master/master.c:336,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/master/master.c:336,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/master/master.c:349,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master.c:350,1
    - Dst: unsafe
      Src: /src/postfix/postfix/src/master/master.c:351,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master.c:352,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/master/master.c:357,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/master/master.c:360,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master.c:361,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/master.c:367,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/master/master.c:367,1
    - Dst: getpid
      Src: /src/postfix/postfix/src/master/master.c:370,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master.c:371,1
    - Dst: usage
      Src: /src/postfix/postfix/src/master/master.c:391,1
    - Dst: usage
      Src: /src/postfix/postfix/src/master/master.c:400,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master.c:406,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master.c:408,1
    - Dst: master_monitor
      Src: /src/postfix/postfix/src/master/master.c:419,1
    - Dst: close
      Src: /src/postfix/postfix/src/master/master.c:430,1
    - Dst: open
      Src: /src/postfix/postfix/src/master/master.c:431,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master.c:432,1
    - Dst: setsid
      Src: /src/postfix/postfix/src/master/master.c:441,1
    - Dst: getsid
      Src: /src/postfix/postfix/src/master/master.c:441,1
    - Dst: getpid
      Src: /src/postfix/postfix/src/master/master.c:441,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master.c:442,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/master.c:454,1
    - Dst: dup
      Src: /src/postfix/postfix/src/master/master.c:454,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master.c:455,1
    - Dst: master_vars_init
      Src: /src/postfix/postfix/src/master/master.c:464,1
    - Dst: inet_proto_init
      Src: /src/postfix/postfix/src/master/master.c:471,1
    - Dst: mail_parm_split
      Src: /src/postfix/postfix/src/master/master.c:477,1
    - Dst: clean_env
      Src: /src/postfix/postfix/src/master/master.c:478,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/master/master.c:479,1
    - Dst: get_file_limit
      Src: /src/postfix/postfix/src/master/master.c:481,1
    - Dst: set_file_limit
      Src: /src/postfix/postfix/src/master/master.c:482,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/master/master.c:484,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master.c:485,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/master/master.c:491,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/master/master.c:492,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/master/master.c:493,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/master/master.c:495,1
    - Dst: access
      Src: /src/postfix/postfix/src/master/master.c:496,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/master/master.c:496,1
    - Dst: exit
      Src: /src/postfix/postfix/src/master/master.c:497,1
    - Dst: open_lock
      Src: /src/postfix/postfix/src/master/master.c:498,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/master/master.c:498,1
    - Dst: exit
      Src: /src/postfix/postfix/src/master/master.c:500,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master.c:502,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/master/master.c:503,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/master/master.c:503,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/master/master.c:504,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/master/master.c:506,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master.c:507,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/master/master.c:507,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/master.c:508,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/master.c:508,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/master/master.c:513,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/master/master.c:514,1
    - Dst: open_lock
      Src: /src/postfix/postfix/src/master/master.c:516,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/master/master.c:516,1
    - Dst: set_ugid
      Src: /src/postfix/postfix/src/master/master.c:517,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/master/master.c:517,1
    - Dst: getgid
      Src: /src/postfix/postfix/src/master/master.c:517,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master.c:519,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/master/master.c:520,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/master/master.c:520,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/master/master.c:521,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/master/master.c:523,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master.c:524,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/master/master.c:524,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/master.c:525,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/master.c:525,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/master/master.c:530,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/master/master.c:531,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/master/master.c:532,1
    - Dst: debug_process
      Src: /src/postfix/postfix/src/master/master.c:538,1
    - Dst: master_config
      Src: /src/postfix/postfix/src/master/master.c:545,1
    - Dst: master_sigsetup
      Src: /src/postfix/postfix/src/master/master.c:546,1
    - Dst: master_flow_init
      Src: /src/postfix/postfix/src/master/master.c:547,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/master/master.c:548,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/master/master.c:548,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master.c:550,1
    - Dst: write
      Src: /src/postfix/postfix/src/master/master.c:557,1
    - Dst: close
      Src: /src/postfix/postfix/src/master/master.c:558,1
    - Dst: watchdog_create
      Src: /src/postfix/postfix/src/master/master.c:570,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/master/master.c:573,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/master.c:573,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master.c:575,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/master/master.c:576,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/master.c:576,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master.c:578,1
    - Dst: watchdog_start
      Src: /src/postfix/postfix/src/master/master.c:580,1
    - Dst: event_loop
      Src: /src/postfix/postfix/src/master/master.c:581,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master.c:583,1
    - Dst: master_vars_init
      Src: /src/postfix/postfix/src/master/master.c:586,1
    - Dst: master_refresh
      Src: /src/postfix/postfix/src/master/master.c:587,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/master/master.c:588,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/master/master.c:588,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master.c:593,1
    - Dst: master_reap_child
      Src: /src/postfix/postfix/src/master/master.c:595,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 145
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 598
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/master/master.c
    functionUses: 39
    functionsReached:
    - master_vars_init
    - vstring_sprintf
    - master_sigsetup
    - setsid
    - event_loop
    - getpid
    - basename
    - set_ugid
    - close_on_exec
    - msg_info
    - atoi
    - open
    - inet_proto_init
    - GETOPT
    - unsafe
    - getuid
    - setenv
    - clean_env
    - access
    - maillog_client_init
    - master_config
    - exit
    - vstring_alloc
    - chdir
    - vstream_fflush
    - watchdog_create
    - vstring_str
    - closefrom
    - getenv
    - myflock
    - event_request_timer
    - master_monitor
    - debug_process
    - mail_parm_split
    - close
    - mail_task
    - getgid
    - master_reap_child
    - get_file_limit
    - master_flow_init
    - signal
    - dup
    - write
    - set_eugid
    - vstring_free
    - master_refresh
    - vstream_fprintf
    - argv_free
    - umask
    - getsid
    - usage
    - vstream_fileno
    - msg_fatal
    - set_file_limit
    - mystrdup
    - open_lock
    - watchdog_start
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/master/master_listen.c:97,1
    - Dst: LOCAL_LISTEN
      Src: /src/postfix/postfix/src/master/master_listen.c:99,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/master_listen.c:101,1
    - Dst: set_ugid
      Src: /src/postfix/postfix/src/master/master_listen.c:102,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/master/master_listen.c:102,1
    - Dst: getgid
      Src: /src/postfix/postfix/src/master/master_listen.c:102,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/master/master_listen.c:109,1
    - Dst: unix_dgram_listen
      Src: /src/postfix/postfix/src/master/master_listen.c:111,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/master_listen.c:112,1
    - Dst: set_ugid
      Src: /src/postfix/postfix/src/master/master_listen.c:113,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/master/master_listen.c:113,1
    - Dst: getgid
      Src: /src/postfix/postfix/src/master/master_listen.c:113,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/master/master_listen.c:120,1
    - Dst: fifo_listen
      Src: /src/postfix/postfix/src/master/master_listen.c:121,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/master_listen.c:122,1
    - Dst: set_ugid
      Src: /src/postfix/postfix/src/master/master_listen.c:123,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/master/master_listen.c:123,1
    - Dst: getgid
      Src: /src/postfix/postfix/src/master/master_listen.c:123,1
    - Dst: SOCK_ADDR_PTR
      Src: /src/postfix/postfix/src/master/master_listen.c:135,1
    - Dst: MASTER_INET_ADDRLIST
      Src: /src/postfix/postfix/src/master/master_listen.c:135,1
    - Dst: SOCKADDR_TO_HOSTADDR
      Src: /src/postfix/postfix/src/master/master_listen.c:136,1
    - Dst: SOCK_ADDR_LEN
      Src: /src/postfix/postfix/src/master/master_listen.c:136,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/master/master_listen.c:138,1
    - Dst: MASTER_INET_PORT
      Src: /src/postfix/postfix/src/master/master_listen.c:139,1
    - Dst: inet_listen
      Src: /src/postfix/postfix/src/master/master_listen.c:141,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/master_listen.c:143,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/master_listen.c:144,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/master/master_listen.c:153,1
    - Dst: LOCAL_LISTEN
      Src: /src/postfix/postfix/src/master/master_listen.c:155,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/master_listen.c:157,1
    - Dst: set_ugid
      Src: /src/postfix/postfix/src/master/master_listen.c:158,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/master/master_listen.c:158,1
    - Dst: getgid
      Src: /src/postfix/postfix/src/master/master_listen.c:158,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/master_listen.c:162,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 1
    argNames:
    - serv
    argTypes:
    - MASTER_SERV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 164
    functionName: master_listen_init
    functionSourceFile: /src/postfix/postfix/src/master/master_listen.c
    functionUses: 0
    functionsReached:
    - unix_dgram_listen
    - msg_panic
    - inet_listen
    - LOCAL_LISTEN
    - SOCK_ADDR_LEN
    - set_eugid
    - fifo_listen
    - SOCK_ADDR_PTR
    - MASTER_INET_ADDRLIST
    - set_ugid
    - getgid
    - close_on_exec
    - MASTER_INET_PORT
    - myfree
    - concatenate
    - SOCKADDR_TO_HOSTADDR
    - getuid
    linkageType: ''
    returnType: void
    signature: void master_listen_init(MASTER_SERV *serv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/postfix/postfix/src/master/master_listen.c:181,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_listen.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - serv
    argTypes:
    - MASTER_SERV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 186
    functionName: master_listen_cleanup
    functionSourceFile: /src/postfix/postfix/src/master/master_listen.c
    functionUses: 0
    functionsReached:
    - close
    - msg_warn
    linkageType: ''
    returnType: void
    signature: void master_listen_cleanup(MASTER_SERV *serv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: trigger_server_onexit
      Src: /src/postfix/postfix/src/master/trigger_server.c:245,1
    - Dst: exit
      Src: /src/postfix/postfix/src/master/trigger_server.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: trigger_server_exit
    functionSourceFile: /src/postfix/postfix/src/master/trigger_server.c
    functionUses: 0
    functionsReached:
    - trigger_server_onexit
    - exit
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN trigger_server_exit(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/trigger_server.c:254,1
    - Dst: trigger_server_exit
      Src: /src/postfix/postfix/src/master/trigger_server.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - unused_event
    - unused_context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: trigger_server_abort
    functionSourceFile: /src/postfix/postfix/src/master/trigger_server.c
    functionUses: 0
    functionsReached:
    - trigger_server_exit
    - msg_info
    linkageType: ''
    returnType: void
    signature: void trigger_server_abort(int unused_event, void *unused_context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/trigger_server.c:263,1
    - Dst: trigger_server_exit
      Src: /src/postfix/postfix/src/master/trigger_server.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - unused_event
    - unused_context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: trigger_server_timeout
    functionSourceFile: /src/postfix/postfix/src/master/trigger_server.c
    functionUses: 0
    functionsReached:
    - trigger_server_exit
    - msg_info
    linkageType: ''
    returnType: void
    signature: void trigger_server_timeout(int unused_event, void *unused_context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: master_notify
      Src: /src/postfix/postfix/src/master/trigger_server.c:279,1
    - Dst: mail_flow_get
      Src: /src/postfix/postfix/src/master/trigger_server.c:281,1
    - Dst: doze
      Src: /src/postfix/postfix/src/master/trigger_server.c:282,1
    - Dst: read
      Src: /src/postfix/postfix/src/master/trigger_server.c:283,1
    - Dst: trigger_server_service
      Src: /src/postfix/postfix/src/master/trigger_server.c:284,1
    - Dst: master_notify
      Src: /src/postfix/postfix/src/master/trigger_server.c:286,1
    - Dst: trigger_server_abort
      Src: /src/postfix/postfix/src/master/trigger_server.c:287,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/trigger_server.c:289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 293
    functionName: trigger_server_wakeup
    functionSourceFile: /src/postfix/postfix/src/master/trigger_server.c
    functionUses: 0
    functionsReached:
    - mail_flow_get
    - trigger_server_abort
    - event_request_timer
    - read
    - master_notify
    - doze
    - trigger_server_service
    linkageType: ''
    returnType: void
    signature: void trigger_server_wakeup(int fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAST_ANY_PTR_TO_INT
      Src: /src/postfix/postfix/src/master/trigger_server.c:300,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/master/trigger_server.c:303,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/trigger_server.c:303,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/trigger_server.c:305,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/trigger_server.c:308,1
    - Dst: trigger_server_pre_accept
      Src: /src/postfix/postfix/src/master/trigger_server.c:315,1
    - Dst: trigger_server_wakeup
      Src: /src/postfix/postfix/src/master/trigger_server.c:316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 317
    functionName: trigger_server_accept_fifo
    functionSourceFile: /src/postfix/postfix/src/master/trigger_server.c
    functionUses: 0
    functionsReached:
    - myflock
    - CAST_ANY_PTR_TO_INT
    - msg_info
    - trigger_server_pre_accept
    - vstream_fileno
    - msg_fatal
    - trigger_server_wakeup
    linkageType: ''
    returnType: void
    signature: void trigger_server_accept_fifo(int unused_event, void *context)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CAST_ANY_PTR_TO_INT
      Src: /src/postfix/postfix/src/master/trigger_server.c:324,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/trigger_server.c:329,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/master/trigger_server.c:339,1
    - Dst: trigger_server_pre_accept
      Src: /src/postfix/postfix/src/master/trigger_server.c:342,1
    - Dst: LOCAL_ACCEPT
      Src: /src/postfix/postfix/src/master/trigger_server.c:343,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/master/trigger_server.c:345,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/trigger_server.c:345,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/trigger_server.c:347,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/master/trigger_server.c:350,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/trigger_server.c:352,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/trigger_server.c:355,1
    - Dst: read_wait
      Src: /src/postfix/postfix/src/master/trigger_server.c:356,1
    - Dst: trigger_server_wakeup
      Src: /src/postfix/postfix/src/master/trigger_server.c:357,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/trigger_server.c:359,1
    - Dst: close
      Src: /src/postfix/postfix/src/master/trigger_server.c:360,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 321
    functionDepth: 3
    functionLinenumber: 321
    functionLinenumberEnd: 361
    functionName: trigger_server_accept_local
    functionSourceFile: /src/postfix/postfix/src/master/trigger_server.c
    functionUses: 0
    functionsReached:
    - myflock
    - event_request_timer
    - read_wait
    - msg_error
    - close
    - CAST_ANY_PTR_TO_INT
    - LOCAL_ACCEPT
    - msg_info
    - trigger_server_pre_accept
    - close_on_exec
    - vstream_fileno
    - event_cancel_timer
    - msg_fatal
    - trigger_server_wakeup
    linkageType: ''
    returnType: void
    signature: void trigger_server_accept_local(int unused_event, void *context)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CAST_ANY_PTR_TO_INT
      Src: /src/postfix/postfix/src/master/trigger_server.c:370,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/trigger_server.c:375,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/master/trigger_server.c:385,1
    - Dst: trigger_server_pre_accept
      Src: /src/postfix/postfix/src/master/trigger_server.c:388,1
    - Dst: pass_accept
      Src: /src/postfix/postfix/src/master/trigger_server.c:389,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/master/trigger_server.c:391,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/trigger_server.c:391,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/trigger_server.c:393,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/master/trigger_server.c:396,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/trigger_server.c:398,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/trigger_server.c:401,1
    - Dst: read_wait
      Src: /src/postfix/postfix/src/master/trigger_server.c:402,1
    - Dst: trigger_server_wakeup
      Src: /src/postfix/postfix/src/master/trigger_server.c:403,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/trigger_server.c:405,1
    - Dst: close
      Src: /src/postfix/postfix/src/master/trigger_server.c:406,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 407
    functionName: trigger_server_accept_pass
    functionSourceFile: /src/postfix/postfix/src/master/trigger_server.c
    functionUses: 0
    functionsReached:
    - myflock
    - event_request_timer
    - read_wait
    - msg_error
    - close
    - CAST_ANY_PTR_TO_INT
    - msg_info
    - trigger_server_pre_accept
    - close_on_exec
    - pass_accept
    - vstream_fileno
    - event_cancel_timer
    - msg_fatal
    - trigger_server_wakeup
    linkageType: ''
    returnType: void
    signature: void trigger_server_accept_pass(int unused_event, void *context)
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: basename
      Src: /src/postfix/postfix/src/master/trigger_server.c:420,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/master/trigger_server.c:451,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/master/trigger_server.c:453,1
    - Dst: signal
      Src: /src/postfix/postfix/src/master/trigger_server.c:459,1
    - Dst: signal
      Src: /src/postfix/postfix/src/master/trigger_server.c:465,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/master/trigger_server.c:471,1
    - Dst: basename
      Src: /src/postfix/postfix/src/master/trigger_server.c:471,1
    - Dst: set_mail_conf_str
      Src: /src/postfix/postfix/src/master/trigger_server.c:472,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/master/trigger_server.c:478,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/master/trigger_server.c:478,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/trigger_server.c:480,1
    - Dst: mail_conf_suck
      Src: /src/postfix/postfix/src/master/trigger_server.c:491,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/master/trigger_server.c:504,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/master/trigger_server.c:516,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/master/trigger_server.c:522,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/master/trigger_server.c:528,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/master/trigger_server.c:529,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/trigger_server.c:530,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/master/trigger_server.c:531,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/trigger_server.c:532,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/master/trigger_server.c:535,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/trigger_server.c:536,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/master/trigger_server.c:552,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/master/trigger_server.c:552,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/trigger_server.c:558,1
    - Dst: set_mail_conf_str
      Src: /src/postfix/postfix/src/master/trigger_server.c:562,1
    - Dst: mail_params_init
      Src: /src/postfix/postfix/src/master/trigger_server.c:568,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/master/trigger_server.c:569,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/master/trigger_server.c:569,1
    - Dst: mail_dict_init
      Src: /src/postfix/postfix/src/master/trigger_server.c:575,1
    - Dst: isatty
      Src: /src/postfix/postfix/src/master/trigger_server.c:580,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/master/trigger_server.c:581,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/trigger_server.c:582,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/master/trigger_server.c:588,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/trigger_server.c:589,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/trigger_server.c:616,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/trigger_server.c:619,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/trigger_server.c:622,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/trigger_server.c:625,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/trigger_server.c:628,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/trigger_server.c:635,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/trigger_server.c:640,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/trigger_server.c:645,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/trigger_server.c:649,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/trigger_server.c:652,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/trigger_server.c:653,1
    - Dst: bounce_client_init
      Src: /src/postfix/postfix/src/master/trigger_server.c:654,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/trigger_server.c:657,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/master/trigger_server.c:660,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/trigger_server.c:686,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/master/trigger_server.c:687,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/master/trigger_server.c:689,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/master/trigger_server.c:692,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/master/trigger_server.c:702,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/master/trigger_server.c:703,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/trigger_server.c:704,1
    - Dst: OCTAL_TO_UNSIGNED
      Src: /src/postfix/postfix/src/master/trigger_server.c:705,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/trigger_server.c:707,1
    - Dst: debug_process
      Src: /src/postfix/postfix/src/master/trigger_server.c:715,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/master/trigger_server.c:724,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/master/trigger_server.c:726,1
    - Dst: safe_open
      Src: /src/postfix/postfix/src/master/trigger_server.c:727,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/trigger_server.c:729,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/master/trigger_server.c:729,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/trigger_server.c:730,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/trigger_server.c:730,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/trigger_server.c:731,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/master/trigger_server.c:732,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/master/trigger_server.c:745,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/trigger_server.c:746,1
    - Dst: pre_init
      Src: /src/postfix/postfix/src/master/trigger_server.c:748,1
    - Dst: resolve_local_init
      Src: /src/postfix/postfix/src/master/trigger_server.c:753,1
    - Dst: tzset
      Src: /src/postfix/postfix/src/master/trigger_server.c:754,1
    - Dst: chroot_uid
      Src: /src/postfix/postfix/src/master/trigger_server.c:755,1
    - Dst: post_init
      Src: /src/postfix/postfix/src/master/trigger_server.c:761,1
    - Dst: read
      Src: /src/postfix/postfix/src/master/trigger_server.c:768,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/trigger_server.c:768,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/trigger_server.c:769,1
    - Dst: service
      Src: /src/postfix/postfix/src/master/trigger_server.c:770,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/master/trigger_server.c:771,1
    - Dst: trigger_server_exit
      Src: /src/postfix/postfix/src/master/trigger_server.c:772,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/trigger_server.c:782,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/master/trigger_server.c:784,1
    - Dst: CAST_INT_TO_VOID_PTR
      Src: /src/postfix/postfix/src/master/trigger_server.c:784,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/trigger_server.c:785,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/master/trigger_server.c:787,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/trigger_server.c:788,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/trigger_server.c:789,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/trigger_server.c:790,1
    - Dst: watchdog_create
      Src: /src/postfix/postfix/src/master/trigger_server.c:791,1
    - Dst: watchdog_stop
      Src: /src/postfix/postfix/src/master/trigger_server.c:799,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/master/trigger_server.c:800,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/trigger_server.c:800,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/trigger_server.c:802,1
    - Dst: watchdog_start
      Src: /src/postfix/postfix/src/master/trigger_server.c:804,1
    - Dst: loop
      Src: /src/postfix/postfix/src/master/trigger_server.c:805,1
    - Dst: event_loop
      Src: /src/postfix/postfix/src/master/trigger_server.c:806,1
    - Dst: trigger_server_exit
      Src: /src/postfix/postfix/src/master/trigger_server.c:808,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 216
    argCount: 3
    argNames:
    - argc
    - argv
    - service
    argTypes:
    - int
    - char**
    - TRIGGER_SERVER_FN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 413
    functionDepth: 5
    functionLinenumber: 413
    functionLinenumberEnd: 809
    functionName: trigger_server_main
    functionSourceFile: /src/postfix/postfix/src/master/trigger_server.c
    functionUses: 2
    functionsReached:
    - pre_init
    - split_nameval
    - read
    - event_loop
    - basename
    - resolve_local_init
    - msg_info
    - msg_vstream_init
    - close_on_exec
    - atoi
    - tzset
    - service
    - watchdog_stop
    - bounce_client_init
    - GETOPT
    - OCTAL_TO_UNSIGNED
    - mail_params_init
    - va_start
    - msg_panic
    - chroot_uid
    - maillog_client_init
    - va_arg
    - alldig
    - vstring_alloc
    - set_mail_conf_str
    - chdir
    - vstream_fflush
    - strcasecmp
    - watchdog_create
    - concatenate
    - vstring_str
    - getenv
    - myflock
    - loop
    - event_request_timer
    - debug_process
    - CAST_INT_TO_VOID_PTR
    - mail_task
    - mail_conf_suck
    - post_init
    - myfree
    - mail_conf_update
    - isatty
    - signal
    - vstring_free
    - va_end
    - mail_dict_init
    - event_enable_read
    - vstream_fileno
    - msg_fatal
    - trigger_server_exit
    - mystrdup
    - safe_open
    - watchdog_start
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN trigger_server_main(int argc, char **argv, TRIGGER_SERVER_FN
      service,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: MASTER_INET_ADDRLIST
    functionSourceFile: /src/postfix/postfix/src/master/master.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MASTER_INET_ADDRLIST(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: MASTER_INET_PORT
    functionSourceFile: /src/postfix/postfix/src/master/master.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MASTER_INET_PORT(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: MASTER_THROTTLED
    functionSourceFile: /src/postfix/postfix/src/master/master.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MASTER_THROTTLED(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: MASTER_MARKED_FOR_DELETION
    functionSourceFile: /src/postfix/postfix/src/master/master.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MASTER_MARKED_FOR_DELETION(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: MASTER_LISTENING
    functionSourceFile: /src/postfix/postfix/src/master/master.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MASTER_LISTENING(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - limit
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: MASTER_LIMIT_OK
    functionSourceFile: /src/postfix/postfix/src/master/master.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MASTER_LIMIT_OK(limit, count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mail_conf_flush
      Src: /src/postfix/postfix/src/master/master_vars.c:85,1
    - Dst: set_mail_conf_str
      Src: /src/postfix/postfix/src/master/master_vars.c:86,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/master/master_vars.c:87,1
    - Dst: get_mail_conf_str_table
      Src: /src/postfix/postfix/src/master/master_vars.c:88,1
    - Dst: get_mail_conf_time_table
      Src: /src/postfix/postfix/src/master/master_vars.c:89,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/master/master_vars.c:90,1
    - Dst: fset_master_ent
      Src: /src/postfix/postfix/src/master/master_vars.c:91,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/master_vars.c:92,1
    - Dst: master_str_watch
      Src: /src/postfix/postfix/src/master/master_vars.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 59
    functionDepth: 5
    functionLinenumber: 59
    functionLinenumberEnd: 98
    functionName: master_vars_init
    functionSourceFile: /src/postfix/postfix/src/master/master_vars.c
    functionUses: 1
    functionsReached:
    - fset_master_ent
    - set_mail_conf_str
    - myfree
    - master_str_watch
    - get_mail_conf_str_table
    - concatenate
    - get_mail_conf_time_table
    - mail_conf_flush
    - mail_conf_read
    linkageType: ''
    returnType: void
    signature: void master_vars_init(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/master_avail.c:92,1
    - Dst: MASTER_LIMIT_OK
      Src: /src/postfix/postfix/src/master/master_avail.c:112,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/master/master_avail.c:113,1
    - Dst: master_restart_service
      Src: /src/postfix/postfix/src/master/master_avail.c:115,1
    - Dst: master_spawn
      Src: /src/postfix/postfix/src/master/master_avail.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 120
    functionName: master_avail_event
    functionSourceFile: /src/postfix/postfix/src/master/master_avail.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - master_restart_service
    - master_spawn
    - event_time
    - MASTER_LIMIT_OK
    linkageType: ''
    returnType: void
    signature: void master_avail_event(int event, void *context)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_avail.c:143,1
    - Dst: MASTER_THROTTLED
      Src: /src/postfix/postfix/src/master/master_avail.c:145,1
    - Dst: MASTER_LIMIT_OK
      Src: /src/postfix/postfix/src/master/master_avail.c:147,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/master/master_avail.c:152,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_avail.c:155,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_avail.c:158,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_avail.c:160,1
    - Dst: MASTER_LISTENING
      Src: /src/postfix/postfix/src/master/master_avail.c:165,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_avail.c:167,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/master/master_avail.c:169,1
    - Dst: MASTER_LISTENING
      Src: /src/postfix/postfix/src/master/master_avail.c:172,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_avail.c:174,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/master/master_avail.c:176,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 1
    argNames:
    - serv
    argTypes:
    - MASTER_SERV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 179
    functionName: master_avail_listen
    functionSourceFile: /src/postfix/postfix/src/master/master_avail.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - MASTER_THROTTLED
    - event_enable_read
    - msg_info
    - event_time
    - event_disable_readwrite
    - MASTER_LISTENING
    - MASTER_LIMIT_OK
    linkageType: ''
    returnType: void
    signature: void master_avail_listen(MASTER_SERV *serv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: master_delete_children
      Src: /src/postfix/postfix/src/master/master_avail.c:187,1
    - Dst: MASTER_LISTENING
      Src: /src/postfix/postfix/src/master/master_avail.c:196,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/master/master_avail.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - serv
    argTypes:
    - MASTER_SERV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 201
    functionName: master_avail_cleanup
    functionSourceFile: /src/postfix/postfix/src/master/master_avail.c
    functionUses: 0
    functionsReached:
    - master_delete_children
    - MASTER_LISTENING
    - event_disable_readwrite
    linkageType: ''
    returnType: void
    signature: void master_avail_cleanup(MASTER_SERV *serv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_avail.c:220,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/master_avail.c:222,1
    - Dst: master_avail_listen
      Src: /src/postfix/postfix/src/master/master_avail.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - serv
    - proc
    argTypes:
    - MASTER_SERV*
    - MASTER_PROC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 226
    functionName: master_avail_more
    functionSourceFile: /src/postfix/postfix/src/master/master_avail.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - master_avail_listen
    - msg_info
    linkageType: ''
    returnType: void
    signature: void master_avail_more(MASTER_SERV *serv, MASTER_PROC *proc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_avail.c:245,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/master_avail.c:247,1
    - Dst: master_avail_listen
      Src: /src/postfix/postfix/src/master/master_avail.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - serv
    - proc
    argTypes:
    - MASTER_SERV*
    - MASTER_PROC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 251
    functionName: master_avail_less
    functionSourceFile: /src/postfix/postfix/src/master/master_avail.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - master_avail_listen
    - msg_info
    linkageType: ''
    returnType: void
    signature: void master_avail_less(MASTER_SERV *serv, MASTER_PROC *proc)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/postfix/postfix/src/master/master_status.c:81,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_status.c:84,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/master_status.c:88,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_status.c:92,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_status.c:99,1
    - Dst: binhash_find
      Src: /src/postfix/postfix/src/master/master_status.c:110,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_status.c:113,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_status.c:117,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/master_status.c:122,1
    - Dst: master_avail_more
      Src: /src/postfix/postfix/src/master/master_status.c:136,1
    - Dst: master_avail_less
      Src: /src/postfix/postfix/src/master/master_status.c:139,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_status.c:142,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 146
    functionName: master_status_event
    functionSourceFile: /src/postfix/postfix/src/master/master_status.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - master_avail_less
    - msg_warn
    - binhash_find
    - read
    - msg_info
    - master_avail_more
    linkageType: ''
    returnType: void
    signature: void master_status_event(int event, void *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/master_status.c:158,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_status.c:160,1
    - Dst: duplex_pipe
      Src: /src/postfix/postfix/src/master/master_status.c:167,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_status.c:168,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/master/master_status.c:169,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/master_status.c:170,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/master_status.c:171,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/master/master_status.c:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - serv
    argTypes:
    - MASTER_SERV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 173
    functionName: master_status_init
    functionSourceFile: /src/postfix/postfix/src/master/master_status.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - duplex_pipe
    - event_enable_read
    - msg_info
    - close_on_exec
    - non_blocking
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void master_status_init(MASTER_SERV *serv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/master_status.c:185,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_status.c:187,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/master/master_status.c:192,1
    - Dst: close
      Src: /src/postfix/postfix/src/master/master_status.c:193,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_status.c:194,1
    - Dst: close
      Src: /src/postfix/postfix/src/master/master_status.c:195,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_status.c:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - serv
    argTypes:
    - MASTER_SERV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 198
    functionName: master_status_cleanup
    functionSourceFile: /src/postfix/postfix/src/master/master_status.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_warn
    - close
    - msg_info
    - event_disable_readwrite
    linkageType: ''
    returnType: void
    signature: void master_status_cleanup(MASTER_SERV *serv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/postfix/postfix/src/master/master_flow.c:25,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_flow.c:26,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/master/master_flow.c:28,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/master/master_flow.c:29,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/master_flow.c:31,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/master_flow.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: master_flow_init
    functionSourceFile: /src/postfix/postfix/src/master/master_flow.c
    functionUses: 1
    functionsReached:
    - close_on_exec
    - msg_fatal
    - non_blocking
    - pipe
    linkageType: ''
    returnType: void
    signature: void master_flow_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: CA_MAIL_SERVER_INT_TABLE
    functionSourceFile: /src/postfix/postfix/src/master/mail_server.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_MAIL_SERVER_INT_TABLE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: CA_MAIL_SERVER_STR_TABLE
    functionSourceFile: /src/postfix/postfix/src/master/mail_server.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_MAIL_SERVER_STR_TABLE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: CA_MAIL_SERVER_BOOL_TABLE
    functionSourceFile: /src/postfix/postfix/src/master/mail_server.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_MAIL_SERVER_BOOL_TABLE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: CA_MAIL_SERVER_TIME_TABLE
    functionSourceFile: /src/postfix/postfix/src/master/mail_server.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_MAIL_SERVER_TIME_TABLE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: CA_MAIL_SERVER_RAW_TABLE
    functionSourceFile: /src/postfix/postfix/src/master/mail_server.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_MAIL_SERVER_RAW_TABLE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: CA_MAIL_SERVER_NINT_TABLE
    functionSourceFile: /src/postfix/postfix/src/master/mail_server.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_MAIL_SERVER_NINT_TABLE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: CA_MAIL_SERVER_NBOOL_TABLE
    functionSourceFile: /src/postfix/postfix/src/master/mail_server.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_MAIL_SERVER_NBOOL_TABLE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: CA_MAIL_SERVER_LONG_TABLE
    functionSourceFile: /src/postfix/postfix/src/master/mail_server.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_MAIL_SERVER_LONG_TABLE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: CA_MAIL_SERVER_PRE_INIT
    functionSourceFile: /src/postfix/postfix/src/master/mail_server.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_MAIL_SERVER_PRE_INIT(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: CA_MAIL_SERVER_POST_INIT
    functionSourceFile: /src/postfix/postfix/src/master/mail_server.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_MAIL_SERVER_POST_INIT(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: CA_MAIL_SERVER_LOOP
    functionSourceFile: /src/postfix/postfix/src/master/mail_server.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_MAIL_SERVER_LOOP(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: CA_MAIL_SERVER_EXIT
    functionSourceFile: /src/postfix/postfix/src/master/mail_server.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_MAIL_SERVER_EXIT(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: CA_MAIL_SERVER_PRE_ACCEPT
    functionSourceFile: /src/postfix/postfix/src/master/mail_server.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_MAIL_SERVER_PRE_ACCEPT(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: CA_MAIL_SERVER_POST_ACCEPT
    functionSourceFile: /src/postfix/postfix/src/master/mail_server.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_MAIL_SERVER_POST_ACCEPT(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: CA_MAIL_SERVER_PRE_DISCONN
    functionSourceFile: /src/postfix/postfix/src/master/mail_server.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_MAIL_SERVER_PRE_DISCONN(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: CA_MAIL_SERVER_WATCHDOG
    functionSourceFile: /src/postfix/postfix/src/master/mail_server.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_MAIL_SERVER_WATCHDOG(v)
  - 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: CA_MAIL_SERVER_SLOW_EXIT
    functionSourceFile: /src/postfix/postfix/src/master/mail_server.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_MAIL_SERVER_SLOW_EXIT(v)
  - 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: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: CA_MAIL_SERVER_BOUNCE_INIT
    functionSourceFile: /src/postfix/postfix/src/master/mail_server.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_MAIL_SERVER_BOUNCE_INIT(v, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: master_listen_init
      Src: /src/postfix/postfix/src/master/master_service.c:71,1
    - Dst: master_avail_listen
      Src: /src/postfix/postfix/src/master/master_service.c:72,1
    - Dst: master_status_init
      Src: /src/postfix/postfix/src/master/master_service.c:73,1
    - Dst: master_wakeup_init
      Src: /src/postfix/postfix/src/master/master_service.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - serv
    argTypes:
    - MASTER_SERV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: master_start_service
    functionSourceFile: /src/postfix/postfix/src/master/master_service.c
    functionUses: 0
    functionsReached:
    - master_avail_listen
    - master_listen_init
    - master_status_init
    - master_wakeup_init
    linkageType: ''
    returnType: void
    signature: void master_start_service(MASTER_SERV *serv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: master_wakeup_cleanup
      Src: /src/postfix/postfix/src/master/master_service.c:85,1
    - Dst: master_status_cleanup
      Src: /src/postfix/postfix/src/master/master_service.c:86,1
    - Dst: master_avail_cleanup
      Src: /src/postfix/postfix/src/master/master_service.c:87,1
    - Dst: master_listen_cleanup
      Src: /src/postfix/postfix/src/master/master_service.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - serv
    argTypes:
    - MASTER_SERV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: master_stop_service
    functionSourceFile: /src/postfix/postfix/src/master/master_service.c
    functionUses: 0
    functionsReached:
    - master_listen_cleanup
    - master_avail_cleanup
    - master_wakeup_cleanup
    - master_status_cleanup
    linkageType: ''
    returnType: void
    signature: void master_stop_service(MASTER_SERV *serv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: master_wakeup_cleanup
      Src: /src/postfix/postfix/src/master/master_service.c:99,1
    - Dst: master_status_cleanup
      Src: /src/postfix/postfix/src/master/master_service.c:100,1
    - Dst: master_status_init
      Src: /src/postfix/postfix/src/master/master_service.c:105,1
    - Dst: master_wakeup_init
      Src: /src/postfix/postfix/src/master/master_service.c:106,1
    - Dst: master_avail_listen
      Src: /src/postfix/postfix/src/master/master_service.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - serv
    - conf_reload
    argTypes:
    - MASTER_SERV*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: master_restart_service
    functionSourceFile: /src/postfix/postfix/src/master/master_service.c
    functionUses: 1
    functionsReached:
    - master_wakeup_init
    - master_wakeup_cleanup
    - master_status_init
    - master_avail_listen
    - master_status_cleanup
    linkageType: ''
    returnType: void
    signature: void master_restart_service(MASTER_SERV *serv, int conf_reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: master_unthrottle
      Src: /src/postfix/postfix/src/master/master_spawn.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused_event
    - ptr
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: master_unthrottle_wrapper
    functionSourceFile: /src/postfix/postfix/src/master/master_spawn.c
    functionUses: 0
    functionsReached:
    - master_unthrottle
    linkageType: ''
    returnType: void
    signature: void master_unthrottle_wrapper(int unused_event, void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/master/master_spawn.c:110,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_spawn.c:112,1
    - Dst: master_avail_listen
      Src: /src/postfix/postfix/src/master/master_spawn.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - serv
    argTypes:
    - MASTER_SERV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: master_unthrottle
    functionSourceFile: /src/postfix/postfix/src/master/master_spawn.c
    functionUses: 1
    functionsReached:
    - master_avail_listen
    - event_cancel_timer
    - msg_info
    linkageType: ''
    returnType: void
    signature: void master_unthrottle(MASTER_SERV *serv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/master_spawn.c:129,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_spawn.c:132,1
    - Dst: master_avail_listen
      Src: /src/postfix/postfix/src/master/master_spawn.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - serv
    argTypes:
    - MASTER_SERV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 135
    functionName: master_throttle
    functionSourceFile: /src/postfix/postfix/src/master/master_spawn.c
    functionUses: 0
    functionsReached:
    - master_avail_listen
    - event_request_timer
    - msg_info
    linkageType: ''
    returnType: void
    signature: void master_throttle(MASTER_SERV *serv)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: binhash_create
      Src: /src/postfix/postfix/src/master/master_spawn.c:149,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/master/master_spawn.c:151,1
    - Dst: MASTER_LIMIT_OK
      Src: /src/postfix/postfix/src/master/master_spawn.c:157,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/master_spawn.c:158,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/master_spawn.c:160,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/master_spawn.c:162,1
    - Dst: fork
      Src: /src/postfix/postfix/src/master/master_spawn.c:169,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_spawn.c:176,1
    - Dst: master_throttle
      Src: /src/postfix/postfix/src/master/master_spawn.c:177,1
    - Dst: msg_cleanup
      Src: /src/postfix/postfix/src/master/master_spawn.c:191,1
    - Dst: closelog
      Src: /src/postfix/postfix/src/master/master_spawn.c:192,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_spawn.c:195,1
    - Dst: DUP2
      Src: /src/postfix/postfix/src/master/master_spawn.c:197,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_spawn.c:198,1
    - Dst: close
      Src: /src/postfix/postfix/src/master/master_spawn.c:199,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_spawn.c:200,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_spawn.c:203,1
    - Dst: DUP2
      Src: /src/postfix/postfix/src/master/master_spawn.c:205,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_spawn.c:206,1
    - Dst: close
      Src: /src/postfix/postfix/src/master/master_spawn.c:207,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_spawn.c:208,1
    - Dst: close
      Src: /src/postfix/postfix/src/master/master_spawn.c:210,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_spawn.c:212,1
    - Dst: DUP2
      Src: /src/postfix/postfix/src/master/master_spawn.c:213,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_spawn.c:214,1
    - Dst: close
      Src: /src/postfix/postfix/src/master/master_spawn.c:215,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_spawn.c:219,1
    - Dst: DUP2
      Src: /src/postfix/postfix/src/master/master_spawn.c:220,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_spawn.c:221,1
    - Dst: close
      Src: /src/postfix/postfix/src/master/master_spawn.c:223,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/master/master_spawn.c:225,1
    - Dst: putenv
      Src: /src/postfix/postfix/src/master/master_spawn.c:226,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/master/master_spawn.c:226,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_spawn.c:227,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/master/master_spawn.c:228,1
    - Dst: execvp
      Src: /src/postfix/postfix/src/master/master_spawn.c:231,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_spawn.c:232,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_spawn.c:243,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/master/master_spawn.c:244,1
    - Dst: binhash_enter
      Src: /src/postfix/postfix/src/master/master_spawn.c:250,1
    - Dst: master_avail_more
      Src: /src/postfix/postfix/src/master/master_spawn.c:253,1
    - Dst: master_wakeup_init
      Src: /src/postfix/postfix/src/master/master_spawn.c:256,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_spawn.c:258,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 72
    argCount: 1
    argNames:
    - serv
    argTypes:
    - MASTER_SERV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 262
    functionName: master_spawn
    functionSourceFile: /src/postfix/postfix/src/master/master_spawn.c
    functionUses: 1
    functionsReached:
    - vstring_sprintf
    - master_wakeup_init
    - fork
    - DUP2
    - putenv
    - msg_info
    - msg_panic
    - closelog
    - vstring_alloc
    - master_avail_more
    - master_throttle
    - mymalloc
    - vstring_str
    - close
    - binhash_enter
    - execvp
    - MASTER_LIMIT_OK
    - msg_cleanup
    - msg_warn
    - event_time
    - msg_fatal
    - binhash_create
    linkageType: ''
    returnType: void
    signature: void master_spawn(MASTER_SERV *serv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: master_avail_less
      Src: /src/postfix/postfix/src/master/master_spawn.c:278,1
    - Dst: master_avail_listen
      Src: /src/postfix/postfix/src/master/master_spawn.c:280,1
    - Dst: binhash_delete
      Src: /src/postfix/postfix/src/master/master_spawn.c:281,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/master_spawn.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - proc
    argTypes:
    - MASTER_PROC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 284
    functionName: master_delete_child
    functionSourceFile: /src/postfix/postfix/src/master/master_spawn.c
    functionUses: 0
    functionsReached:
    - master_avail_listen
    - master_avail_less
    - binhash_delete
    - myfree
    linkageType: ''
    returnType: void
    signature: void master_delete_child(MASTER_PROC *proc)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: waitpid
      Src: /src/postfix/postfix/src/master/master_spawn.c:300,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_spawn.c:302,1
    - Dst: binhash_find
      Src: /src/postfix/postfix/src/master/master_spawn.c:303,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/master_spawn.c:307,1
    - Dst: NORMAL_EXIT_STATUS
      Src: /src/postfix/postfix/src/master/master_spawn.c:325,1
    - Dst: WIFSTOPPED
      Src: /src/postfix/postfix/src/master/master_spawn.c:326,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_spawn.c:327,1
    - Dst: WSTOPSIG
      Src: /src/postfix/postfix/src/master/master_spawn.c:328,1
    - Dst: WIFEXITED
      Src: /src/postfix/postfix/src/master/master_spawn.c:331,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_spawn.c:332,1
    - Dst: WEXITSTATUS
      Src: /src/postfix/postfix/src/master/master_spawn.c:333,1
    - Dst: WIFSIGNALED
      Src: /src/postfix/postfix/src/master/master_spawn.c:334,1
    - Dst: MASTER_SENT_SIGNAL
      Src: /src/postfix/postfix/src/master/master_spawn.c:334,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_spawn.c:335,1
    - Dst: WTERMSIG
      Src: /src/postfix/postfix/src/master/master_spawn.c:336,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_spawn.c:340,1
    - Dst: master_throttle
      Src: /src/postfix/postfix/src/master/master_spawn.c:341,1
    - Dst: master_delete_child
      Src: /src/postfix/postfix/src/master/master_spawn.c:344,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 288
    functionDepth: 4
    functionLinenumber: 288
    functionLinenumberEnd: 346
    functionName: master_reap_child
    functionSourceFile: /src/postfix/postfix/src/master/master_spawn.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - WTERMSIG
    - waitpid
    - msg_warn
    - WIFEXITED
    - WEXITSTATUS
    - WIFSTOPPED
    - binhash_find
    - MASTER_SENT_SIGNAL
    - msg_info
    - master_throttle
    - NORMAL_EXIT_STATUS
    - WSTOPSIG
    - master_delete_child
    - WIFSIGNALED
    linkageType: ''
    returnType: void
    signature: void master_reap_child(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - serv
    - ','
    - status
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: MASTER_SENT_SIGNAL
    functionSourceFile: /src/postfix/postfix/src/master/master_spawn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MASTER_SENT_SIGNAL(serv, status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: master_throttle
      Src: /src/postfix/postfix/src/master/master_spawn.c:361,1
    - Dst: binhash_list
      Src: /src/postfix/postfix/src/master/master_spawn.c:362,1
    - Dst: kill
      Src: /src/postfix/postfix/src/master/master_spawn.c:365,1
    - Dst: master_reap_child
      Src: /src/postfix/postfix/src/master/master_spawn.c:368,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/master_spawn.c:369,1
    - Dst: master_unthrottle
      Src: /src/postfix/postfix/src/master/master_spawn.c:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - serv
    argTypes:
    - MASTER_SERV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 350
    functionDepth: 5
    functionLinenumber: 350
    functionLinenumberEnd: 371
    functionName: master_delete_children
    functionSourceFile: /src/postfix/postfix/src/master/master_spawn.c
    functionUses: 1
    functionsReached:
    - kill
    - myfree
    - master_throttle
    - master_reap_child
    - binhash_list
    - master_unthrottle
    linkageType: ''
    returnType: void
    signature: void master_delete_children(MASTER_SERV *serv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/master/master_watch.c:89,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_watch.c:91,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_watch.c:92,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_watch.c:94,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/master_watch.c:96,1
    - Dst: MASTER_STR_WATCH*::notify
      Src: /src/postfix/postfix/src/master/master_watch.c:108,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/master/master_watch.c:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - str_watch_table
    argTypes:
    - MASTER_STR_WATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 112
    functionName: master_str_watch
    functionSourceFile: /src/postfix/postfix/src/master/master_watch.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - myfree
    - MASTER_STR_WATCH*::notify
    - strcmp
    - mystrdup
    linkageType: ''
    returnType: void
    signature: void master_str_watch(const MASTER_STR_WATCH *str_watch_table)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_watch.c:130,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_watch.c:131,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_watch.c:133,1
    - Dst: MASTER_INT_WATCH*::notify
      Src: /src/postfix/postfix/src/master/master_watch.c:146,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - int_watch_table
    argTypes:
    - MASTER_INT_WATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 151
    functionName: master_int_watch
    functionSourceFile: /src/postfix/postfix/src/master/master_watch.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - MASTER_INT_WATCH*::notify
    linkageType: ''
    returnType: void
    signature: void master_int_watch(MASTER_INT_WATCH *int_watch_table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: master_config
      Src: /src/postfix/postfix/src/master/master_conf.c:73,1
    - Dst: master_stop_service
      Src: /src/postfix/postfix/src/master/master_conf.c:82,1
    - Dst: free_master_ent
      Src: /src/postfix/postfix/src/master/master_conf.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 88
    functionName: master_refresh
    functionSourceFile: /src/postfix/postfix/src/master/master_conf.c
    functionUses: 1
    functionsReached:
    - master_stop_service
    - master_config
    - free_master_ent
    linkageType: ''
    returnType: void
    signature: void master_refresh(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: set_master_ent
      Src: /src/postfix/postfix/src/master/master_conf.c:106,1
    - Dst: get_master_ent
      Src: /src/postfix/postfix/src/master/master_conf.c:107,1
    - Dst: print_master_ent
      Src: /src/postfix/postfix/src/master/master_conf.c:109,1
    - Dst: STR_SAME
      Src: /src/postfix/postfix/src/master/master_conf.c:111,1
    - Dst: master_start_service
      Src: /src/postfix/postfix/src/master/master_conf.c:121,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_conf.c:132,1
    - Dst: master_restart_service
      Src: /src/postfix/postfix/src/master/master_conf.c:147,1
    - Dst: free_master_ent
      Src: /src/postfix/postfix/src/master/master_conf.c:148,1
    - Dst: end_master_ent
      Src: /src/postfix/postfix/src/master/master_conf.c:151,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 152
    functionName: master_config
    functionSourceFile: /src/postfix/postfix/src/master/master_conf.c
    functionUses: 2
    functionsReached:
    - get_master_ent
    - master_restart_service
    - msg_warn
    - master_start_service
    - set_master_ent
    - free_master_ent
    - end_master_ent
    - print_master_ent
    - STR_SAME
    linkageType: ''
    returnType: void
    signature: void master_config(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: SWAP
    functionSourceFile: /src/postfix/postfix/src/master/master_conf.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP(type,a,b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/master_ent.c:125,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/master/master_ent.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: fset_master_ent
    functionSourceFile: /src/postfix/postfix/src/master/master_ent.c
    functionUses: 1
    functionsReached:
    - myfree
    - mystrdup
    linkageType: ''
    returnType: void
    signature: void fset_master_ent(char *path)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/master_ent.c:137,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/master_ent.c:139,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/master/master_ent.c:140,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_ent.c:141,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/master_ent.c:144,1
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/master/master_ent.c:145,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_ent.c:146,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_ent.c:148,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/master/master_ent.c:149,1
    - Dst: match_service_init
      Src: /src/postfix/postfix/src/master/master_ent.c:151,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/master_ent.c:152,1
    - Dst: match_service_init
      Src: /src/postfix/postfix/src/master/master_ent.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 155
    functionName: set_master_ent
    functionSourceFile: /src/postfix/postfix/src/master/master_ent.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - inet_proto_info
    - msg_warn
    - myfree
    - match_service_init
    - concatenate
    - msg_fatal
    - vstream_fopen
    linkageType: ''
    returnType: void
    signature: void set_master_ent()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/master_ent.c:164,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/master/master_ent.c:165,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_ent.c:166,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/master_ent.c:169,1
    - Dst: match_service_free
      Src: /src/postfix/postfix/src/master/master_ent.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 172
    functionName: end_master_ent
    functionSourceFile: /src/postfix/postfix/src/master/master_ent.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - msg_fatal
    - match_service_free
    - vstream_fclose
    linkageType: ''
    returnType: void
    signature: void end_master_ent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/master/master_ent.c:181,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/master/master_ent.c:182,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/master/master_ent.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: master_conf_context
    functionSourceFile: /src/postfix/postfix/src/master/master_ent.c
    functionUses: 0
    functionsReached:
    - vstring_str
    - vstring_sprintf
    - vstring_alloc
    linkageType: ''
    returnType: char
    signature: char *master_conf_context(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/master/master_ent.c:191,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/master_ent.c:195,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/master/master_ent.c:197,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/master/master_ent.c:198,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/master/master_ent.c:199,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_ent.c:200,1
    - Dst: master_conf_context
      Src: /src/postfix/postfix/src/master/master_ent.c:200,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/master/master_ent.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 201
    functionName: fatal_with_context
    functionSourceFile: /src/postfix/postfix/src/master/master_ent.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - va_start
    - va_end
    - vstring_str
    - vstring_vsprintf
    - vstring_alloc
    - msg_fatal
    - master_conf_context
    linkageType: ''
    returnType: void
    signature: void fatal_with_context(char *format,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fatal_with_context
      Src: /src/postfix/postfix/src/master/master_ent.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: fatal_invalid_field
    functionSourceFile: /src/postfix/postfix/src/master/master_ent.c
    functionUses: 0
    functionsReached:
    - fatal_with_context
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN fatal_invalid_field(char *name, char *value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/master/master_ent.c:216,1
    - Dst: fatal_with_context
      Src: /src/postfix/postfix/src/master/master_ent.c:217,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/master/master_ent.c:218,1
    - Dst: fatal_with_context
      Src: /src/postfix/postfix/src/master/master_ent.c:220,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/master/master_ent.c:221,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_ent.c:222,1
    - Dst: master_conf_context
      Src: /src/postfix/postfix/src/master/master_ent.c:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - bufp
    - name
    - def_val
    argTypes:
    - char**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 228
    functionName: get_str_ent
    functionSourceFile: /src/postfix/postfix/src/master/master_ent.c
    functionUses: 0
    functionsReached:
    - fatal_with_context
    - msg_info
    - strcmp
    - mystrtok
    - master_conf_context
    linkageType: ''
    returnType: char
    signature: char *get_str_ent(char **bufp, char *name, char *def_val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_str_ent
      Src: /src/postfix/postfix/src/master/master_ent.c:236,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/master/master_ent.c:237,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/master/master_ent.c:239,1
    - Dst: fatal_invalid_field
      Src: /src/postfix/postfix/src/master/master_ent.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - bufp
    - name
    - def_val
    argTypes:
    - char**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 232
    functionDepth: 4
    functionLinenumber: 232
    functionLinenumberEnd: 245
    functionName: get_bool_ent
    functionSourceFile: /src/postfix/postfix/src/master/master_ent.c
    functionUses: 0
    functionsReached:
    - get_str_ent
    - fatal_invalid_field
    - strcmp
    linkageType: ''
    returnType: int
    signature: int get_bool_ent(char **bufp, char *name, char *def_val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_str_ent
      Src: /src/postfix/postfix/src/master/master_ent.c:254,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/master/master_ent.c:255,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/master/master_ent.c:255,1
    - Dst: fatal_invalid_field
      Src: /src/postfix/postfix/src/master/master_ent.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - bufp
    - name
    - def_val
    - min_val
    argTypes:
    - char**
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 4
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: get_int_ent
    functionSourceFile: /src/postfix/postfix/src/master/master_ent.c
    functionUses: 0
    functionsReached:
    - get_str_ent
    - atoi
    - fatal_invalid_field
    - ISDIGIT
    linkageType: ''
    returnType: int
    signature: int get_int_ent(char **bufp, char *name, char *def_val, int min_val)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/master/master_ent.c:264,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/master/master_ent.c:265,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/master_ent.c:284,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/master_ent.c:286,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/master/master_ent.c:301,1
    - Dst: readllines
      Src: /src/postfix/postfix/src/master/master_ent.c:307,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/master/master_ent.c:308,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/master/master_ent.c:309,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/master/master_ent.c:312,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/master/master_ent.c:313,1
    - Dst: get_str_ent
      Src: /src/postfix/postfix/src/master/master_ent.c:316,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/master/master_ent.c:317,1
    - Dst: match_service_match
      Src: /src/postfix/postfix/src/master/master_ent.c:318,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/master/master_ent.c:318,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/master/master_ent.c:326,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/master/master_ent.c:342,1
    - Dst: STR_SAME
      Src: /src/postfix/postfix/src/master/master_ent.c:349,1
    - Dst: STR_SAME
      Src: /src/postfix/postfix/src/master/master_ent.c:350,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_ent.c:351,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_ent.c:353,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/master/master_ent.c:357,1
    - Dst: host_port
      Src: /src/postfix/postfix/src/master/master_ent.c:358,1
    - Dst: fatal_with_context
      Src: /src/postfix/postfix/src/master/master_ent.c:359,1
    - Dst: MASTER_INET_ADDRLIST
      Src: /src/postfix/postfix/src/master/master_ent.c:362,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/master/master_ent.c:363,1
    - Dst: MASTER_INET_ADDRLIST
      Src: /src/postfix/postfix/src/master/master_ent.c:363,1
    - Dst: inet_addr_list_init
      Src: /src/postfix/postfix/src/master/master_ent.c:364,1
    - Dst: MASTER_INET_ADDRLIST
      Src: /src/postfix/postfix/src/master/master_ent.c:364,1
    - Dst: inet_addr_host
      Src: /src/postfix/postfix/src/master/master_ent.c:365,1
    - Dst: MASTER_INET_ADDRLIST
      Src: /src/postfix/postfix/src/master/master_ent.c:365,1
    - Dst: fatal_with_context
      Src: /src/postfix/postfix/src/master/master_ent.c:366,1
    - Dst: inet_addr_list_uniq
      Src: /src/postfix/postfix/src/master/master_ent.c:367,1
    - Dst: MASTER_INET_ADDRLIST
      Src: /src/postfix/postfix/src/master/master_ent.c:367,1
    - Dst: MASTER_INET_ADDRLIST
      Src: /src/postfix/postfix/src/master/master_ent.c:368,1
    - Dst: MASTER_INET_ADDRLIST
      Src: /src/postfix/postfix/src/master/master_ent.c:370,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/master/master_ent.c:371,1
    - Dst: own_inet_addr_list
      Src: /src/postfix/postfix/src/master/master_ent.c:372,1
    - Dst: wildcard_inet_addr_list
      Src: /src/postfix/postfix/src/master/master_ent.c:373,1
    - Dst: MASTER_INET_ADDRLIST
      Src: /src/postfix/postfix/src/master/master_ent.c:374,1
    - Dst: fatal_with_context
      Src: /src/postfix/postfix/src/master/master_ent.c:375,1
    - Dst: inet_addr_list_uniq
      Src: /src/postfix/postfix/src/master/master_ent.c:378,1
    - Dst: MASTER_INET_ADDRLIST
      Src: /src/postfix/postfix/src/master/master_ent.c:378,1
    - Dst: MASTER_INET_ADDRLIST
      Src: /src/postfix/postfix/src/master/master_ent.c:379,1
    - Dst: MASTER_INET_PORT
      Src: /src/postfix/postfix/src/master/master_ent.c:381,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/master/master_ent.c:381,1
    - Dst: MASTER_INET_ADDRLIST
      Src: /src/postfix/postfix/src/master/master_ent.c:383,1
    - Dst: sock_addr_in_loopback
      Src: /src/postfix/postfix/src/master/master_ent.c:387,1
    - Dst: SOCK_ADDR_PTR
      Src: /src/postfix/postfix/src/master/master_ent.c:387,1
    - Dst: MASTER_INET_ADDRLIST
      Src: /src/postfix/postfix/src/master/master_ent.c:387,1
    - Dst: STR_SAME
      Src: /src/postfix/postfix/src/master/master_ent.c:390,1
    - Dst: STR_SAME
      Src: /src/postfix/postfix/src/master/master_ent.c:394,1
    - Dst: STR_SAME
      Src: /src/postfix/postfix/src/master/master_ent.c:398,1
    - Dst: STR_SAME
      Src: /src/postfix/postfix/src/master/master_ent.c:403,1
    - Dst: fatal_with_context
      Src: /src/postfix/postfix/src/master/master_ent.c:409,1
    - Dst: get_bool_ent
      Src: /src/postfix/postfix/src/master/master_ent.c:415,1
    - Dst: fatal_with_context
      Src: /src/postfix/postfix/src/master/master_ent.c:427,1
    - Dst: hostaddr_to_sockaddr
      Src: /src/postfix/postfix/src/master/master_ent.c:436,1
    - Dst: SOCKADDR_TO_HOSTADDR
      Src: /src/postfix/postfix/src/master/master_ent.c:437,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/master/master_ent.c:440,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/master/master_ent.c:442,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/master/master_ent.c:443,1
    - Dst: hostaddr_to_sockaddr
      Src: /src/postfix/postfix/src/master/master_ent.c:446,1
    - Dst: SOCKADDR_TO_HOSTADDR
      Src: /src/postfix/postfix/src/master/master_ent.c:447,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/master/master_ent.c:449,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/master/master_ent.c:451,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/master/master_ent.c:452,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/master/master_ent.c:456,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/master_ent.c:457,1
    - Dst: mail_pathname
      Src: /src/postfix/postfix/src/master/master_ent.c:459,1
    - Dst: mail_pathname
      Src: /src/postfix/postfix/src/master/master_ent.c:462,1
    - Dst: mail_pathname
      Src: /src/postfix/postfix/src/master/master_ent.c:465,1
    - Dst: mail_pathname
      Src: /src/postfix/postfix/src/master/master_ent.c:469,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/master_ent.c:473,1
    - Dst: fatal_with_context
      Src: /src/postfix/postfix/src/master/master_ent.c:481,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/master/master_ent.c:483,1
    - Dst: get_bool_ent
      Src: /src/postfix/postfix/src/master/master_ent.c:491,1
    - Dst: get_bool_ent
      Src: /src/postfix/postfix/src/master/master_ent.c:498,1
    - Dst: compat_level_from_string
      Src: /src/postfix/postfix/src/master/master_ent.c:499,1
    - Dst: get_int_ent
      Src: /src/postfix/postfix/src/master/master_ent.c:508,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/master/master_ent.c:520,1
    - Dst: get_int_ent
      Src: /src/postfix/postfix/src/master/master_ent.c:521,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/master/master_ent.c:521,1
    - Dst: get_str_ent
      Src: /src/postfix/postfix/src/master/master_ent.c:526,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/master/master_ent.c:527,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/master/master_ent.c:554,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/master/master_ent.c:555,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/master/master_ent.c:557,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/master/master_ent.c:559,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/master/master_ent.c:560,1
    - Dst: basename
      Src: /src/postfix/postfix/src/master/master_ent.c:560,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/master/master_ent.c:561,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/master/master_ent.c:562,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/master/master_ent.c:564,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/master/master_ent.c:566,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/master/master_ent.c:568,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/master/master_ent.c:570,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/master/master_ent.c:572,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/master/master_ent.c:580,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/master/master_ent.c:581,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/master/master_ent.c:581,1
    - Dst: mystrtokq
      Src: /src/postfix/postfix/src/master/master_ent.c:583,1
    - Dst: extpar
      Src: /src/postfix/postfix/src/master/master_ent.c:585,1
    - Dst: fatal_with_context
      Src: /src/postfix/postfix/src/master/master_ent.c:586,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/master/master_ent.c:587,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/master/master_ent.c:589,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/master/master_ent.c:594,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/master/master_ent.c:595,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 170
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 262
    functionDepth: 5
    functionLinenumber: 262
    functionLinenumberEnd: 597
    functionName: get_master_ent
    functionSourceFile: /src/postfix/postfix/src/master/master_ent.c
    functionUses: 1
    functionsReached:
    - mail_pathname
    - vstring_sprintf
    - fatal_with_context
    - SOCK_ADDR_PTR
    - basename
    - get_str_ent
    - argv_alloc
    - match_service_match
    - get_int_ent
    - STR_SAME
    - msg_panic
    - argv_terminate
    - inet_addr_list_uniq
    - vstring_alloc
    - inet_addr_list_init
    - MASTER_INET_PORT
    - strcasecmp
    - readllines
    - get_bool_ent
    - mystrtok
    - mymalloc
    - concatenate
    - vstring_str
    - hostaddr_to_sockaddr
    - extpar
    - inet_addr_host
    - compat_level_from_string
    - myfree
    - vstring_free
    - freeaddrinfo
    - sock_addr_in_loopback
    - msg_warn
    - MASTER_INET_ADDRLIST
    - wildcard_inet_addr_list
    - strcmp
    - argv_add
    - mystrtokq
    - SOCKADDR_TO_HOSTADDR
    - own_inet_addr_list
    - host_port
    - mystrdup
    linkageType: ''
    returnType: MASTER_SERV
    signature: MASTER_SERV *get_master_ent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_ent.c:605,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_ent.c:606,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_ent.c:607,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_ent.c:608,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_ent.c:617,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_ent.c:618,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_ent.c:619,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_ent.c:620,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_ent.c:622,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_ent.c:623,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_ent.c:624,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_ent.c:625,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_ent.c:626,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_ent.c:627,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_ent.c:628,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_ent.c:629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - serv
    argTypes:
    - MASTER_SERV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 630
    functionName: print_master_ent
    functionSourceFile: /src/postfix/postfix/src/master/master_ent.c
    functionUses: 1
    functionsReached:
    - msg_info
    linkageType: ''
    returnType: void
    signature: void print_master_ent(MASTER_SERV *serv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inet_addr_list_free
      Src: /src/postfix/postfix/src/master/master_ent.c:641,1
    - Dst: MASTER_INET_ADDRLIST
      Src: /src/postfix/postfix/src/master/master_ent.c:641,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/master_ent.c:642,1
    - Dst: MASTER_INET_ADDRLIST
      Src: /src/postfix/postfix/src/master/master_ent.c:642,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/master_ent.c:645,1
    - Dst: MASTER_INET_PORT
      Src: /src/postfix/postfix/src/master/master_ent.c:645,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/master_ent.c:646,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/master_ent.c:647,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/master_ent.c:648,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/master/master_ent.c:649,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/master_ent.c:650,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/master_ent.c:651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - serv
    argTypes:
    - MASTER_SERV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 652
    functionName: free_master_ent
    functionSourceFile: /src/postfix/postfix/src/master/master_ent.c
    functionUses: 2
    functionsReached:
    - MASTER_INET_ADDRLIST
    - argv_free
    - MASTER_INET_PORT
    - myfree
    - inet_addr_list_free
    linkageType: ''
    returnType: void
    signature: void free_master_ent(MASTER_SERV *serv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/mail_flow.c:82,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/master/mail_flow.c:87,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/mail_flow.c:88,1
    - Dst: read
      Src: /src/postfix/postfix/src/master/mail_flow.c:95,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/mail_flow.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - len
    argTypes:
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 101
    functionName: mail_flow_get
    functionSourceFile: /src/postfix/postfix/src/master/mail_flow.c
    functionUses: 3
    functionsReached:
    - msg_panic
    - read
    - msg_info
    - fstat
    - msg_fatal
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t mail_flow_get(ssize_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/mail_flow.c:116,1
    - Dst: memset
      Src: /src/postfix/postfix/src/master/mail_flow.c:121,1
    - Dst: write
      Src: /src/postfix/postfix/src/master/mail_flow.c:124,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/mail_flow.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - len
    argTypes:
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 130
    functionName: mail_flow_put
    functionSourceFile: /src/postfix/postfix/src/master/mail_flow.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - write
    - memset
    - msg_info
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t mail_flow_put(ssize_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: peekfd
      Src: /src/postfix/postfix/src/master/mail_flow.c:139,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/mail_flow.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: mail_flow_count
    functionSourceFile: /src/postfix/postfix/src/master/mail_flow.c
    functionUses: 2
    functionsReached:
    - peekfd
    - msg_warn
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t mail_flow_count(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dgram_server_onexit
      Src: /src/postfix/postfix/src/master/dgram_server.c:235,1
    - Dst: exit
      Src: /src/postfix/postfix/src/master/dgram_server.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: dgram_server_exit
    functionSourceFile: /src/postfix/postfix/src/master/dgram_server.c
    functionUses: 0
    functionsReached:
    - exit
    - dgram_server_onexit
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN dgram_server_exit(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/dgram_server.c:244,1
    - Dst: dgram_server_exit
      Src: /src/postfix/postfix/src/master/dgram_server.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - unused_event
    - unused_context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: dgram_server_abort
    functionSourceFile: /src/postfix/postfix/src/master/dgram_server.c
    functionUses: 0
    functionsReached:
    - dgram_server_exit
    - msg_info
    linkageType: ''
    returnType: void
    signature: void dgram_server_abort(int unused_event, void *unused_context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/dgram_server.c:253,1
    - Dst: dgram_server_exit
      Src: /src/postfix/postfix/src/master/dgram_server.c:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - unused_event
    - unused_context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: dgram_server_timeout
    functionSourceFile: /src/postfix/postfix/src/master/dgram_server.c
    functionUses: 0
    functionsReached:
    - dgram_server_exit
    - msg_info
    linkageType: ''
    returnType: void
    signature: void dgram_server_timeout(int unused_event, void *unused_context)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: master_notify
      Src: /src/postfix/postfix/src/master/dgram_server.c:266,1
    - Dst: mail_flow_get
      Src: /src/postfix/postfix/src/master/dgram_server.c:268,1
    - Dst: doze
      Src: /src/postfix/postfix/src/master/dgram_server.c:269,1
    - Dst: dgram_server_service
      Src: /src/postfix/postfix/src/master/dgram_server.c:270,1
    - Dst: master_notify
      Src: /src/postfix/postfix/src/master/dgram_server.c:271,1
    - Dst: dgram_server_abort
      Src: /src/postfix/postfix/src/master/dgram_server.c:272,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/dgram_server.c:274,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 278
    functionName: dgram_server_wakeup
    functionSourceFile: /src/postfix/postfix/src/master/dgram_server.c
    functionUses: 0
    functionsReached:
    - mail_flow_get
    - event_request_timer
    - master_notify
    - doze
    - dgram_server_abort
    - dgram_server_service
    linkageType: ''
    returnType: void
    signature: void dgram_server_wakeup(int fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAST_ANY_PTR_TO_INT
      Src: /src/postfix/postfix/src/master/dgram_server.c:285,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/master/dgram_server.c:288,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/dgram_server.c:288,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/dgram_server.c:290,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/dgram_server.c:293,1
    - Dst: dgram_server_pre_accept
      Src: /src/postfix/postfix/src/master/dgram_server.c:300,1
    - Dst: dgram_server_wakeup
      Src: /src/postfix/postfix/src/master/dgram_server.c:301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 302
    functionName: dgram_server_accept_unix
    functionSourceFile: /src/postfix/postfix/src/master/dgram_server.c
    functionUses: 0
    functionsReached:
    - myflock
    - dgram_server_wakeup
    - CAST_ANY_PTR_TO_INT
    - msg_info
    - vstream_fileno
    - msg_fatal
    - dgram_server_pre_accept
    linkageType: ''
    returnType: void
    signature: void dgram_server_accept_unix(int unused_event, void *context)
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: basename
      Src: /src/postfix/postfix/src/master/dgram_server.c:313,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/master/dgram_server.c:341,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/master/dgram_server.c:343,1
    - Dst: signal
      Src: /src/postfix/postfix/src/master/dgram_server.c:349,1
    - Dst: signal
      Src: /src/postfix/postfix/src/master/dgram_server.c:355,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/master/dgram_server.c:361,1
    - Dst: basename
      Src: /src/postfix/postfix/src/master/dgram_server.c:361,1
    - Dst: set_mail_conf_str
      Src: /src/postfix/postfix/src/master/dgram_server.c:362,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/master/dgram_server.c:368,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/master/dgram_server.c:368,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/dgram_server.c:370,1
    - Dst: mail_conf_suck
      Src: /src/postfix/postfix/src/master/dgram_server.c:381,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/master/dgram_server.c:394,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/master/dgram_server.c:406,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/master/dgram_server.c:412,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/master/dgram_server.c:418,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/master/dgram_server.c:419,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/dgram_server.c:420,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/master/dgram_server.c:421,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/dgram_server.c:422,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/master/dgram_server.c:425,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/dgram_server.c:426,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/master/dgram_server.c:439,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/master/dgram_server.c:439,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/dgram_server.c:445,1
    - Dst: set_mail_conf_str
      Src: /src/postfix/postfix/src/master/dgram_server.c:449,1
    - Dst: mail_params_init
      Src: /src/postfix/postfix/src/master/dgram_server.c:455,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/master/dgram_server.c:456,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/master/dgram_server.c:456,1
    - Dst: mail_dict_init
      Src: /src/postfix/postfix/src/master/dgram_server.c:462,1
    - Dst: isatty
      Src: /src/postfix/postfix/src/master/dgram_server.c:467,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/master/dgram_server.c:468,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/dgram_server.c:469,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/master/dgram_server.c:475,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/dgram_server.c:476,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/dgram_server.c:503,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/dgram_server.c:506,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/dgram_server.c:509,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/dgram_server.c:512,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/dgram_server.c:515,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/dgram_server.c:522,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/dgram_server.c:527,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/dgram_server.c:532,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/dgram_server.c:536,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/dgram_server.c:539,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/dgram_server.c:540,1
    - Dst: bounce_client_init
      Src: /src/postfix/postfix/src/master/dgram_server.c:541,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/dgram_server.c:544,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/master/dgram_server.c:547,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/dgram_server.c:558,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/master/dgram_server.c:559,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/dgram_server.c:562,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/master/dgram_server.c:567,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/master/dgram_server.c:568,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/dgram_server.c:569,1
    - Dst: OCTAL_TO_UNSIGNED
      Src: /src/postfix/postfix/src/master/dgram_server.c:570,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/dgram_server.c:572,1
    - Dst: debug_process
      Src: /src/postfix/postfix/src/master/dgram_server.c:580,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/master/dgram_server.c:589,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/master/dgram_server.c:591,1
    - Dst: safe_open
      Src: /src/postfix/postfix/src/master/dgram_server.c:592,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/dgram_server.c:594,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/master/dgram_server.c:594,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/dgram_server.c:595,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/dgram_server.c:595,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/dgram_server.c:596,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/master/dgram_server.c:597,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/master/dgram_server.c:610,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/dgram_server.c:611,1
    - Dst: pre_init
      Src: /src/postfix/postfix/src/master/dgram_server.c:613,1
    - Dst: resolve_local_init
      Src: /src/postfix/postfix/src/master/dgram_server.c:618,1
    - Dst: tzset
      Src: /src/postfix/postfix/src/master/dgram_server.c:619,1
    - Dst: chroot_uid
      Src: /src/postfix/postfix/src/master/dgram_server.c:620,1
    - Dst: post_init
      Src: /src/postfix/postfix/src/master/dgram_server.c:626,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/dgram_server.c:635,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/master/dgram_server.c:637,1
    - Dst: CAST_INT_TO_VOID_PTR
      Src: /src/postfix/postfix/src/master/dgram_server.c:637,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/dgram_server.c:638,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/master/dgram_server.c:640,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/dgram_server.c:641,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/dgram_server.c:642,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/dgram_server.c:643,1
    - Dst: watchdog_create
      Src: /src/postfix/postfix/src/master/dgram_server.c:644,1
    - Dst: watchdog_stop
      Src: /src/postfix/postfix/src/master/dgram_server.c:652,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/master/dgram_server.c:653,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/dgram_server.c:653,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/dgram_server.c:655,1
    - Dst: watchdog_start
      Src: /src/postfix/postfix/src/master/dgram_server.c:657,1
    - Dst: loop
      Src: /src/postfix/postfix/src/master/dgram_server.c:658,1
    - Dst: event_loop
      Src: /src/postfix/postfix/src/master/dgram_server.c:659,1
    - Dst: dgram_server_exit
      Src: /src/postfix/postfix/src/master/dgram_server.c:661,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 202
    argCount: 3
    argNames:
    - argc
    - argv
    - service
    argTypes:
    - int
    - char**
    - DGRAM_SERVER_FN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 306
    functionDepth: 5
    functionLinenumber: 306
    functionLinenumberEnd: 662
    functionName: dgram_server_main
    functionSourceFile: /src/postfix/postfix/src/master/dgram_server.c
    functionUses: 1
    functionsReached:
    - pre_init
    - split_nameval
    - event_loop
    - basename
    - resolve_local_init
    - msg_info
    - msg_vstream_init
    - close_on_exec
    - atoi
    - tzset
    - watchdog_stop
    - bounce_client_init
    - GETOPT
    - OCTAL_TO_UNSIGNED
    - mail_params_init
    - va_start
    - msg_panic
    - chroot_uid
    - maillog_client_init
    - va_arg
    - alldig
    - vstring_alloc
    - set_mail_conf_str
    - chdir
    - dgram_server_exit
    - strcasecmp
    - watchdog_create
    - concatenate
    - vstring_str
    - getenv
    - myflock
    - loop
    - event_request_timer
    - debug_process
    - CAST_INT_TO_VOID_PTR
    - mail_task
    - mail_conf_suck
    - post_init
    - myfree
    - mail_conf_update
    - isatty
    - signal
    - vstring_free
    - va_end
    - mail_dict_init
    - event_enable_read
    - vstream_fileno
    - msg_fatal
    - mystrdup
    - safe_open
    - watchdog_start
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN dgram_server_main(int argc, char **argv, DGRAM_SERVER_FN service,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: master_sighup
    functionSourceFile: /src/postfix/postfix/src/master/master_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void master_sighup(int sig)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - sig
    - code
    - scp
    argTypes:
    - int
    - int
    - struct sigcontext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: master_sigchld
    functionSourceFile: /src/postfix/postfix/src/master/master_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void master_sigchld(int sig, int code, struct sigcontext * scp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/postfix/postfix/src/master/master_sig.c:138,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_sig.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 141
    functionName: master_sighup
    functionSourceFile: /src/postfix/postfix/src/master/master_sig.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - write
    linkageType: ''
    returnType: void
    signature: void master_sighup(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/postfix/postfix/src/master/master_sig.c:158,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_sig.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - unused_sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 161
    functionName: master_sigchld
    functionSourceFile: /src/postfix/postfix/src/master/master_sig.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - write
    linkageType: ''
    returnType: void
    signature: void master_sigchld(int unused_sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/postfix/postfix/src/master/master_sig.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - unused_event
    - unused_context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: master_sig_event
    functionSourceFile: /src/postfix/postfix/src/master/master_sig.c
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: void
    signature: void master_sig_event(int unused_event, void *unused_context)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/postfix/postfix/src/master/master_sig.c:181,1
    - Dst: killme_after
      Src: /src/postfix/postfix/src/master/master_sig.c:186,1
    - Dst: sigemptyset
      Src: /src/postfix/postfix/src/master/master_sig.c:191,1
    - Dst: sigaction
      Src: /src/postfix/postfix/src/master/master_sig.c:194,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_sig.c:195,1
    - Dst: kill
      Src: /src/postfix/postfix/src/master/master_sig.c:196,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_sig.c:197,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_sig.c:205,1
    - Dst: _exit
      Src: /src/postfix/postfix/src/master/master_sig.c:214,1
    - Dst: sigemptyset
      Src: /src/postfix/postfix/src/master/master_sig.c:220,1
    - Dst: sigaction
      Src: /src/postfix/postfix/src/master/master_sig.c:223,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_sig.c:224,1
    - Dst: kill
      Src: /src/postfix/postfix/src/master/master_sig.c:225,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_sig.c:226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 227
    functionName: master_sigdeath
    functionSourceFile: /src/postfix/postfix/src/master/master_sig.c
    functionUses: 0
    functionsReached:
    - sigaction
    - kill
    - _exit
    - getpid
    - msg_info
    - killme_after
    - sigemptyset
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void master_sigdeath(int sig)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/postfix/postfix/src/master/master_sig.c:240,1
    - Dst: sigaction
      Src: /src/postfix/postfix/src/master/master_sig.c:248,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_sig.c:249,1
    - Dst: pipe
      Src: /src/postfix/postfix/src/master/master_sig.c:252,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_sig.c:253,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/master/master_sig.c:254,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/master/master_sig.c:255,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/master_sig.c:256,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/master_sig.c:257,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/master/master_sig.c:258,1
    - Dst: sigaction
      Src: /src/postfix/postfix/src/master/master_sig.c:268,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_sig.c:269,1
    - Dst: sigaction
      Src: /src/postfix/postfix/src/master/master_sig.c:273,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_sig.c:274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 275
    functionName: master_sigsetup
    functionSourceFile: /src/postfix/postfix/src/master/master_sig.c
    functionUses: 1
    functionsReached:
    - sigaction
    - event_enable_read
    - pipe
    - close_on_exec
    - non_blocking
    - sigemptyset
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void master_sigsetup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_server_onexit
      Src: /src/postfix/postfix/src/master/event_server.c:283,1
    - Dst: exit
      Src: /src/postfix/postfix/src/master/event_server.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: event_server_exit
    functionSourceFile: /src/postfix/postfix/src/master/event_server.c
    functionUses: 0
    functionsReached:
    - event_server_onexit
    - exit
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN event_server_exit(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/event_server.c:292,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/master/event_server.c:294,1
    - Dst: event_server_slow_exit
      Src: /src/postfix/postfix/src/master/event_server.c:296,1
    - Dst: event_server_exit
      Src: /src/postfix/postfix/src/master/event_server.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - unused_event
    - unused_context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 299
    functionName: event_server_retire
    functionSourceFile: /src/postfix/postfix/src/master/event_server.c
    functionUses: 0
    functionsReached:
    - event_server_exit
    - event_server_slow_exit
    - event_disable_readwrite
    - msg_info
    linkageType: ''
    returnType: void
    signature: void event_server_retire(int unused_event, void *unused_context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/event_server.c:306,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/master/event_server.c:308,1
    - Dst: event_server_slow_exit
      Src: /src/postfix/postfix/src/master/event_server.c:310,1
    - Dst: event_server_exit
      Src: /src/postfix/postfix/src/master/event_server.c:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - unused_event
    - unused_context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 313
    functionName: event_server_abort
    functionSourceFile: /src/postfix/postfix/src/master/event_server.c
    functionUses: 0
    functionsReached:
    - event_server_exit
    - event_server_slow_exit
    - event_disable_readwrite
    - msg_info
    linkageType: ''
    returnType: void
    signature: void event_server_abort(int unused_event, void *unused_context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/event_server.c:320,1
    - Dst: event_server_exit
      Src: /src/postfix/postfix/src/master/event_server.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - unused_event
    - unused_context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: event_server_timeout
    functionSourceFile: /src/postfix/postfix/src/master/event_server.c
    functionUses: 0
    functionsReached:
    - event_server_exit
    - msg_info
    linkageType: ''
    returnType: void
    signature: void event_server_timeout(int unused_event, void *unused_context)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/postfix/postfix/src/master/event_server.c:334,1
    - Dst: msg_cleanup
      Src: /src/postfix/postfix/src/master/event_server.c:340,1
    - Dst: event_fork
      Src: /src/postfix/postfix/src/master/event_server.c:341,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/master/event_server.c:343,1
    - Dst: close
      Src: /src/postfix/postfix/src/master/event_server.c:344,1
    - Dst: DUP2
      Src: /src/postfix/postfix/src/master/event_server.c:346,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/event_server.c:347,1
    - Dst: exit
      Src: /src/postfix/postfix/src/master/event_server.c:354,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 356
    functionName: event_server_drain
    functionSourceFile: /src/postfix/postfix/src/master/event_server.c
    functionUses: 2
    functionsReached:
    - msg_warn
    - fork
    - close
    - exit
    - DUP2
    - event_disable_readwrite
    - event_fork
    - msg_cleanup
    linkageType: ''
    returnType: int
    signature: int event_server_drain(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/event_server.c:363,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/event_server.c:363,1
    - Dst: event_server_pre_disconn
      Src: /src/postfix/postfix/src/master/event_server.c:365,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/master/event_server.c:366,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/event_server.c:372,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 373
    functionName: event_server_disconnect
    functionSourceFile: /src/postfix/postfix/src/master/event_server.c
    functionUses: 3
    functionsReached:
    - event_request_timer
    - vstream_fclose
    - msg_info
    - event_server_pre_disconn
    - vstream_fileno
    linkageType: ''
    returnType: void
    signature: void event_server_disconnect(VSTREAM *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstream_context
      Src: /src/postfix/postfix/src/master/event_server.c:380,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/master/event_server.c:383,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/event_server.c:383,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/event_server.c:385,1
    - Dst: master_notify
      Src: /src/postfix/postfix/src/master/event_server.c:392,1
    - Dst: event_server_service
      Src: /src/postfix/postfix/src/master/event_server.c:394,1
    - Dst: master_notify
      Src: /src/postfix/postfix/src/master/event_server.c:395,1
    - Dst: event_server_abort
      Src: /src/postfix/postfix/src/master/event_server.c:396,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/master/event_server.c:398,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 399
    functionName: event_server_execute
    functionSourceFile: /src/postfix/postfix/src/master/event_server.c
    functionUses: 0
    functionsReached:
    - myflock
    - event_server_abort
    - master_notify
    - event_server_service
    - htable_free
    - vstream_fileno
    - msg_fatal
    - vstream_context
    linkageType: ''
    returnType: void
    signature: void event_server_execute(int unused_event, void *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/postfix/postfix/src/master/event_server.c:419,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/event_server.c:420,1
    - Dst: close
      Src: /src/postfix/postfix/src/master/event_server.c:421,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/event_server.c:426,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/master/event_server.c:427,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/event_server.c:428,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/master/event_server.c:430,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/master/event_server.c:431,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/master/event_server.c:432,1
    - Dst: CA_VSTREAM_CTL_PATH
      Src: /src/postfix/postfix/src/master/event_server.c:433,1
    - Dst: CA_VSTREAM_CTL_CONTEXT
      Src: /src/postfix/postfix/src/master/event_server.c:434,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/event_server.c:436,1
    - Dst: timed_ipc_setup
      Src: /src/postfix/postfix/src/master/event_server.c:437,1
    - Dst: mail_flow_get
      Src: /src/postfix/postfix/src/master/event_server.c:438,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/event_server.c:439,1
    - Dst: event_server_execute
      Src: /src/postfix/postfix/src/master/event_server.c:442,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - fd
    - attr
    argTypes:
    - int
    - HTABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 443
    functionName: event_server_wakeup
    functionSourceFile: /src/postfix/postfix/src/master/event_server.c
    functionUses: 0
    functionsReached:
    - fcntl
    - vstream_fdopen
    - CA_VSTREAM_CTL_PATH
    - mail_flow_get
    - event_request_timer
    - timed_ipc_setup
    - event_server_execute
    - close
    - CA_VSTREAM_CTL_CONTEXT
    - msg_info
    - close_on_exec
    - vstream_control
    - myfree
    - non_blocking
    - concatenate
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void event_server_wakeup(int fd, HTABLE *attr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CAST_ANY_PTR_TO_INT
      Src: /src/postfix/postfix/src/master/event_server.c:449,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/master/event_server.c:464,1
    - Dst: event_server_pre_accept
      Src: /src/postfix/postfix/src/master/event_server.c:467,1
    - Dst: LOCAL_ACCEPT
      Src: /src/postfix/postfix/src/master/event_server.c:470,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/master/event_server.c:472,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/event_server.c:472,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/event_server.c:474,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/master/event_server.c:477,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/event_server.c:479,1
    - Dst: event_server_wakeup
      Src: /src/postfix/postfix/src/master/event_server.c:482,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 447
    functionDepth: 4
    functionLinenumber: 447
    functionLinenumberEnd: 483
    functionName: event_server_accept_local
    functionSourceFile: /src/postfix/postfix/src/master/event_server.c
    functionUses: 0
    functionsReached:
    - event_server_wakeup
    - myflock
    - event_server_pre_accept
    - event_request_timer
    - msg_error
    - CAST_ANY_PTR_TO_INT
    - LOCAL_ACCEPT
    - vstream_fileno
    - event_cancel_timer
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void event_server_accept_local(int unused_event, void *context)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CAST_ANY_PTR_TO_INT
      Src: /src/postfix/postfix/src/master/event_server.c:491,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/master/event_server.c:507,1
    - Dst: event_server_pre_accept
      Src: /src/postfix/postfix/src/master/event_server.c:510,1
    - Dst: pass_accept_attr
      Src: /src/postfix/postfix/src/master/event_server.c:513,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/master/event_server.c:515,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/event_server.c:515,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/event_server.c:517,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/master/event_server.c:520,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/event_server.c:522,1
    - Dst: event_server_wakeup
      Src: /src/postfix/postfix/src/master/event_server.c:525,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 489
    functionDepth: 4
    functionLinenumber: 489
    functionLinenumberEnd: 526
    functionName: event_server_accept_pass
    functionSourceFile: /src/postfix/postfix/src/master/event_server.c
    functionUses: 0
    functionsReached:
    - event_server_wakeup
    - myflock
    - event_server_pre_accept
    - event_request_timer
    - pass_accept_attr
    - msg_error
    - CAST_ANY_PTR_TO_INT
    - vstream_fileno
    - event_cancel_timer
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void event_server_accept_pass(int unused_event, void *context)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CAST_ANY_PTR_TO_INT
      Src: /src/postfix/postfix/src/master/event_server.c:534,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/master/event_server.c:549,1
    - Dst: event_server_pre_accept
      Src: /src/postfix/postfix/src/master/event_server.c:552,1
    - Dst: inet_accept
      Src: /src/postfix/postfix/src/master/event_server.c:555,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/master/event_server.c:557,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/event_server.c:557,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/event_server.c:559,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/master/event_server.c:562,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/event_server.c:564,1
    - Dst: event_server_wakeup
      Src: /src/postfix/postfix/src/master/event_server.c:567,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 532
    functionDepth: 4
    functionLinenumber: 532
    functionLinenumberEnd: 568
    functionName: event_server_accept_inet
    functionSourceFile: /src/postfix/postfix/src/master/event_server.c
    functionUses: 0
    functionsReached:
    - event_server_wakeup
    - myflock
    - event_server_pre_accept
    - event_request_timer
    - msg_error
    - CAST_ANY_PTR_TO_INT
    - inet_accept
    - vstream_fileno
    - event_cancel_timer
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void event_server_accept_inet(int unused_event, void *context)
  - BBCount: 74
    BranchProfiles: []
    Callsites:
    - Dst: basename
      Src: /src/postfix/postfix/src/master/event_server.c:580,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/master/event_server.c:613,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/master/event_server.c:615,1
    - Dst: signal
      Src: /src/postfix/postfix/src/master/event_server.c:621,1
    - Dst: signal
      Src: /src/postfix/postfix/src/master/event_server.c:627,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/master/event_server.c:633,1
    - Dst: basename
      Src: /src/postfix/postfix/src/master/event_server.c:633,1
    - Dst: set_mail_conf_str
      Src: /src/postfix/postfix/src/master/event_server.c:634,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/master/event_server.c:640,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/master/event_server.c:640,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/event_server.c:642,1
    - Dst: mail_conf_suck
      Src: /src/postfix/postfix/src/master/event_server.c:653,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/master/event_server.c:666,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/master/event_server.c:678,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/master/event_server.c:684,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/master/event_server.c:690,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/master/event_server.c:691,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/event_server.c:692,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/master/event_server.c:693,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/event_server.c:694,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/master/event_server.c:697,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/event_server.c:698,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/master/event_server.c:701,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/event_server.c:702,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/master/event_server.c:718,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/master/event_server.c:718,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/event_server.c:724,1
    - Dst: set_mail_conf_str
      Src: /src/postfix/postfix/src/master/event_server.c:728,1
    - Dst: mail_params_init
      Src: /src/postfix/postfix/src/master/event_server.c:734,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/master/event_server.c:735,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/master/event_server.c:735,1
    - Dst: mail_dict_init
      Src: /src/postfix/postfix/src/master/event_server.c:741,1
    - Dst: isatty
      Src: /src/postfix/postfix/src/master/event_server.c:746,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/master/event_server.c:747,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/event_server.c:748,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/master/event_server.c:754,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/event_server.c:755,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/event_server.c:782,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/event_server.c:785,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/event_server.c:788,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/event_server.c:791,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/event_server.c:794,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/event_server.c:797,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/event_server.c:804,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/event_server.c:809,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/event_server.c:814,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/event_server.c:818,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/event_server.c:821,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/event_server.c:824,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/event_server.c:825,1
    - Dst: bounce_client_init
      Src: /src/postfix/postfix/src/master/event_server.c:826,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/event_server.c:838,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/master/event_server.c:841,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/event_server.c:853,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/master/event_server.c:854,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/master/event_server.c:856,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/master/event_server.c:859,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/master/event_server.c:869,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/master/event_server.c:870,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/event_server.c:871,1
    - Dst: OCTAL_TO_UNSIGNED
      Src: /src/postfix/postfix/src/master/event_server.c:872,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/event_server.c:874,1
    - Dst: debug_process
      Src: /src/postfix/postfix/src/master/event_server.c:882,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/master/event_server.c:897,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/master/event_server.c:899,1
    - Dst: safe_open
      Src: /src/postfix/postfix/src/master/event_server.c:900,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/event_server.c:902,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/master/event_server.c:902,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/event_server.c:903,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/event_server.c:903,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/event_server.c:904,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/master/event_server.c:905,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/master/event_server.c:919,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/event_server.c:920,1
    - Dst: pre_init
      Src: /src/postfix/postfix/src/master/event_server.c:922,1
    - Dst: resolve_local_init
      Src: /src/postfix/postfix/src/master/event_server.c:927,1
    - Dst: tzset
      Src: /src/postfix/postfix/src/master/event_server.c:928,1
    - Dst: chroot_uid
      Src: /src/postfix/postfix/src/master/event_server.c:929,1
    - Dst: post_init
      Src: /src/postfix/postfix/src/master/event_server.c:935,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/master/event_server.c:943,1
    - Dst: CA_VSTREAM_CTL_WRITE_FD
      Src: /src/postfix/postfix/src/master/event_server.c:945,1
    - Dst: service
      Src: /src/postfix/postfix/src/master/event_server.c:947,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/master/event_server.c:948,1
    - Dst: event_server_exit
      Src: /src/postfix/postfix/src/master/event_server.c:949,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/event_server.c:959,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/event_server.c:961,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/master/event_server.c:963,1
    - Dst: CAST_INT_TO_VOID_PTR
      Src: /src/postfix/postfix/src/master/event_server.c:963,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/event_server.c:964,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/master/event_server.c:966,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/event_server.c:967,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/event_server.c:968,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/event_server.c:969,1
    - Dst: watchdog_create
      Src: /src/postfix/postfix/src/master/event_server.c:970,1
    - Dst: watchdog_stop
      Src: /src/postfix/postfix/src/master/event_server.c:978,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/master/event_server.c:979,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/event_server.c:979,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/event_server.c:981,1
    - Dst: watchdog_start
      Src: /src/postfix/postfix/src/master/event_server.c:983,1
    - Dst: loop
      Src: /src/postfix/postfix/src/master/event_server.c:984,1
    - Dst: event_loop
      Src: /src/postfix/postfix/src/master/event_server.c:985,1
    - Dst: event_server_exit
      Src: /src/postfix/postfix/src/master/event_server.c:987,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 234
    argCount: 3
    argNames:
    - argc
    - argv
    - service
    argTypes:
    - int
    - char**
    - MULTI_SERVER_FN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 572
    functionDepth: 5
    functionLinenumber: 572
    functionLinenumberEnd: 988
    functionName: event_server_main
    functionSourceFile: /src/postfix/postfix/src/master/event_server.c
    functionUses: 3
    functionsReached:
    - pre_init
    - split_nameval
    - event_loop
    - basename
    - resolve_local_init
    - msg_info
    - msg_vstream_init
    - close_on_exec
    - atoi
    - tzset
    - vstream_control
    - service
    - event_server_exit
    - watchdog_stop
    - bounce_client_init
    - GETOPT
    - OCTAL_TO_UNSIGNED
    - mail_params_init
    - va_start
    - msg_panic
    - chroot_uid
    - maillog_client_init
    - va_arg
    - alldig
    - vstring_alloc
    - set_mail_conf_str
    - chdir
    - CA_VSTREAM_CTL_WRITE_FD
    - strcasecmp
    - vstream_fflush
    - watchdog_create
    - concatenate
    - vstring_str
    - getenv
    - myflock
    - loop
    - event_request_timer
    - debug_process
    - CAST_INT_TO_VOID_PTR
    - mail_task
    - mail_conf_suck
    - post_init
    - myfree
    - mail_conf_update
    - isatty
    - signal
    - vstring_free
    - va_end
    - mail_dict_init
    - event_enable_read
    - vstream_fileno
    - msg_fatal
    - mystrdup
    - safe_open
    - watchdog_start
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN event_server_main(int argc, char **argv, MULTI_SERVER_FN service,...)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/master_monitor.c:68,1
    - Dst: pipe
      Src: /src/postfix/postfix/src/master/master_monitor.c:73,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_monitor.c:74,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/master_monitor.c:75,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/master_monitor.c:76,1
    - Dst: fork
      Src: /src/postfix/postfix/src/master/master_monitor.c:81,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_monitor.c:84,1
    - Dst: close
      Src: /src/postfix/postfix/src/master/master_monitor.c:87,1
    - Dst: close
      Src: /src/postfix/postfix/src/master/master_monitor.c:91,1
    - Dst: timed_read
      Src: /src/postfix/postfix/src/master/master_monitor.c:92,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_monitor.c:94,1
    - Dst: kill
      Src: /src/postfix/postfix/src/master/master_monitor.c:96,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/master_monitor.c:100,1
    - Dst: exit
      Src: /src/postfix/postfix/src/master/master_monitor.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - time_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 106
    functionName: master_monitor
    functionSourceFile: /src/postfix/postfix/src/master/master_monitor.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - msg_warn
    - fork
    - kill
    - timed_read
    - close
    - exit
    - close_on_exec
    - pipe
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int master_monitor(int time_limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: multi_server_onexit
      Src: /src/postfix/postfix/src/master/multi_server.c:270,1
    - Dst: exit
      Src: /src/postfix/postfix/src/master/multi_server.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: multi_server_exit
    functionSourceFile: /src/postfix/postfix/src/master/multi_server.c
    functionUses: 0
    functionsReached:
    - multi_server_onexit
    - exit
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN multi_server_exit(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/multi_server.c:279,1
    - Dst: multi_server_exit
      Src: /src/postfix/postfix/src/master/multi_server.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - unused_event
    - unused_context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: multi_server_abort
    functionSourceFile: /src/postfix/postfix/src/master/multi_server.c
    functionUses: 0
    functionsReached:
    - multi_server_exit
    - msg_info
    linkageType: ''
    returnType: void
    signature: void multi_server_abort(int unused_event, void *unused_context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/multi_server.c:288,1
    - Dst: multi_server_exit
      Src: /src/postfix/postfix/src/master/multi_server.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - unused_event
    - unused_context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: multi_server_timeout
    functionSourceFile: /src/postfix/postfix/src/master/multi_server.c
    functionUses: 0
    functionsReached:
    - multi_server_exit
    - msg_info
    linkageType: ''
    returnType: void
    signature: void multi_server_timeout(int unused_event, void *unused_context)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/postfix/postfix/src/master/multi_server.c:302,1
    - Dst: msg_cleanup
      Src: /src/postfix/postfix/src/master/multi_server.c:308,1
    - Dst: event_fork
      Src: /src/postfix/postfix/src/master/multi_server.c:309,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/master/multi_server.c:311,1
    - Dst: close
      Src: /src/postfix/postfix/src/master/multi_server.c:312,1
    - Dst: DUP2
      Src: /src/postfix/postfix/src/master/multi_server.c:314,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/multi_server.c:315,1
    - Dst: exit
      Src: /src/postfix/postfix/src/master/multi_server.c:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 324
    functionName: multi_server_drain
    functionSourceFile: /src/postfix/postfix/src/master/multi_server.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - fork
    - close
    - exit
    - DUP2
    - event_disable_readwrite
    - event_fork
    - msg_cleanup
    linkageType: ''
    returnType: int
    signature: int multi_server_drain(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/multi_server.c:331,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/multi_server.c:331,1
    - Dst: multi_server_pre_disconn
      Src: /src/postfix/postfix/src/master/multi_server.c:333,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/master/multi_server.c:334,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/multi_server.c:334,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/master/multi_server.c:335,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/multi_server.c:341,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 342
    functionName: multi_server_disconnect
    functionSourceFile: /src/postfix/postfix/src/master/multi_server.c
    functionUses: 3
    functionsReached:
    - event_request_timer
    - vstream_fclose
    - msg_info
    - multi_server_pre_disconn
    - event_disable_readwrite
    - vstream_fileno
    linkageType: ''
    returnType: void
    signature: void multi_server_disconnect(VSTREAM *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: myflock
      Src: /src/postfix/postfix/src/master/multi_server.c:351,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/multi_server.c:351,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/multi_server.c:353,1
    - Dst: peekfd
      Src: /src/postfix/postfix/src/master/multi_server.c:360,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/multi_server.c:360,1
    - Dst: master_notify
      Src: /src/postfix/postfix/src/master/multi_server.c:361,1
    - Dst: multi_server_service
      Src: /src/postfix/postfix/src/master/multi_server.c:363,1
    - Dst: master_notify
      Src: /src/postfix/postfix/src/master/multi_server.c:364,1
    - Dst: multi_server_abort
      Src: /src/postfix/postfix/src/master/multi_server.c:365,1
    - Dst: multi_server_disconnect
      Src: /src/postfix/postfix/src/master/multi_server.c:367,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 369
    functionName: multi_server_execute
    functionSourceFile: /src/postfix/postfix/src/master/multi_server.c
    functionUses: 0
    functionsReached:
    - myflock
    - multi_server_service
    - master_notify
    - vstream_fileno
    - peekfd
    - msg_fatal
    - multi_server_disconnect
    - multi_server_abort
    linkageType: ''
    returnType: void
    signature: void multi_server_execute(int unused_event, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/master/multi_server.c:377,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/multi_server.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 378
    functionName: multi_server_enable_read
    functionSourceFile: /src/postfix/postfix/src/master/multi_server.c
    functionUses: 0
    functionsReached:
    - vstream_fileno
    - event_enable_read
    linkageType: ''
    returnType: void
    signature: void multi_server_enable_read(int unused_event, void *context)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/postfix/postfix/src/master/multi_server.c:398,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/multi_server.c:399,1
    - Dst: close
      Src: /src/postfix/postfix/src/master/multi_server.c:400,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/multi_server.c:405,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/master/multi_server.c:406,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/multi_server.c:407,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/master/multi_server.c:409,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/master/multi_server.c:410,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/master/multi_server.c:411,1
    - Dst: CA_VSTREAM_CTL_PATH
      Src: /src/postfix/postfix/src/master/multi_server.c:412,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/multi_server.c:414,1
    - Dst: timed_ipc_setup
      Src: /src/postfix/postfix/src/master/multi_server.c:415,1
    - Dst: mail_flow_get
      Src: /src/postfix/postfix/src/master/multi_server.c:416,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/multi_server.c:417,1
    - Dst: multi_server_enable_read
      Src: /src/postfix/postfix/src/master/multi_server.c:420,1
    - Dst: multi_server_post_accept
      Src: /src/postfix/postfix/src/master/multi_server.c:422,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/multi_server.c:424,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/master/multi_server.c:426,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - fd
    - attr
    argTypes:
    - int
    - HTABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 427
    functionName: multi_server_wakeup
    functionSourceFile: /src/postfix/postfix/src/master/multi_server.c
    functionUses: 0
    functionsReached:
    - fcntl
    - vstream_fdopen
    - CA_VSTREAM_CTL_PATH
    - mail_flow_get
    - event_request_timer
    - timed_ipc_setup
    - msg_warn
    - close
    - htable_free
    - msg_info
    - close_on_exec
    - vstream_control
    - myfree
    - non_blocking
    - multi_server_enable_read
    - multi_server_post_accept
    - concatenate
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void multi_server_wakeup(int fd, HTABLE *attr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CAST_ANY_PTR_TO_INT
      Src: /src/postfix/postfix/src/master/multi_server.c:433,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/master/multi_server.c:448,1
    - Dst: multi_server_pre_accept
      Src: /src/postfix/postfix/src/master/multi_server.c:451,1
    - Dst: LOCAL_ACCEPT
      Src: /src/postfix/postfix/src/master/multi_server.c:454,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/master/multi_server.c:456,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/multi_server.c:456,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/multi_server.c:458,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/master/multi_server.c:461,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/multi_server.c:463,1
    - Dst: multi_server_wakeup
      Src: /src/postfix/postfix/src/master/multi_server.c:466,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 467
    functionName: multi_server_accept_local
    functionSourceFile: /src/postfix/postfix/src/master/multi_server.c
    functionUses: 0
    functionsReached:
    - myflock
    - event_request_timer
    - msg_error
    - multi_server_pre_accept
    - CAST_ANY_PTR_TO_INT
    - multi_server_wakeup
    - LOCAL_ACCEPT
    - vstream_fileno
    - event_cancel_timer
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void multi_server_accept_local(int unused_event, void *context)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CAST_ANY_PTR_TO_INT
      Src: /src/postfix/postfix/src/master/multi_server.c:475,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/master/multi_server.c:491,1
    - Dst: multi_server_pre_accept
      Src: /src/postfix/postfix/src/master/multi_server.c:494,1
    - Dst: pass_accept_attr
      Src: /src/postfix/postfix/src/master/multi_server.c:497,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/master/multi_server.c:499,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/multi_server.c:499,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/multi_server.c:501,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/master/multi_server.c:504,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/multi_server.c:506,1
    - Dst: multi_server_wakeup
      Src: /src/postfix/postfix/src/master/multi_server.c:509,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 473
    functionDepth: 3
    functionLinenumber: 473
    functionLinenumberEnd: 510
    functionName: multi_server_accept_pass
    functionSourceFile: /src/postfix/postfix/src/master/multi_server.c
    functionUses: 0
    functionsReached:
    - myflock
    - event_request_timer
    - pass_accept_attr
    - msg_error
    - multi_server_pre_accept
    - CAST_ANY_PTR_TO_INT
    - multi_server_wakeup
    - vstream_fileno
    - event_cancel_timer
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void multi_server_accept_pass(int unused_event, void *context)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CAST_ANY_PTR_TO_INT
      Src: /src/postfix/postfix/src/master/multi_server.c:518,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/master/multi_server.c:533,1
    - Dst: multi_server_pre_accept
      Src: /src/postfix/postfix/src/master/multi_server.c:536,1
    - Dst: inet_accept
      Src: /src/postfix/postfix/src/master/multi_server.c:539,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/master/multi_server.c:541,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/multi_server.c:541,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/multi_server.c:543,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/master/multi_server.c:546,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/multi_server.c:548,1
    - Dst: multi_server_wakeup
      Src: /src/postfix/postfix/src/master/multi_server.c:551,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 516
    functionDepth: 3
    functionLinenumber: 516
    functionLinenumberEnd: 552
    functionName: multi_server_accept_inet
    functionSourceFile: /src/postfix/postfix/src/master/multi_server.c
    functionUses: 0
    functionsReached:
    - myflock
    - event_request_timer
    - msg_error
    - multi_server_pre_accept
    - CAST_ANY_PTR_TO_INT
    - multi_server_wakeup
    - inet_accept
    - vstream_fileno
    - event_cancel_timer
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void multi_server_accept_inet(int unused_event, void *context)
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: basename
      Src: /src/postfix/postfix/src/master/multi_server.c:564,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/master/multi_server.c:595,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/master/multi_server.c:597,1
    - Dst: signal
      Src: /src/postfix/postfix/src/master/multi_server.c:603,1
    - Dst: signal
      Src: /src/postfix/postfix/src/master/multi_server.c:609,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/master/multi_server.c:615,1
    - Dst: basename
      Src: /src/postfix/postfix/src/master/multi_server.c:615,1
    - Dst: set_mail_conf_str
      Src: /src/postfix/postfix/src/master/multi_server.c:616,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/master/multi_server.c:622,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/master/multi_server.c:622,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/multi_server.c:624,1
    - Dst: mail_conf_suck
      Src: /src/postfix/postfix/src/master/multi_server.c:635,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/master/multi_server.c:648,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/master/multi_server.c:660,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/master/multi_server.c:666,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/master/multi_server.c:672,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/master/multi_server.c:673,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/multi_server.c:674,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/master/multi_server.c:675,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/multi_server.c:676,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/master/multi_server.c:679,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/multi_server.c:680,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/master/multi_server.c:696,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/master/multi_server.c:696,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/multi_server.c:702,1
    - Dst: set_mail_conf_str
      Src: /src/postfix/postfix/src/master/multi_server.c:706,1
    - Dst: mail_params_init
      Src: /src/postfix/postfix/src/master/multi_server.c:712,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/master/multi_server.c:713,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/master/multi_server.c:713,1
    - Dst: mail_dict_init
      Src: /src/postfix/postfix/src/master/multi_server.c:719,1
    - Dst: isatty
      Src: /src/postfix/postfix/src/master/multi_server.c:724,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/master/multi_server.c:725,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/multi_server.c:726,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/master/multi_server.c:732,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/multi_server.c:733,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/multi_server.c:760,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/multi_server.c:763,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/multi_server.c:766,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/multi_server.c:769,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/multi_server.c:772,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/multi_server.c:775,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/multi_server.c:778,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/multi_server.c:785,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/multi_server.c:790,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/multi_server.c:795,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/multi_server.c:799,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/multi_server.c:800,1
    - Dst: bounce_client_init
      Src: /src/postfix/postfix/src/master/multi_server.c:801,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/multi_server.c:804,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/master/multi_server.c:807,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/multi_server.c:819,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/master/multi_server.c:820,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/master/multi_server.c:822,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/master/multi_server.c:825,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/master/multi_server.c:835,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/master/multi_server.c:836,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/multi_server.c:837,1
    - Dst: OCTAL_TO_UNSIGNED
      Src: /src/postfix/postfix/src/master/multi_server.c:838,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/multi_server.c:840,1
    - Dst: debug_process
      Src: /src/postfix/postfix/src/master/multi_server.c:848,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/master/multi_server.c:863,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/master/multi_server.c:865,1
    - Dst: safe_open
      Src: /src/postfix/postfix/src/master/multi_server.c:866,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/multi_server.c:868,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/master/multi_server.c:868,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/multi_server.c:869,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/multi_server.c:869,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/multi_server.c:870,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/master/multi_server.c:871,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/master/multi_server.c:885,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/multi_server.c:886,1
    - Dst: pre_init
      Src: /src/postfix/postfix/src/master/multi_server.c:888,1
    - Dst: resolve_local_init
      Src: /src/postfix/postfix/src/master/multi_server.c:893,1
    - Dst: tzset
      Src: /src/postfix/postfix/src/master/multi_server.c:894,1
    - Dst: chroot_uid
      Src: /src/postfix/postfix/src/master/multi_server.c:895,1
    - Dst: post_init
      Src: /src/postfix/postfix/src/master/multi_server.c:901,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/master/multi_server.c:909,1
    - Dst: CA_VSTREAM_CTL_WRITE_FD
      Src: /src/postfix/postfix/src/master/multi_server.c:911,1
    - Dst: service
      Src: /src/postfix/postfix/src/master/multi_server.c:913,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/master/multi_server.c:914,1
    - Dst: multi_server_exit
      Src: /src/postfix/postfix/src/master/multi_server.c:915,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/multi_server.c:925,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/master/multi_server.c:927,1
    - Dst: CAST_INT_TO_VOID_PTR
      Src: /src/postfix/postfix/src/master/multi_server.c:927,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/multi_server.c:928,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/master/multi_server.c:930,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/multi_server.c:931,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/multi_server.c:932,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/multi_server.c:933,1
    - Dst: watchdog_create
      Src: /src/postfix/postfix/src/master/multi_server.c:934,1
    - Dst: watchdog_stop
      Src: /src/postfix/postfix/src/master/multi_server.c:941,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/master/multi_server.c:942,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/multi_server.c:942,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/multi_server.c:944,1
    - Dst: watchdog_start
      Src: /src/postfix/postfix/src/master/multi_server.c:946,1
    - Dst: loop
      Src: /src/postfix/postfix/src/master/multi_server.c:947,1
    - Dst: event_loop
      Src: /src/postfix/postfix/src/master/multi_server.c:948,1
    - Dst: multi_server_exit
      Src: /src/postfix/postfix/src/master/multi_server.c:950,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 218
    argCount: 3
    argNames:
    - argc
    - argv
    - service
    argTypes:
    - int
    - char**
    - MULTI_SERVER_FN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 556
    functionDepth: 5
    functionLinenumber: 556
    functionLinenumberEnd: 951
    functionName: multi_server_main
    functionSourceFile: /src/postfix/postfix/src/master/multi_server.c
    functionUses: 6
    functionsReached:
    - pre_init
    - split_nameval
    - event_loop
    - basename
    - resolve_local_init
    - msg_info
    - msg_vstream_init
    - close_on_exec
    - atoi
    - tzset
    - vstream_control
    - service
    - watchdog_stop
    - bounce_client_init
    - GETOPT
    - OCTAL_TO_UNSIGNED
    - mail_params_init
    - va_start
    - msg_panic
    - chroot_uid
    - maillog_client_init
    - va_arg
    - alldig
    - vstring_alloc
    - set_mail_conf_str
    - chdir
    - CA_VSTREAM_CTL_WRITE_FD
    - strcasecmp
    - vstream_fflush
    - watchdog_create
    - concatenate
    - vstring_str
    - getenv
    - myflock
    - loop
    - event_request_timer
    - debug_process
    - CAST_INT_TO_VOID_PTR
    - mail_task
    - mail_conf_suck
    - post_init
    - myfree
    - mail_conf_update
    - isatty
    - signal
    - vstring_free
    - va_end
    - mail_dict_init
    - event_enable_read
    - multi_server_exit
    - vstream_fileno
    - msg_fatal
    - mystrdup
    - safe_open
    - watchdog_start
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN multi_server_main(int argc, char **argv, MULTI_SERVER_FN service,...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: single_server_onexit
      Src: /src/postfix/postfix/src/master/single_server.c:242,1
    - Dst: exit
      Src: /src/postfix/postfix/src/master/single_server.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 244
    functionName: single_server_exit
    functionSourceFile: /src/postfix/postfix/src/master/single_server.c
    functionUses: 0
    functionsReached:
    - exit
    - single_server_onexit
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN single_server_exit(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/single_server.c:251,1
    - Dst: single_server_exit
      Src: /src/postfix/postfix/src/master/single_server.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - unused_event
    - unused_context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: single_server_retire
    functionSourceFile: /src/postfix/postfix/src/master/single_server.c
    functionUses: 0
    functionsReached:
    - single_server_exit
    - msg_info
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN single_server_retire(int unused_event, void *unused_context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/single_server.c:260,1
    - Dst: single_server_exit
      Src: /src/postfix/postfix/src/master/single_server.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - unused_event
    - unused_context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: single_server_abort
    functionSourceFile: /src/postfix/postfix/src/master/single_server.c
    functionUses: 0
    functionsReached:
    - single_server_exit
    - msg_info
    linkageType: ''
    returnType: void
    signature: void single_server_abort(int unused_event, void *unused_context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/single_server.c:269,1
    - Dst: single_server_exit
      Src: /src/postfix/postfix/src/master/single_server.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - unused_event
    - unused_context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: single_server_timeout
    functionSourceFile: /src/postfix/postfix/src/master/single_server.c
    functionUses: 0
    functionsReached:
    - single_server_exit
    - msg_info
    linkageType: ''
    returnType: void
    signature: void single_server_timeout(int unused_event, void *unused_context)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/single_server.c:288,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/master/single_server.c:289,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/single_server.c:290,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/master/single_server.c:291,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/master/single_server.c:292,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/master/single_server.c:293,1
    - Dst: CA_VSTREAM_CTL_PATH
      Src: /src/postfix/postfix/src/master/single_server.c:294,1
    - Dst: CA_VSTREAM_CTL_CONTEXT
      Src: /src/postfix/postfix/src/master/single_server.c:295,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/single_server.c:297,1
    - Dst: timed_ipc_setup
      Src: /src/postfix/postfix/src/master/single_server.c:298,1
    - Dst: master_notify
      Src: /src/postfix/postfix/src/master/single_server.c:299,1
    - Dst: mail_flow_get
      Src: /src/postfix/postfix/src/master/single_server.c:301,1
    - Dst: doze
      Src: /src/postfix/postfix/src/master/single_server.c:302,1
    - Dst: single_server_service
      Src: /src/postfix/postfix/src/master/single_server.c:303,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/master/single_server.c:304,1
    - Dst: master_notify
      Src: /src/postfix/postfix/src/master/single_server.c:305,1
    - Dst: single_server_abort
      Src: /src/postfix/postfix/src/master/single_server.c:306,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/single_server.c:308,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/single_server.c:313,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/master/single_server.c:315,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - fd
    - attr
    argTypes:
    - int
    - HTABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 316
    functionName: single_server_wakeup
    functionSourceFile: /src/postfix/postfix/src/master/single_server.c
    functionUses: 0
    functionsReached:
    - mail_flow_get
    - vstream_fdopen
    - CA_VSTREAM_CTL_PATH
    - single_server_abort
    - event_request_timer
    - timed_ipc_setup
    - CA_VSTREAM_CTL_CONTEXT
    - master_notify
    - doze
    - vstream_fclose
    - close_on_exec
    - msg_info
    - vstream_control
    - myfree
    - non_blocking
    - single_server_service
    - htable_free
    - concatenate
    linkageType: ''
    returnType: void
    signature: void single_server_wakeup(int fd, HTABLE *attr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CAST_ANY_PTR_TO_INT
      Src: /src/postfix/postfix/src/master/single_server.c:322,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/master/single_server.c:333,1
    - Dst: single_server_pre_accept
      Src: /src/postfix/postfix/src/master/single_server.c:336,1
    - Dst: LOCAL_ACCEPT
      Src: /src/postfix/postfix/src/master/single_server.c:337,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/master/single_server.c:339,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/single_server.c:339,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/single_server.c:341,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/master/single_server.c:344,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/single_server.c:346,1
    - Dst: single_server_wakeup
      Src: /src/postfix/postfix/src/master/single_server.c:349,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 350
    functionName: single_server_accept_local
    functionSourceFile: /src/postfix/postfix/src/master/single_server.c
    functionUses: 0
    functionsReached:
    - myflock
    - event_request_timer
    - single_server_pre_accept
    - msg_error
    - CAST_ANY_PTR_TO_INT
    - LOCAL_ACCEPT
    - single_server_wakeup
    - vstream_fileno
    - event_cancel_timer
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void single_server_accept_local(int unused_event, void *context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CAST_ANY_PTR_TO_INT
      Src: /src/postfix/postfix/src/master/single_server.c:358,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/master/single_server.c:370,1
    - Dst: single_server_pre_accept
      Src: /src/postfix/postfix/src/master/single_server.c:373,1
    - Dst: pass_accept_attr
      Src: /src/postfix/postfix/src/master/single_server.c:374,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/master/single_server.c:376,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/single_server.c:376,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/single_server.c:378,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/master/single_server.c:381,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/single_server.c:383,1
    - Dst: single_server_wakeup
      Src: /src/postfix/postfix/src/master/single_server.c:386,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 387
    functionName: single_server_accept_pass
    functionSourceFile: /src/postfix/postfix/src/master/single_server.c
    functionUses: 0
    functionsReached:
    - myflock
    - event_request_timer
    - single_server_pre_accept
    - pass_accept_attr
    - msg_error
    - CAST_ANY_PTR_TO_INT
    - single_server_wakeup
    - vstream_fileno
    - event_cancel_timer
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void single_server_accept_pass(int unused_event, void *context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CAST_ANY_PTR_TO_INT
      Src: /src/postfix/postfix/src/master/single_server.c:395,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/master/single_server.c:406,1
    - Dst: single_server_pre_accept
      Src: /src/postfix/postfix/src/master/single_server.c:409,1
    - Dst: inet_accept
      Src: /src/postfix/postfix/src/master/single_server.c:410,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/master/single_server.c:412,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/single_server.c:412,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/single_server.c:414,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/master/single_server.c:417,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/single_server.c:419,1
    - Dst: single_server_wakeup
      Src: /src/postfix/postfix/src/master/single_server.c:422,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 393
    functionDepth: 3
    functionLinenumber: 393
    functionLinenumberEnd: 423
    functionName: single_server_accept_inet
    functionSourceFile: /src/postfix/postfix/src/master/single_server.c
    functionUses: 0
    functionsReached:
    - myflock
    - event_request_timer
    - single_server_pre_accept
    - msg_error
    - CAST_ANY_PTR_TO_INT
    - inet_accept
    - single_server_wakeup
    - vstream_fileno
    - event_cancel_timer
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void single_server_accept_inet(int unused_event, void *context)
  - BBCount: 71
    BranchProfiles: []
    Callsites:
    - Dst: basename
      Src: /src/postfix/postfix/src/master/single_server.c:435,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/master/single_server.c:465,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/master/single_server.c:467,1
    - Dst: signal
      Src: /src/postfix/postfix/src/master/single_server.c:473,1
    - Dst: signal
      Src: /src/postfix/postfix/src/master/single_server.c:479,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/master/single_server.c:485,1
    - Dst: basename
      Src: /src/postfix/postfix/src/master/single_server.c:485,1
    - Dst: set_mail_conf_str
      Src: /src/postfix/postfix/src/master/single_server.c:486,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/master/single_server.c:492,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/master/single_server.c:492,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/single_server.c:494,1
    - Dst: mail_conf_suck
      Src: /src/postfix/postfix/src/master/single_server.c:505,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/master/single_server.c:518,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/master/single_server.c:530,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/master/single_server.c:536,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/master/single_server.c:542,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/master/single_server.c:543,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/single_server.c:544,1
    - Dst: mail_conf_update
      Src: /src/postfix/postfix/src/master/single_server.c:545,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/single_server.c:546,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/master/single_server.c:549,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/single_server.c:550,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/master/single_server.c:553,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/single_server.c:554,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/master/single_server.c:570,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/master/single_server.c:570,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/single_server.c:576,1
    - Dst: set_mail_conf_str
      Src: /src/postfix/postfix/src/master/single_server.c:580,1
    - Dst: mail_params_init
      Src: /src/postfix/postfix/src/master/single_server.c:585,1
    - Dst: maillog_client_init
      Src: /src/postfix/postfix/src/master/single_server.c:586,1
    - Dst: mail_task
      Src: /src/postfix/postfix/src/master/single_server.c:586,1
    - Dst: mail_dict_init
      Src: /src/postfix/postfix/src/master/single_server.c:592,1
    - Dst: isatty
      Src: /src/postfix/postfix/src/master/single_server.c:597,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/master/single_server.c:598,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/single_server.c:599,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/master/single_server.c:605,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/single_server.c:606,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/single_server.c:633,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/single_server.c:636,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/single_server.c:639,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/single_server.c:642,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/single_server.c:645,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/single_server.c:652,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/single_server.c:657,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/single_server.c:662,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/single_server.c:666,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/master/single_server.c:667,1
    - Dst: bounce_client_init
      Src: /src/postfix/postfix/src/master/single_server.c:668,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/single_server.c:680,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/master/single_server.c:683,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/single_server.c:695,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/master/single_server.c:696,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/master/single_server.c:698,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/master/single_server.c:701,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/master/single_server.c:711,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/master/single_server.c:712,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/single_server.c:713,1
    - Dst: OCTAL_TO_UNSIGNED
      Src: /src/postfix/postfix/src/master/single_server.c:714,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/single_server.c:716,1
    - Dst: debug_process
      Src: /src/postfix/postfix/src/master/single_server.c:724,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/master/single_server.c:733,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/master/single_server.c:735,1
    - Dst: safe_open
      Src: /src/postfix/postfix/src/master/single_server.c:736,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/single_server.c:738,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/master/single_server.c:738,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/single_server.c:739,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/single_server.c:739,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/master/single_server.c:740,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/master/single_server.c:741,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/master/single_server.c:754,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/single_server.c:755,1
    - Dst: pre_init
      Src: /src/postfix/postfix/src/master/single_server.c:757,1
    - Dst: resolve_local_init
      Src: /src/postfix/postfix/src/master/single_server.c:762,1
    - Dst: tzset
      Src: /src/postfix/postfix/src/master/single_server.c:763,1
    - Dst: chroot_uid
      Src: /src/postfix/postfix/src/master/single_server.c:764,1
    - Dst: post_init
      Src: /src/postfix/postfix/src/master/single_server.c:770,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/master/single_server.c:778,1
    - Dst: CA_VSTREAM_CTL_WRITE_FD
      Src: /src/postfix/postfix/src/master/single_server.c:780,1
    - Dst: service
      Src: /src/postfix/postfix/src/master/single_server.c:782,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/master/single_server.c:783,1
    - Dst: single_server_exit
      Src: /src/postfix/postfix/src/master/single_server.c:784,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/single_server.c:794,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/single_server.c:796,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/master/single_server.c:798,1
    - Dst: CAST_INT_TO_VOID_PTR
      Src: /src/postfix/postfix/src/master/single_server.c:798,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/single_server.c:799,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/master/single_server.c:801,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/single_server.c:802,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/single_server.c:803,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/master/single_server.c:804,1
    - Dst: watchdog_create
      Src: /src/postfix/postfix/src/master/single_server.c:805,1
    - Dst: watchdog_stop
      Src: /src/postfix/postfix/src/master/single_server.c:812,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/master/single_server.c:813,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/master/single_server.c:813,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/master/single_server.c:815,1
    - Dst: watchdog_start
      Src: /src/postfix/postfix/src/master/single_server.c:817,1
    - Dst: loop
      Src: /src/postfix/postfix/src/master/single_server.c:818,1
    - Dst: event_loop
      Src: /src/postfix/postfix/src/master/single_server.c:819,1
    - Dst: single_server_exit
      Src: /src/postfix/postfix/src/master/single_server.c:821,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 225
    argCount: 3
    argNames:
    - argc
    - argv
    - service
    argTypes:
    - int
    - char**
    - SINGLE_SERVER_FN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 427
    functionDepth: 5
    functionLinenumber: 427
    functionLinenumberEnd: 822
    functionName: single_server_main
    functionSourceFile: /src/postfix/postfix/src/master/single_server.c
    functionUses: 9
    functionsReached:
    - pre_init
    - split_nameval
    - event_loop
    - basename
    - resolve_local_init
    - msg_info
    - msg_vstream_init
    - close_on_exec
    - atoi
    - tzset
    - vstream_control
    - service
    - watchdog_stop
    - bounce_client_init
    - GETOPT
    - OCTAL_TO_UNSIGNED
    - mail_params_init
    - va_start
    - msg_panic
    - chroot_uid
    - maillog_client_init
    - va_arg
    - alldig
    - vstring_alloc
    - set_mail_conf_str
    - chdir
    - CA_VSTREAM_CTL_WRITE_FD
    - strcasecmp
    - vstream_fflush
    - watchdog_create
    - concatenate
    - vstring_str
    - getenv
    - myflock
    - loop
    - event_request_timer
    - debug_process
    - CAST_INT_TO_VOID_PTR
    - mail_task
    - mail_conf_suck
    - post_init
    - myfree
    - mail_conf_update
    - isatty
    - signal
    - vstring_free
    - va_end
    - single_server_exit
    - mail_dict_init
    - event_enable_read
    - vstream_fileno
    - msg_fatal
    - mystrdup
    - safe_open
    - watchdog_start
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN single_server_main(int argc, char **argv, SINGLE_SERVER_FN
      service,...)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: MASTER_THROTTLED
      Src: /src/postfix/postfix/src/master/master_wakeup.c:103,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_wakeup.c:105,1
    - Dst: inet_trigger
      Src: /src/postfix/postfix/src/master/master_wakeup.c:109,1
    - Dst: LOCAL_TRIGGER
      Src: /src/postfix/postfix/src/master/master_wakeup.c:112,1
    - Dst: pass_trigger
      Src: /src/postfix/postfix/src/master/master_wakeup.c:120,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/master/master_wakeup.c:144,1
    - Dst: fifo_trigger
      Src: /src/postfix/postfix/src/master/master_wakeup.c:145,1
    - Dst: set_ugid
      Src: /src/postfix/postfix/src/master/master_wakeup.c:146,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/master/master_wakeup.c:146,1
    - Dst: getgid
      Src: /src/postfix/postfix/src/master/master_wakeup.c:146,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/master/master_wakeup.c:149,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/master/master_wakeup.c:152,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/master/master_wakeup.c:159,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 161
    functionName: master_wakeup_timer_event
    functionSourceFile: /src/postfix/postfix/src/master/master_wakeup.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_warn
    - MASTER_THROTTLED
    - event_request_timer
    - set_eugid
    - fifo_trigger
    - pass_trigger
    - LOCAL_TRIGGER
    - set_ugid
    - getgid
    - msg_info
    - inet_trigger
    - getuid
    linkageType: ''
    returnType: void
    signature: void master_wakeup_timer_event(int unused_event, void *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_wakeup.c:172,1
    - Dst: master_wakeup_timer_event
      Src: /src/postfix/postfix/src/master/master_wakeup.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - serv
    argTypes:
    - MASTER_SERV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 175
    functionName: master_wakeup_init
    functionSourceFile: /src/postfix/postfix/src/master/master_wakeup.c
    functionUses: 3
    functionsReached:
    - master_wakeup_timer_event
    - msg_info
    linkageType: ''
    returnType: void
    signature: void master_wakeup_init(MASTER_SERV *serv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/master/master_wakeup.c:189,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/master/master_wakeup.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - serv
    argTypes:
    - MASTER_SERV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 192
    functionName: master_wakeup_cleanup
    functionSourceFile: /src/postfix/postfix/src/master/master_wakeup.c
    functionUses: 2
    functionsReached:
    - event_cancel_timer
    - msg_info
    linkageType: ''
    returnType: void
    signature: void master_wakeup_cleanup(MASTER_SERV *serv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 409
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 238
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 238
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 107
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:248,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:252,1
    - Dst: info_log_addr_form_sender
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:253,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:255,1
    - Dst: info_log_addr_form_recipient
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:256,1
    - Dst: nvtable_find
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:257,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:258,1
    - Dst: nvtable_find
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:259,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:260,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:262,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:263,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:263,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - context
    - action
    - where
    - line
    - optional_text
    argTypes:
    - void*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 241
    functionDepth: 4
    functionLinenumber: 241
    functionLinenumberEnd: 264
    functionName: cleanup_milter_hbc_log
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - info_log_addr_form_sender
    - vstring_sprintf
    - vstring_str
    - nvtable_find
    - msg_info
    - info_log_addr_form_recipient
    - vstring_sprintf_append
    linkageType: ''
    returnType: void
    signature: "void cleanup_milter_hbc_log(void *context, const char *action,\n\t\t\t\t
      \       const char *where, const char *line,\n\t\t\t\t           const char
      *optional_text)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - context
    - rec_type
    - buf
    - len
    - offset
    argTypes:
    - void*
    - int
    - char*
    - ssize_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: cleanup_milter_header_prepend
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - msg_warn
    linkageType: ''
    returnType: void
    signature: "void cleanup_milter_header_prepend(void *context, int rec_type,\n\t\t\t
      \        const char *buf, ssize_t len, off_t offset)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:322,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:323,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:324,1
    - Dst: cleanup_milter_hbc_log
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:328,1
    - Dst: cleanup_add_rcpt_par
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:330,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:334,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:338,1
    - Dst: cleanup_stat_detail
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:339,1
    - Dst: dsn_prepend
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:341,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:343,1
    - Dst: dsn_prepend
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:348,1
    - Dst: cleanup_milter_hbc_log
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:355,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:356,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:358,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:361,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:363,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:364,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:365,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:370,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:371,1
    - Dst: cleanup_milter_hbc_log
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:372,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:377,1
    - Dst: cleanup_milter_hbc_log
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:378,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:379,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:384,1
    - Dst: cleanup_milter_hbc_log
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:386,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:391,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:392,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:393,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:398,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:399,1
    - Dst: cleanup_milter_hbc_log
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:400,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 75
    argCount: 8
    argNames:
    - context
    - command
    - cmd_len
    - optional_text
    - where
    - buf
    - buf_len
    - offset
    argTypes:
    - void*
    - char*
    - ssize_t
    - char*
    - char*
    - char*
    - ssize_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 277
    functionDepth: 5
    functionLinenumber: 277
    functionLinenumberEnd: 407
    functionName: cleanup_milter_hbc_extend
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - strchr
    - msg_warn
    - vstring_sprintf
    - cleanup_add_rcpt_par
    - dsn_prepend
    - STREQUAL
    - myfree
    - vstring_strcpy
    - cleanup_milter_hbc_log
    - cleanup_stat_detail
    - mystrdup
    - STR
    linkageType: ''
    returnType: char
    signature: "char *cleanup_milter_hbc_extend(void *context, const char *command,\n\t\t\t
      \        ssize_t cmd_len, const char *optional_text,\n\t\t\t\t         const
      char *where, const char *buf,\n\t\t\t\t               ssize_t buf_len, off_t
      offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: STREQUAL
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQUAL(x,y,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: CLEANUP_MILTER_REJECTING_OR_DISCARDING_MESSAGE
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEANUP_MILTER_REJECTING_OR_DISCARDING_MESSAGE(state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hbc_header_checks
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:420,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:426,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:432,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:433,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - state
    - buf
    argTypes:
    - CLEANUP_STATE*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 411
    functionDepth: 3
    functionLinenumber: 411
    functionLinenumberEnd: 438
    functionName: cleanup_milter_header_checks
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - myfree
    - vstring_strcpy
    - hbc_header_checks
    - STR
    linkageType: ''
    returnType: int
    signature: int cleanup_milter_header_checks(CLEANUP_STATE *state, VSTRING *buf)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:458,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:460,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:472,1
    - Dst: cleanup_milter_set_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:473,1
    - Dst: cleanup_out_string
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:477,1
    - Dst: cleanup_out_string
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:479,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:480,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:481,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:485,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:492,1
    - Dst: cleanup_milter_set_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:493,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:496,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - CLEANUP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 511
    functionName: cleanup_milter_hbc_add_meta_records
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_warn
    - vstream_ftell
    - vstream_fseek
    - cleanup_milter_set_error
    - cleanup_out_format
    - cleanup_out_string
    linkageType: ''
    returnType: void
    signature: void cleanup_milter_hbc_add_meta_records(CLEANUP_STATE *state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:531,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:534,1
    - Dst: hbc_header_checks_create
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:536,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:542,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 544
    functionName: cleanup_milter_header_checks_init
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - hbc_header_checks_create
    - vstring_alloc
    linkageType: ''
    returnType: void
    signature: void cleanup_milter_header_checks_init(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:555,1
    - Dst: hbc_header_checks_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:556,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:560,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 563
    functionName: cleanup_milter_header_checks_deinit
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - hbc_header_checks_free
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void cleanup_milter_header_checks_deinit(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:572,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:575,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - CLEANUP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 578
    functionName: cleanup_milter_header_checks_reinit
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - myfree
    - VSTRING_RESET
    linkageType: ''
    returnType: void
    signature: void cleanup_milter_header_checks_reinit(CLEANUP_STATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CLEANUP_OUT_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:584,1
    - Dst: CLEANUP_MILTER_REJECTING_OR_DISCARDING_MESSAGE
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:585,1
    - Dst: cleanup_milter_hbc_add_meta_records
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:587,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - CLEANUP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 588
    functionName: cleanup_milter_hbc_finish
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - CLEANUP_OUT_OK
    - cleanup_milter_hbc_add_meta_records
    - CLEANUP_MILTER_REJECTING_OR_DISCARDING_MESSAGE
    linkageType: ''
    returnType: void
    signature: void cleanup_milter_hbc_finish(CLEANUP_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - __state
    - ','
    - __reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 602
    functionName: CLEANUP_MILTER_SET_REASON
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEANUP_MILTER_SET_REASON(__state, __reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - __state
    - ','
    - __smtp_reply
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 612
    functionName: CLEANUP_MILTER_SET_SMTP_REPLY
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEANUP_MILTER_SET_SMTP_REPLY(__state, __smtp_reply)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:618,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - state
    - err
    argTypes:
    - CLEANUP_STATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 624
    functionName: cleanup_milter_set_error
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 1
    functionsReached:
    - msg_warn
    linkageType: ''
    returnType: void
    signature: void cleanup_milter_set_error(CLEANUP_STATE *state, int err)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_milter_set_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:646,1
    - Dst: CLEANUP_OUT_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:647,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:648,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:650,1
    - Dst: cleanup_stat_detail
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:651,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:652,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - state
    - err
    argTypes:
    - CLEANUP_STATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 628
    functionDepth: 2
    functionLinenumber: 628
    functionLinenumberEnd: 654
    functionName: cleanup_milter_error
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - CLEANUP_OUT_OK
    - vstring_sprintf
    - vstring_alloc
    - cleanup_milter_set_error
    - cleanup_stat_detail
    - STR
    linkageType: ''
    returnType: char
    signature: char *cleanup_milter_error(CLEANUP_STATE *state, int err)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:675,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:677,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:685,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:686,1
    - Dst: cleanup_milter_header_checks
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:688,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:690,1
    - Dst: CLEANUP_OUT_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:693,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:694,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:695,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:705,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:706,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:707,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:708,1
    - Dst: cleanup_out_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:711,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:712,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:713,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:714,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:715,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:717,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:730,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:731,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:732,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:734,1
    - Dst: CLEANUP_OUT_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:749,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:749,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:750,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:751,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 4
    argNames:
    - context
    - name
    - space
    - value
    argTypes:
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 658
    functionDepth: 4
    functionLinenumber: 658
    functionLinenumberEnd: 756
    functionName: cleanup_add_header
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - cleanup_out_header
    - cleanup_milter_header_checks
    - vstring_sprintf
    - CLEANUP_OUT_OK
    - msg_warn
    - vstream_ftell
    - vstream_fseek
    - cleanup_milter_error
    - vstring_alloc
    - LEN
    - cleanup_out_format
    - vstring_free
    - STR
    linkageType: ''
    returnType: char
    signature: "char *cleanup_add_header(void *context, const char *name,\n\t\t\t\t
      \             const char *space,\n\t\t\t\t              const char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:766,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:766,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:766,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - auto_hdrs
    - hide_done
    argTypes:
    - VSTRING*
    - ARGV*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 769
    functionName: hidden_header
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - strncmp
    - LEN
    - STR
    linkageType: ''
    returnType: int
    signature: int hidden_header(VSTRING *buf, ARGV *auto_hdrs, int *hide_done)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:789,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:796,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:884,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:885,1
    - Dst: cleanup_milter_set_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:886,1
    - Dst: CLEANUP_FIND_HEADER_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:887,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:890,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:891,1
    - Dst: cleanup_milter_set_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:892,1
    - Dst: CLEANUP_FIND_HEADER_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:893,1
    - Dst: GET_NEXT_TEXT_OR_PTR_RECORD
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:900,1
    - Dst: CLEANUP_FIND_HEADER_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:901,1
    - Dst: rec_goto
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:904,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:904,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:905,1
    - Dst: cleanup_milter_set_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:906,1
    - Dst: CLEANUP_FIND_HEADER_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:907,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:913,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:914,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:914,1
    - Dst: IS_SPACE_TAB
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:920,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:920,1
    - Dst: is_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:924,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:924,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:929,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:929,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:930,1
    - Dst: hidden_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:931,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:953,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:956,1
    - Dst: rec_get_raw
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:959,1
    - Dst: cleanup_milter_set_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:960,1
    - Dst: CLEANUP_FIND_HEADER_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:961,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:964,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:976,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:976,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:981,1
    - Dst: CLEANUP_FIND_HEADER_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:985,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 65
    argCount: 6
    argNames:
    - state
    - index
    - header_label
    - buf
    - prec_type
    - allow_ptr_backup
    argTypes:
    - CLEANUP_STATE*
    - ssize_t
    - char*
    - VSTRING*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 986
    functionName: cleanup_find_header_start
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - CLEANUP_FIND_HEADER_RETURN
    - LEN
    - msg_info
    - rec_goto
    - GET_NEXT_TEXT_OR_PTR_RECORD
    - msg_panic
    - strlen
    - vstring_alloc
    - is_header
    - rec_get_raw
    - hidden_header
    - cleanup_milter_set_error
    - IS_SPACE_TAB
    - msg_warn
    - vstream_ftell
    - vstream_fseek
    - vstring_strcpy
    - strncasecmp
    - STR
    linkageType: ''
    returnType: off_t
    signature: "off_t cleanup_find_header_start(CLEANUP_STATE *state, ssize_t index,\n\t\t\t\t
      \              const char *header_label,\n\t\t\t\t               VSTRING *buf,\n\t\t\t\t
      \              int *prec_type,\n\t\t\t\t               int allow_ptr_backup)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - offs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 867
    functionName: CLEANUP_FIND_HEADER_RETURN
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEANUP_FIND_HEADER_RETURN(offs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - rec_type
    - ','
    - state
    - ','
    - buf
    - ','
    - curr_offset
    - ','
    - quit
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 882
    functionName: GET_NEXT_TEXT_OR_PTR_RECORD
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_NEXT_TEXT_OR_PTR_RECORD(rec_type, state, buf, curr_offset, quit)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1006,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1007,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1008,1
    - Dst: GET_NEXT_TEXT_OR_PTR_RECORD
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1016,1
    - Dst: return
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1018,1
    - Dst: rec_goto
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1020,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1020,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1021,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1022,1
    - Dst: IS_SPACE_TAB
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1029,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1029,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - state
    - rec_buf
    - last_type
    argTypes:
    - CLEANUP_STATE*
    - VSTRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 990
    functionDepth: 3
    functionLinenumber: 990
    functionLinenumberEnd: 1034
    functionName: cleanup_find_header_end
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - vstream_ftell
    - return
    - cleanup_milter_error
    - IS_SPACE_TAB
    - rec_goto
    - GET_NEXT_TEXT_OR_PTR_RECORD
    - STR
    linkageType: ''
    returnType: off_t
    signature: "off_t cleanup_find_header_end(CLEANUP_STATE *state,\n\t\t\t\t             VSTRING
      *rec_buf,\n\t\t\t\t             int last_type)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1048,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1057,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1085,1
    - Dst: cleanup_milter_header_checks
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1087,1
    - Dst: CLEANUP_PATCH_HEADER_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1088,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1094,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1095,1
    - Dst: CLEANUP_PATCH_HEADER_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1096,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1096,1
    - Dst: cleanup_out_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1099,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1101,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1102,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1102,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1102,1
    - Dst: CLEANUP_OUT_BUF
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1110,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1111,1
    - Dst: rec_pad
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1112,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1113,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1115,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1115,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1116,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1116,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1126,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1128,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1131,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1140,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1141,1
    - Dst: CLEANUP_PATCH_HEADER_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1142,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1142,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1144,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1147,1
    - Dst: CLEANUP_PATCH_HEADER_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1153,1
    - Dst: CLEANUP_OUT_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1154,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1154,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1155,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1156,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 8
    argNames:
    - state
    - new_hdr_name
    - hdr_space
    - new_hdr_value
    - old_rec_offset
    - old_rec_type
    - old_rec_buf
    - next_offset
    argTypes:
    - CLEANUP_STATE*
    - char*
    - char*
    - char*
    - off_t
    - int
    - VSTRING*
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1038
    functionDepth: 4
    functionLinenumber: 1038
    functionLinenumberEnd: 1161
    functionName: cleanup_patch_header
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - cleanup_out_header
    - cleanup_milter_header_checks
    - vstring_sprintf
    - msg_warn
    - CLEANUP_OUT_OK
    - vstream_fseek
    - cleanup_milter_error
    - vstring_alloc
    - LEN
    - msg_info
    - rec_pad
    - CLEANUP_OUT_BUF
    - cleanup_out_format
    - CLEANUP_PATCH_HEADER_RETURN
    - STR
    linkageType: ''
    returnType: char
    signature: "char *cleanup_patch_header(CLEANUP_STATE *state,\n\t\t\t\t\t        const
      char *new_hdr_name,\n\t\t\t\t\t        const char *hdr_space,\n\t\t\t\t\t        const
      char *new_hdr_value,\n\t\t\t\t\t        off_t old_rec_offset,\n\t\t\t\t\t        int
      old_rec_type,\n\t\t\t\t\t        VSTRING *old_rec_buf,\n\t\t\t\t\t        off_t
      next_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1055
    functionName: CLEANUP_PATCH_HEADER_RETURN
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEANUP_PATCH_HEADER_RETURN(ret)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1172,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1184,1
    - Dst: cleanup_find_header_start
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1200,1
    - Dst: CLEANUP_INS_HEADER_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1205,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1205,1
    - Dst: CLEANUP_INS_HEADER_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1212,1
    - Dst: cleanup_add_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1212,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1224,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1225,1
    - Dst: CLEANUP_INS_HEADER_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1226,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1226,1
    - Dst: cleanup_patch_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1229,1
    - Dst: CLEANUP_INS_HEADER_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - context
    - index
    - new_hdr_name
    - hdr_space
    - new_hdr_value
    argTypes:
    - void*
    - ssize_t
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1165
    functionDepth: 5
    functionLinenumber: 1165
    functionLinenumberEnd: 1233
    functionName: cleanup_ins_header
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - vstream_ftell
    - cleanup_patch_header
    - cleanup_milter_error
    - vstring_alloc
    - msg_info
    - cleanup_add_header
    - CLEANUP_INS_HEADER_RETURN
    - cleanup_find_header_start
    linkageType: ''
    returnType: char
    signature: "char *cleanup_ins_header(void *context, ssize_t index,\n\t\t\t\t              const
      char *new_hdr_name,\n\t\t\t\t              const char *hdr_space,\n\t\t\t\t
      \             const char *new_hdr_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1182
    functionName: CLEANUP_INS_HEADER_RETURN
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEANUP_INS_HEADER_RETURN(ret)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1251,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1258,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1279,1
    - Dst: cleanup_find_header_start
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1280,1
    - Dst: CLEANUP_UPD_HEADER_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1285,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1285,1
    - Dst: CLEANUP_UPD_HEADER_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1292,1
    - Dst: cleanup_add_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1292,1
    - Dst: cleanup_find_header_end
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1300,1
    - Dst: CLEANUP_UPD_HEADER_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1302,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1302,1
    - Dst: cleanup_patch_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1303,1
    - Dst: CLEANUP_UPD_HEADER_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - context
    - index
    - new_hdr_name
    - hdr_space
    - new_hdr_value
    argTypes:
    - void*
    - ssize_t
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1237
    functionDepth: 5
    functionLinenumber: 1237
    functionLinenumberEnd: 1307
    functionName: cleanup_upd_header
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - CLEANUP_UPD_HEADER_RETURN
    - cleanup_patch_header
    - cleanup_milter_error
    - vstring_alloc
    - msg_info
    - cleanup_find_header_end
    - cleanup_add_header
    - cleanup_find_header_start
    linkageType: ''
    returnType: char
    signature: "char *cleanup_upd_header(void *context, ssize_t index,\n\t\t\t\t              const
      char *new_hdr_name,\n\t\t\t\t              const char *hdr_space,\n\t\t\t\t
      \             const char *new_hdr_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1278
    functionName: CLEANUP_UPD_HEADER_RETURN
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEANUP_UPD_HEADER_RETURN(ret)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1322,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1328,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1342,1
    - Dst: cleanup_find_header_start
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1343,1
    - Dst: CLEANUP_DEL_HEADER_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1347,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1347,1
    - Dst: cleanup_find_header_end
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1356,1
    - Dst: CLEANUP_DEL_HEADER_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1358,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1358,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1360,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1361,1
    - Dst: CLEANUP_DEL_HEADER_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1362,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1362,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1364,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1367,1
    - Dst: CLEANUP_OUT_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1372,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1372,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - context
    - index
    - hdr_name
    argTypes:
    - void*
    - ssize_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1311
    functionDepth: 4
    functionLinenumber: 1311
    functionLinenumberEnd: 1373
    functionName: cleanup_del_header
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - CLEANUP_OUT_OK
    - msg_warn
    - vstream_fseek
    - cleanup_milter_error
    - vstring_alloc
    - msg_info
    - cleanup_find_header_end
    - rec_fprintf
    - CLEANUP_DEL_HEADER_RETURN
    - cleanup_find_header_start
    - vstring_free
    linkageType: ''
    returnType: char
    signature: "char *cleanup_del_header(void *context, ssize_t index,\n\t\t\t\t              const
      char *hdr_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1341
    functionName: CLEANUP_DEL_HEADER_RETURN
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEANUP_DEL_HEADER_RETURN(ret)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1393,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1404,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1407,1
    - Dst: dsn_ret_code
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1408,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1409,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1414,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1416,1
    - Dst: xtext_unquote
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1417,1
    - Dst: allprint
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1418,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1418,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1420,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1424,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1425,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1425,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1428,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1432,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1443,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1445,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1458,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1459,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1460,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1467,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1468,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1470,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1474,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1475,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1476,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1485,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1485,1
    - Dst: tok822_parse
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1486,1
    - Dst: tok822_internalize
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1490,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1493,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1499,1
    - Dst: cleanup_addr_sender
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1500,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1500,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1501,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1502,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1510,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1511,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1512,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1514,1
    - Dst: CLEANUP_OUT_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1525,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1525,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 75
    argCount: 3
    argNames:
    - context
    - ext_from
    - esmtp_args
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1377
    functionDepth: 3
    functionLinenumber: 1377
    functionLinenumberEnd: 1526
    functionName: cleanup_chg_from
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - cleanup_addr_sender
    - cleanup_milter_error
    - strncasecmp
    - msg_info
    - tok822_parse
    - msg_panic
    - strlen
    - dsn_ret_code
    - tok822_free_tree
    - vstring_alloc
    - myfree
    - argv_split
    - cleanup_out_format
    - tok822_internalize
    - xtext_unquote
    - vstring_free
    - CLEANUP_OUT_OK
    - msg_warn
    - vstream_ftell
    - vstream_fseek
    - argv_free
    - rec_fprintf
    - allprint
    - mystrdup
    - STR
    linkageType: ''
    returnType: char
    signature: "char *cleanup_chg_from(void *context, const char *ext_from,\n\t\t\t\t
      \           const char *esmtp_args)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1551,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1560,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1562,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1575,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1576,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1577,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1584,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1587,1
    - Dst: dsn_notify_mask
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1588,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1589,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1592,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1594,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1596,1
    - Dst: xtext_unquote_append
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1598,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1598,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1602,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1606,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1609,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1614,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1623,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1623,1
    - Dst: tok822_parse
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1624,1
    - Dst: tok822_internalize
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1628,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1631,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1638,1
    - Dst: cleanup_addr_bcc_dsn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1640,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1640,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1643,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1645,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1647,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1653,1
    - Dst: CLEANUP_OUT_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1654,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1654,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1660,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1661,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1662,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1664,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1671,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1672,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1673,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1675,1
    - Dst: CLEANUP_OUT_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1690,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1690,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 67
    argCount: 3
    argNames:
    - context
    - ext_rcpt
    - esmtp_args
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1691
      start: 1530
    functionDepth: 3
    functionLinenumber: 1530
    functionLinenumberEnd: 1691
    functionName: cleanup_add_rcpt_par
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 1
    functionsReached:
    - vstring_sprintf
    - cleanup_milter_error
    - msg_info
    - tok822_parse
    - cleanup_addr_bcc_dsn
    - msg_panic
    - strlen
    - vstring_alloc
    - strcspn
    - dsn_notify_mask
    - argv_split
    - cleanup_out_format
    - tok822_internalize
    - vstring_free
    - CLEANUP_OUT_OK
    - msg_warn
    - vstream_ftell
    - vstream_fseek
    - xtext_unquote_append
    - argv_free
    - strncasecmp
    - tok822_free_tree
    - STR
    linkageType: ''
    returnType: char
    signature: "char *cleanup_add_rcpt_par(void *context, const char *ext_rcpt,\n\t\t\t\t\t
      \       const char *esmtp_args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_add_rcpt_par
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - ext_rcpt
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1695
    functionDepth: 4
    functionLinenumber: 1695
    functionLinenumberEnd: 1698
    functionName: cleanup_add_rcpt
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - cleanup_add_rcpt_par
    linkageType: ''
    returnType: char
    signature: char *cleanup_add_rcpt(void *context, const char *ext_rcpt)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1723,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1745,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1746,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1747,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1765,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1765,1
    - Dst: tok822_parse
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1766,1
    - Dst: tok822_internalize
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1770,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1773,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1779,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1781,1
    - Dst: CLEANUP_OUT_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1783,1
    - Dst: CLEANUP_DEL_RCPT_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1785,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1785,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1786,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1787,1
    - Dst: CLEANUP_DEL_RCPT_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1788,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1788,1
    - Dst: rec_get_raw
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1790,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1791,1
    - Dst: CLEANUP_DEL_RCPT_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1792,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1792,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1798,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1799,1
    - Dst: CLEANUP_DEL_RCPT_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1800,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1800,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1804,1
    - Dst: rec_goto
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1806,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1807,1
    - Dst: CLEANUP_DEL_RCPT_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1808,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1808,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1814,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1814,1
    - Dst: rec_attr_map
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1817,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1825,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1826,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1829,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1829,1
    - Dst: DSN_NOTIFY_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1830,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1837,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1838,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1841,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1841,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1842,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1843,1
    - Dst: CLEANUP_DEL_RCPT_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1844,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1844,1
    - Dst: REC_PUT_BUF
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1846,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1847,1
    - Dst: CLEANUP_DEL_RCPT_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1848,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1848,1
    - Dst: been_here_drop
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1854,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1856,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1861,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1865,1
    - Dst: been_here_drop_fixed
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1874,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1874,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1877,1
    - Dst: CLEANUP_DEL_RCPT_RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1880,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 107
    argCount: 2
    argNames:
    - context
    - ext_rcpt
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1702
    functionDepth: 3
    functionLinenumber: 1702
    functionLinenumberEnd: 1881
    functionName: cleanup_del_rcpt
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - split_nameval
    - rec_attr_map
    - REC_PUT_BUF
    - cleanup_milter_error
    - msg_info
    - tok822_parse
    - atoi
    - rec_goto
    - DSN_NOTIFY_OK
    - strlen
    - tok822_free_tree
    - alldig
    - vstring_alloc
    - rec_get_raw
    - been_here_drop_fixed
    - myfree
    - been_here_drop
    - tok822_internalize
    - CLEANUP_OUT_OK
    - msg_warn
    - vstream_ftell
    - vstream_fseek
    - CLEANUP_DEL_RCPT_RETURN
    - strcmp
    - mystrdup
    - STR
    linkageType: ''
    returnType: char
    signature: char *cleanup_del_rcpt(void *context, const char *ext_rcpt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1749
    functionDepth: 0
    functionLinenumber: 1749
    functionLinenumberEnd: 1758
    functionName: CLEANUP_DEL_RCPT_RETURN
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEANUP_DEL_RCPT_RETURN(ret)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_body_edit_write
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1898,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1899,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1902,1
    - Dst: cleanup_body_edit_start
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1903,1
    - Dst: cleanup_body_edit_write
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1904,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1905,1
    - Dst: cleanup_body_edit_finish
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1908,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1909,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1912,1
    - Dst: CLEANUP_OUT_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1914,1
    - Dst: cleanup_milter_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1914,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - context
    - cmd
    - rec_type
    - buf
    argTypes:
    - void*
    - int
    - int
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1885
    functionDepth: 3
    functionLinenumber: 1885
    functionLinenumberEnd: 1915
    functionName: cleanup_repl_body
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - cleanup_body_edit_start
    - CLEANUP_OUT_OK
    - cleanup_milter_error
    - VSTRING_RESET
    - cleanup_body_edit_write
    - cleanup_body_edit_finish
    linkageType: ''
    returnType: char
    signature: "char *cleanup_repl_body(void *context, int cmd, int rec_type,\n\t\t\t\t
      \            VSTRING *buf)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1931,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1933,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1944,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1945,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1947,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1948,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1949,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1951,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1953,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1955,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1957,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1959,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1961,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1964,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1966,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1968,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1974,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1977,1
    - Dst: nvtable_find
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1978,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1979,1
    - Dst: nvtable_find
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1980,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1981,1
    - Dst: nvtable_find
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1982,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1984,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1985,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1990,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:1991,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 2
    argNames:
    - name
    - ptr
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1993
      start: 1919
    functionDepth: 1
    functionLinenumber: 1919
    functionLinenumberEnd: 1993
    functionName: cleanup_milter_eval
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - nvtable_find
    - strcasecmp
    - vstring_strcat
    - strcmp
    - STR
    linkageType: ''
    returnType: char
    signature: char *cleanup_milter_eval(const char *name, void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: milter_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2000,1
    - Dst: milter_receive
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2001,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2003,1
    - Dst: milter_macro_callback
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2006,1
    - Dst: milter_edit_callback
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2007,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - state
    - count
    argTypes:
    - CLEANUP_STATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 1997
    functionDepth: 4
    functionLinenumber: 1997
    functionLinenumberEnd: 2013
    functionName: cleanup_milter_receive
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - milter_receive
    - milter_macro_callback
    - milter_free
    - milter_edit_callback
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void cleanup_milter_receive(CLEANUP_STATE *state, int count)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2027,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2034,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2034,1
    - Dst: CLEANUP_MILTER_REJECTING_OR_DISCARDING_MESSAGE
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2045,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2047,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2056,1
    - Dst: CLEANUP_OUT_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2062,1
    - Dst: cleanup_strerror
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2085,1
    - Dst: CLEANUP_MILTER_SET_SMTP_REPLY
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2100,1
    - Dst: CLEANUP_MILTER_SET_SMTP_REPLY
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2107,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2114,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2116,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2120,1
    - Dst: info_log_addr_form_sender
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2121,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2123,1
    - Dst: info_log_addr_form_recipient
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2124,1
    - Dst: nvtable_find
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2125,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2126,1
    - Dst: nvtable_find
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2127,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2128,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2129,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2129,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 3
    argNames:
    - state
    - event
    - resp
    argTypes:
    - CLEANUP_STATE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2132
      start: 2017
    functionDepth: 4
    functionLinenumber: 2017
    functionLinenumberEnd: 2132
    functionName: cleanup_milter_apply
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - CLEANUP_MILTER_SET_SMTP_REPLY
    - CLEANUP_OUT_OK
    - vstring_sprintf
    - info_log_addr_form_sender
    - nvtable_find
    - vstring_str
    - msg_info
    - cleanup_strerror
    - info_log_addr_form_recipient
    - strcmp
    - CLEANUP_MILTER_REJECTING_OR_DISCARDING_MESSAGE
    - vstring_sprintf_append
    - STR
    linkageType: ''
    returnType: char
    signature: "char *cleanup_milter_apply(CLEANUP_STATE *state, const char *event,\n\t\t\t\t\t
      \       const char *resp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nvtable_find
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2147,1
    - Dst: nvtable_find
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2149,1
    - Dst: nvtable_find
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2150,1
    - Dst: nvtable_find
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2151,1
    - Dst: nvtable_find
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2152,1
    - Dst: nvtable_find
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2153,1
    - Dst: nvtable_find
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2154,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2157,1
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2161,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2173,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - CLEANUP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2181
      start: 2136
    functionDepth: 1
    functionLinenumber: 2136
    functionLinenumberEnd: 2181
    functionName: cleanup_milter_client_init
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - inet_proto_info
    - atoi
    - alldig
    - nvtable_find
    linkageType: ''
    returnType: void
    signature: void cleanup_milter_client_init(CLEANUP_STATE *state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2191,1
    - Dst: cleanup_milter_client_init
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2197,1
    - Dst: cleanup_milter_header_checks_reinit
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2203,1
    - Dst: milter_message
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2209,1
    - Dst: cleanup_milter_apply
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2211,1
    - Dst: cleanup_milter_hbc_finish
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2217,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - state
    - milters
    argTypes:
    - CLEANUP_STATE*
    - MILTERS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2185
    functionDepth: 5
    functionLinenumber: 2185
    functionLinenumberEnd: 2221
    functionName: cleanup_milter_inspect
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - cleanup_milter_header_checks_reinit
    - cleanup_milter_hbc_finish
    - msg_info
    - milter_message
    - cleanup_milter_client_init
    - cleanup_milter_apply
    linkageType: ''
    returnType: void
    signature: void cleanup_milter_inspect(CLEANUP_STATE *state, MILTERS *milters)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: milter_macro_callback
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2236,1
    - Dst: milter_edit_callback
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2237,1
    - Dst: cleanup_milter_client_init
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2244,1
    - Dst: milter_conn_event
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2249,1
    - Dst: cleanup_milter_apply
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2251,1
    - Dst: CLEANUP_MILTER_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2256,1
    - Dst: nvtable_find
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2257,1
    - Dst: milter_helo_event
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2259,1
    - Dst: cleanup_milter_apply
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2260,1
    - Dst: CLEANUP_MILTER_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2264,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2266,1
    - Dst: quote_821_local
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2269,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2271,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2272,1
    - Dst: milter_mail_event
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2274,1
    - Dst: cleanup_milter_apply
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2275,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - state
    - milters
    - addr
    argTypes:
    - CLEANUP_STATE*
    - MILTERS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2225
    functionDepth: 5
    functionLinenumber: 2225
    functionLinenumberEnd: 2279
    functionName: cleanup_milter_emul_mail
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - nvtable_find
    - quote_821_local
    - milter_macro_callback
    - milter_mail_event
    - vstring_alloc
    - STR
    - milter_helo_event
    - milter_edit_callback
    - vstring_strcpy
    - milter_conn_event
    - cleanup_milter_client_init
    - CLEANUP_MILTER_OK
    - cleanup_milter_apply
    linkageType: ''
    returnType: void
    signature: "void cleanup_milter_emul_mail(CLEANUP_STATE *state,\n\t\t\t\t         MILTERS
      *milters,\n\t\t\t\t         const char *addr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2295,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2303,1
    - Dst: quote_821_local
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2306,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2308,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2309,1
    - Dst: milter_rcpt_event
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2311,1
    - Dst: cleanup_milter_apply
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2312,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2313,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2315,1
    - Dst: CLEANUP_MILTER_SET_REASON
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2316,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - state
    - milters
    - addr
    argTypes:
    - CLEANUP_STATE*
    - MILTERS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2319
      start: 2283
    functionDepth: 5
    functionLinenumber: 2283
    functionLinenumberEnd: 2319
    functionName: cleanup_milter_emul_rcpt
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_warn
    - cleanup_milter_apply
    - CLEANUP_MILTER_SET_REASON
    - milter_rcpt_event
    - vstring_alloc
    - vstring_strcpy
    - quote_821_local
    - STR
    linkageType: ''
    returnType: void
    signature: "void cleanup_milter_emul_rcpt(CLEANUP_STATE *state,\n\t\t\t\t         MILTERS
      *milters,\n\t\t\t\t         const char *addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2332,1
    - Dst: milter_data_event
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2334,1
    - Dst: cleanup_milter_apply
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - state
    - milters
    argTypes:
    - CLEANUP_STATE*
    - MILTERS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2336
      start: 2323
    functionDepth: 5
    functionLinenumber: 2323
    functionLinenumberEnd: 2336
    functionName: cleanup_milter_emul_data
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - milter_data_event
    - cleanup_milter_apply
    linkageType: ''
    returnType: void
    signature: void cleanup_milter_emul_data(CLEANUP_STATE *state, MILTERS *milters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - addr
    - masq_domains
    argTypes:
    - CLEANUP_STATE*
    - VSTRING*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2379
      start: 2376
    functionDepth: 1
    functionLinenumber: 2376
    functionLinenumberEnd: 2379
    functionName: cleanup_masquerade_internal
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - msg_panic
    linkageType: ''
    returnType: int
    signature: int cleanup_masquerade_internal(CLEANUP_STATE *state, VSTRING *addr,
      ARGV *masq_domains)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - result
    - addr
    argTypes:
    - char*
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2386
      start: 2381
    functionDepth: 1
    functionLinenumber: 2381
    functionLinenumberEnd: 2386
    functionName: cleanup_rewrite_internal
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - vstring_strcpy
    linkageType: ''
    returnType: int
    signature: "int cleanup_rewrite_internal(const char *context, VSTRING *result,\n\t\t\t\t
      \        const char *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - state
    - addr
    - maps
    - propagate
    argTypes:
    - CLEANUP_STATE*
    - VSTRING*
    - MAPS*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2388
    functionDepth: 1
    functionLinenumber: 2388
    functionLinenumberEnd: 2392
    functionName: cleanup_map11_internal
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - msg_panic
    linkageType: ''
    returnType: int
    signature: "int cleanup_map11_internal(CLEANUP_STATE *state, VSTRING *addr,\n\t\t\t
      \              MAPS *maps, int propagate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - state
    - addr
    - maps
    - propagate
    argTypes:
    - CLEANUP_STATE*
    - char*
    - MAPS*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2398
      start: 2394
    functionDepth: 1
    functionLinenumber: 2394
    functionLinenumberEnd: 2398
    functionName: cleanup_map1n_internal
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - msg_panic
    linkageType: ''
    returnType: ARGV
    signature: "ARGV *cleanup_map1n_internal(CLEANUP_STATE *state, const char *addr,\n\t\t\t
      \              MAPS *maps, int propagate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - state
    - type
    - buf
    - len
    argTypes:
    - CLEANUP_STATE*
    - int
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2404
      start: 2400
    functionDepth: 1
    functionLinenumber: 2400
    functionLinenumberEnd: 2404
    functionName: cleanup_envelope
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - msg_panic
    linkageType: ''
    returnType: void
    signature: "void cleanup_envelope(CLEANUP_STATE *state, int type, const char *buf,\n\t\t\t
      \        ssize_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2408,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2409,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2410,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2411,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2412,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2413,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2414,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2415,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2416,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2417,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2418,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2419,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2420,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2422
      start: 2406
    functionDepth: 1
    functionLinenumber: 2406
    functionLinenumberEnd: 2422
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 33
    functionsReached:
    - msg_warn
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2430,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2432,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2434,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - argv
    argTypes:
    - VSTRING*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2437
      start: 2426
    functionDepth: 1
    functionLinenumber: 2426
    functionLinenumberEnd: 2437
    functionName: flatten_args
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - vstring_strcat
    - VSTRING_ADDCH
    linkageType: ''
    returnType: void
    signature: void flatten_args(VSTRING *buf, char **argv)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2443,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2453,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2454,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2456,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2459,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2460,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2463,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2465,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2466,1
    - Dst: rec_get_raw
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2467,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2468,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2470,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2470,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2473,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2474,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2479,1
    - Dst: rec_get_raw
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2480,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2481,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2483,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2484,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2487,1
    - Dst: atol
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2492,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2492,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2493,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2494,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2496,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2497,1
    - Dst: atol
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2501,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2501,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2502,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2503,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2505,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2506,1
    - Dst: atol
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2511,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2511,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2512,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2513,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2515,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2516,1
    - Dst: header_opts_find
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2520,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2520,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2524,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2524,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2534,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2537,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2542,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 72
    argCount: 2
    argNames:
    - state
    - path
    argTypes:
    - CLEANUP_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2543
      start: 2441
    functionDepth: 3
    functionLinenumber: 2441
    functionLinenumberEnd: 2543
    functionName: open_queue_file
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - vstream_ftell
    - header_opts_find
    - rec_get_raw
    - vstring_alloc
    - vstream_fclose
    - LEN
    - myfree
    - sscanf
    - atol
    - msg_info
    - argv_add
    - msg_fatal
    - vstream_fopen
    - mystrdup
    - vstring_free
    - STR
    linkageType: ''
    returnType: void
    signature: void open_queue_file(CLEANUP_STATE *state, const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2547,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - CLEANUP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2551
      start: 2545
    functionDepth: 1
    functionLinenumber: 2545
    functionLinenumberEnd: 2551
    functionName: close_queue_file
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 0
    functionsReached:
    - myfree
    - vstream_fclose
    linkageType: ''
    returnType: void
    signature: void close_queue_file(CLEANUP_STATE *state)
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2555,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2556,1
    - Dst: isatty
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2558,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2558,1
    - Dst: cleanup_state_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2559,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2562,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2563,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2564,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2569,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2581,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2582,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2584,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2587,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2589,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2590,1
    - Dst: allspace
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2592,1
    - Dst: argv_splitq
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2594,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2596,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2597,1
    - Dst: usage
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2598,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2599,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2601,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2602,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2604,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2607,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2609,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2611,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2613,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2614,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2616,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2617,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2619,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2621,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2621,1
    - Dst: close_queue_file
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2622,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2625,1
    - Dst: open_queue_file
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2627,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2629,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2631,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2633,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2635,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2636,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2639,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2642,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2643,1
    - Dst: cleanup_milter_hbc_finish
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2645,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2646,1
    - Dst: cleanup_milter_header_checks_deinit
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2648,1
    - Dst: close_queue_file
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2650,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2651,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2653,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2656,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2658,1
    - Dst: flatten_args
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2661,1
    - Dst: cleanup_add_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2662,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2662,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2664,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2666,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2668,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2669,1
    - Dst: flatten_args
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2671,1
    - Dst: cleanup_ins_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2672,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2672,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2674,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2676,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2678,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2679,1
    - Dst: flatten_args
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2681,1
    - Dst: cleanup_upd_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2682,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2682,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2684,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2686,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2688,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2689,1
    - Dst: cleanup_del_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2691,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2693,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2695,1
    - Dst: extpar
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2701,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2702,1
    - Dst: cleanup_chg_from
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2704,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2707,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2709,1
    - Dst: cleanup_add_rcpt
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2711,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2713,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2715,1
    - Dst: cleanup_add_rcpt_par
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2718,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2720,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2722,1
    - Dst: cleanup_del_rcpt
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2724,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2726,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2728,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2733,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2734,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2736,1
    - Dst: cleanup_repl_body
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2737,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2739,1
    - Dst: cleanup_repl_body
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2740,1
    - Dst: cleanup_repl_body
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2742,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2744,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2745,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2748,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2750,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2753,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2755,1
    - Dst: cleanup_milter_header_checks_init
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2756,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2758,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2760,1
    - Dst: maps_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2764,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2766,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2773,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2775,1
    - Dst: cleanup_milter_apply
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2777,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2779,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2780,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2783,1
    - Dst: cleanup_strflags
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2783,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2785,1
    - Dst: cleanup_strerror
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2785,1
    - Dst: cleanup_state_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2787,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_milter.c:2789,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 225
    argCount: 2
    argNames:
    - unused_argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2553
    functionDepth: 6
    functionLinenumber: 2553
    functionLinenumberEnd: 2792
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_milter.c
    functionUses: 39
    functionsReached:
    - LEN
    - msg_vstream_init
    - msg_info
    - atoi
    - cleanup_upd_header
    - argv_splitq
    - vstring_get_nonl
    - VSTREAM_PATH
    - cleanup_state_alloc
    - vstring_alloc
    - vstream_fflush
    - alldig
    - cleanup_strerror
    - vstring_str
    - vstream_fopen
    - cleanup_strflags
    - cleanup_ins_header
    - extpar
    - cleanup_add_rcpt_par
    - maps_free
    - cleanup_milter_header_checks_init
    - cleanup_milter_hbc_finish
    - maps_create
    - myfree
    - cleanup_add_header
    - cleanup_repl_body
    - vstream_printf
    - allspace
    - cleanup_milter_header_checks_deinit
    - isatty
    - flatten_args
    - vstring_free
    - close_queue_file
    - cleanup_milter_apply
    - msg_warn
    - open_queue_file
    - vstring_fgets_nonl
    - cleanup_chg_from
    - vstream_fclose
    - argv_free
    - cleanup_del_rcpt
    - cleanup_add_rcpt
    - strcmp
    - cleanup_state_free
    - usage
    - vstream_fileno
    - mystrdup
    - cleanup_del_header
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **argv)
  - 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: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_envelope.c
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:102,1
    - Dst: cleanup_envelope_process
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - state
    - type
    - str
    - len
    argTypes:
    - CLEANUP_STATE*
    - int
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 115
    functionName: cleanup_envelope
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_envelope.c
    functionUses: 0
    functionsReached:
    - cleanup_out_format
    - cleanup_envelope_process
    linkageType: ''
    returnType: void
    signature: "void cleanup_envelope(CLEANUP_STATE *state, int type,\n\t\t\t         const
      char *str, ssize_t len)"
  - BBCount: 69
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:138,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:142,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:144,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:153,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:155,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:171,1
    - Dst: cleanup_milter_receive
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:172,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:183,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:184,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:184,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:186,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:193,1
    - Dst: rec_attr_map
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:197,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:206,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:207,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:238,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:240,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:246,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:259,1
    - Dst: REC_TYPE_WARN_ARG
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:260,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:271,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:277,1
    - Dst: cleanup_addr_recipient
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:278,1
    - Dst: CLEANUP_MILTER_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:281,1
    - Dst: cleanup_milter_emul_rcpt
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:282,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:283,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:286,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:294,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:298,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:306,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:308,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:310,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:315,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:319,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:319,1
    - Dst: DSN_NOTIFY_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:320,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:321,1
    - Dst: QMGR_READ_FLAG_FROM_DSN
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:325,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:330,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:332,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:334,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:342,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:343,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:344,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:345,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:346,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:365,1
    - Dst: REC_TYPE_TIME_SCAN
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:375,1
    - Dst: cleanup_out
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:376,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:379,1
    - Dst: time
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:380,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:386,1
    - Dst: cleanup_out
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:387,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:396,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:403,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:404,1
    - Dst: cleanup_addr_sender
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:406,1
    - Dst: CLEANUP_MILTER_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:413,1
    - Dst: cleanup_milter_emul_mail
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:414,1
    - Dst: allprint
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:419,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:420,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:426,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:427,1
    - Dst: cleanup_out
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:428,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:433,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:433,1
    - Dst: DSN_RET_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:434,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:435,1
    - Dst: cleanup_out
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:441,1
    - Dst: cleanup_out
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:448,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:456,1
    - Dst: verp_delims_verify
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:458,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:459,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:462,1
    - Dst: cleanup_out
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:463,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:470,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:475,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:477,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:479,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:483,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:489,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:490,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:491,1
    - Dst: DEL_REQ_TRACE_FLAGS
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:497,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:497,1
    - Dst: nvtable_update
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:499,1
    - Dst: cleanup_out
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:500,1
    - Dst: cleanup_out
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope.c:503,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 251
    argCount: 4
    argNames:
    - state
    - type
    - buf
    - len
    argTypes:
    - CLEANUP_STATE*
    - int
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 506
    functionName: cleanup_envelope_process
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_envelope.c
    functionUses: 1
    functionsReached:
    - cleanup_addr_sender
    - split_nameval
    - rec_attr_map
    - msg_info
    - atoi
    - CLEANUP_MILTER_OK
    - DSN_NOTIFY_OK
    - REC_TYPE_TIME_SCAN
    - cleanup_milter_emul_rcpt
    - alldig
    - sscanf
    - cleanup_out
    - verp_delims_verify
    - DSN_RET_OK
    - time
    - myfree
    - REC_TYPE_WARN_ARG
    - STREQ
    - cleanup_out_format
    - msg_warn
    - strchr
    - vstream_ftell
    - DEL_REQ_TRACE_FLAGS
    - cleanup_addr_recipient
    - nvtable_update
    - cleanup_milter_receive
    - QMGR_READ_FLAG_FROM_DSN
    - vstring_strcpy
    - cleanup_milter_emul_mail
    - allprint
    - strcmp
    - msg_fatal
    - mystrdup
    - STR
    linkageType: ''
    returnType: void
    signature: "void cleanup_envelope_process(CLEANUP_STATE *state, int type,\n\t\t\t\t
      \            const char *buf, ssize_t len)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:97,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:97,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:99,1
    - Dst: casefold
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:100,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:101,1
    - Dst: mystrndup
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:107,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:107,1
    - Dst: string_list_match
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:108,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:109,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:111,1
    - Dst: casefold
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:128,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:129,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:133,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:137,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:140,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:141,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:142,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 3
    argNames:
    - state
    - addr
    - masq_domains
    argTypes:
    - CLEANUP_STATE*
    - VSTRING*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 150
    functionName: cleanup_masquerade_external
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c
    functionUses: 0
    functionsReached:
    - strrchr
    - vstring_truncate
    - strlen
    - mystrndup
    - string_list_match
    - msg_info
    - myfree
    - vstring_strcat
    - strcmp
    - casefold
    - STR
    linkageType: ''
    returnType: int
    signature: "int cleanup_masquerade_external(CLEANUP_STATE *state, VSTRING *addr,\n\t\t\t\t
      \           ARGV *masq_domains)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:157,1
    - Dst: tok822_externalize
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:160,1
    - Dst: cleanup_masquerade_external
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:161,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:162,1
    - Dst: tok822_scan
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:163,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:163,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - state
    - tree
    - masq_domains
    argTypes:
    - CLEANUP_STATE*
    - TOK822*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 154
    functionDepth: 4
    functionLinenumber: 154
    functionLinenumberEnd: 167
    functionName: cleanup_masquerade_tree
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c
    functionUses: 0
    functionsReached:
    - cleanup_masquerade_external
    - tok822_scan
    - vstring_alloc
    - tok822_externalize
    - tok822_free_tree
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: "int cleanup_masquerade_tree(CLEANUP_STATE *state, TOK822 *tree,\n\t\t\t\t
      \       ARGV *masq_domains)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:174,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:177,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:177,1
    - Dst: cleanup_masquerade_external
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:178,1
    - Dst: unquote_822_local
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:179,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:179,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - state
    - addr
    - masq_domains
    argTypes:
    - CLEANUP_STATE*
    - VSTRING*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 183
    functionName: cleanup_masquerade_internal
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c
    functionUses: 0
    functionsReached:
    - cleanup_masquerade_external
    - unquote_822_local
    - vstring_alloc
    - quote_822_local
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: "int cleanup_masquerade_internal(CLEANUP_STATE *state, VSTRING *addr,\n\t\t\t\t
      \           ARGV *masq_domains)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:204,1
    - Dst: string_list_init
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:208,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:210,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:211,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:212,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:213,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:214,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:216,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:217,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:218,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:219,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:223,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:224,1
    - Dst: cleanup_masquerade_external
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:225,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:227,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:227,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:228,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:229,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:231,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:232,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:233,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 237
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c
    functionUses: 39
    functionsReached:
    - strchr
    - cleanup_masquerade_external
    - vstream_fflush
    - vstring_alloc
    - argv_free
    - vstring_strcpy
    - argv_split
    - vstream_printf
    - string_list_init
    - msg_fatal
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/cleanup/cleanup_final.c:54,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_final.c:56,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_final.c:59,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/cleanup/cleanup_final.c:69,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_final.c:70,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_final.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - CLEANUP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 78
    functionName: cleanup_final
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_final.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - vstream_fseek
    - vstream_fflush
    - cleanup_out_format
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void cleanup_final(CLEANUP_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rewrite_clnt
      Src: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c:87,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c:88,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context_name
    - result
    - addr
    argTypes:
    - char*
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 4
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: cleanup_rewrite_external
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c
    functionUses: 0
    functionsReached:
    - rewrite_clnt
    - strcmp
    - STR
    linkageType: ''
    returnType: int
    signature: "int cleanup_rewrite_external(const char *context_name, VSTRING *result,\n\t\t\t\t
      \        const char *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c:95,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c:96,1
    - Dst: tok822_externalize
      Src: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c:99,1
    - Dst: cleanup_rewrite_external
      Src: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c:100,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c:100,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c:101,1
    - Dst: tok822_scan
      Src: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c:102,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c:102,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c:103,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - context_name
    - tree
    argTypes:
    - char*
    - TOK822*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 93
    functionDepth: 5
    functionLinenumber: 93
    functionLinenumberEnd: 106
    functionName: cleanup_rewrite_tree
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c
    functionUses: 0
    functionsReached:
    - cleanup_rewrite_external
    - vstring_alloc
    - tok822_scan
    - tok822_externalize
    - tok822_free_tree
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int cleanup_rewrite_tree(const char *context_name, TOK822 *tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c:113,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c:114,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c:117,1
    - Dst: cleanup_rewrite_external
      Src: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c:118,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c:118,1
    - Dst: unquote_822_local
      Src: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c:119,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c:119,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c:120,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - context_name
    - result
    - addr
    argTypes:
    - char*
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 110
    functionDepth: 5
    functionLinenumber: 110
    functionLinenumberEnd: 123
    functionName: cleanup_rewrite_internal
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c
    functionUses: 0
    functionsReached:
    - cleanup_rewrite_external
    - unquote_822_local
    - vstring_alloc
    - quote_822_local
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: "int cleanup_rewrite_internal(const char *context_name,\n\t\t\t\t         VSTRING
      *result, const char *addr)"
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_bounce.c
    functionUses: 434
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bounce_append
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:76,1
    - Dst: CLEANUP_MSG_STATS
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - state
    - rcpt
    - dsn
    argTypes:
    - CLEANUP_STATE*
    - RECIPIENT*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: cleanup_bounce_append
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_bounce.c
    functionUses: 0
    functionsReached:
    - CLEANUP_MSG_STATS
    - bounce_append
    linkageType: ''
    returnType: void
    signature: "void cleanup_bounce_append(CLEANUP_STATE *state, RECIPIENT *rcpt,\n\t\t\t\t
      \         DSN *dsn)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:88,1
    - Dst: dsn_split
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:115,1
    - Dst: DSN_STATUS
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:116,1
    - Dst: cleanup_stat_detail
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:119,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:137,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:137,1
    - Dst: vstream_fpurge
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:138,1
    - Dst: vstream_clearerr
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:139,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:141,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:142,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:145,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:146,1
    - Dst: rec_get
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:147,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:150,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:152,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:152,1
    - Dst: rec_attr_map
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:156,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:164,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:165,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:168,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:168,1
    - Dst: DSN_NOTIFY_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:169,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:176,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:177,1
    - Dst: RECIPIENT_ASSIGN
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:181,1
    - Dst: DSN_SIMPLE
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:184,1
    - Dst: cleanup_bounce_append
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:185,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:190,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:194,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:202,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:204,1
    - Dst: RECIPIENT_ASSIGN
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:210,1
    - Dst: DSN_SIMPLE
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:211,1
    - Dst: cleanup_bounce_append
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:212,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:214,1
    - Dst: nvtable_find
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:220,1
    - Dst: bounce_flush
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:230,1
    - Dst: bounce_flush_verp
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:236,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_bounce.c:242,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 93
    argCount: 1
    argNames:
    - state
    argTypes:
    - CLEANUP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 85
    functionDepth: 4
    functionLinenumber: 85
    functionLinenumberEnd: 257
    functionName: cleanup_bounce
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_bounce.c
    functionUses: 0
    functionsReached:
    - split_nameval
    - rec_attr_map
    - cleanup_bounce_append
    - dsn_split
    - vstream_ferror
    - atoi
    - DSN_NOTIFY_OK
    - nvtable_find
    - vstream_fflush
    - vstring_alloc
    - alldig
    - vstream_clearerr
    - rec_get
    - cleanup_stat_detail
    - RECIPIENT_ASSIGN
    - bounce_flush
    - vstream_fpurge
    - myfree
    - DSN_SIMPLE
    - bounce_flush_verp
    - vstring_free
    - msg_warn
    - vstream_ftell
    - vstream_fseek
    - DSN_STATUS
    - msg_fatal
    - mystrdup
    - STR
    linkageType: ''
    returnType: int
    signature: int cleanup_bounce(CLEANUP_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c
    functionUses: 113
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REC_SPACE_NEED
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:108,1
    - Dst: cleanup_region_init
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:109,1
    - Dst: cleanup_region_return
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:115,1
    - Dst: cleanup_region_open
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:127,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:132,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:133,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:137,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:143,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:144,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - CLEANUP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 149
    functionName: cleanup_body_edit_start
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - vstream_ftell
    - vstream_fseek
    - REC_SPACE_NEED
    - cleanup_region_init
    - rec_fprintf
    - cleanup_region_return
    - cleanup_region_open
    linkageType: ''
    returnType: int
    signature: int cleanup_body_edit_start(CLEANUP_STATE *state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:164,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:165,1
    - Dst: REC_SPACE_NEED
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:177,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:177,1
    - Dst: cleanup_region_open
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:186,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:188,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:190,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:192,1
    - Dst: cleanup_region_close
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:193,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:200,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:201,1
    - Dst: CLEANUP_OUT_BUF
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:210,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:211,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - state
    - rec_type
    - buf
    argTypes:
    - CLEANUP_STATE*
    - int
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 221
    functionName: cleanup_body_edit_write
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - msg_warn
    - vstream_ftell
    - vstream_fseek
    - LEN
    - REC_SPACE_NEED
    - msg_info
    - rec_fprintf
    - CLEANUP_OUT_BUF
    - cleanup_region_open
    - cleanup_region_close
    linkageType: ''
    returnType: int
    signature: "int cleanup_body_edit_write(CLEANUP_STATE *state, int rec_type,\n\t\t\t\t
      \       VSTRING *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:237,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:239,1
    - Dst: cleanup_region_close
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:240,1
    - Dst: CLEANUP_OUT_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - CLEANUP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 243
    functionName: cleanup_body_edit_finish
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c
    functionUses: 1
    functionsReached:
    - CLEANUP_OUT_OK
    - rec_fprintf
    - vstream_ftell
    - cleanup_region_close
    linkageType: ''
    returnType: int
    signature: int cleanup_body_edit_finish(CLEANUP_STATE *state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_state_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:155,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:164,1
    - Dst: mail_stream_file
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:165,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:168,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:168,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:169,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:171,1
    - Dst: mail_queue_remove
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:183,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:184,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - src
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 141
    functionDepth: 4
    functionLinenumber: 141
    functionLinenumberEnd: 189
    functionName: cleanup_open
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_api.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - VSTREAM_PATH
    - cleanup_state_alloc
    - mail_stream_file
    - msg_info
    - mail_queue_remove
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: CLEANUP_STATE
    signature: CLEANUP_STATE *cleanup_open(VSTREAM *src)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:205,1
    - Dst: cleanup_strflags
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:205,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:215,1
    - Dst: cleanup_strflags
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - state
    - flags
    argTypes:
    - CLEANUP_STATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 216
    functionName: cleanup_control
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_api.c
    functionUses: 0
    functionsReached:
    - cleanup_strflags
    - msg_info
    linkageType: ''
    returnType: void
    signature: void cleanup_control(CLEANUP_STATE *state, int flags)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: CLEANUP_OUT_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:229,1
    - Dst: CLEANUP_MILTER_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:248,1
    - Dst: cleanup_milter_inspect
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:250,1
    - Dst: cleanup_milter_emul_data
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:252,1
    - Dst: CLEANUP_MILTER_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:253,1
    - Dst: cleanup_milter_inspect
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:254,1
    - Dst: CLEANUP_OUT_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:262,1
    - Dst: cleanup_final
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:263,1
    - Dst: CAN_BOUNCE
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:292,1
    - Dst: cleanup_bounce
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:293,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:311,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:313,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:316,1
    - Dst: mail_stream_ctl
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:318,1
    - Dst: CA_MAIL_STREAM_CTL_QUEUE
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:319,1
    - Dst: CA_MAIL_STREAM_CTL_CLASS
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:320,1
    - Dst: CA_MAIL_STREAM_CTL_SERVICE
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:321,1
    - Dst: CA_MAIL_STREAM_CTL_DELAY
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:323,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:327,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:327,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:328,1
    - Dst: mail_flow_put
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:336,1
    - Dst: mail_stream_finish
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:338,1
    - Dst: mail_flow_put
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:346,1
    - Dst: mail_stream_cleanup
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:348,1
    - Dst: REMOVE
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:360,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:360,1
    - Dst: REMOVE
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:361,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:362,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:363,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:378,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:379,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:386,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 1
    argNames:
    - state
    argTypes:
    - CLEANUP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 220
    functionDepth: 6
    functionLinenumber: 220
    functionLinenumberEnd: 389
    functionName: cleanup_flush
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_api.c
    functionUses: 0
    functionsReached:
    - msg_info
    - mail_stream_cleanup
    - CLEANUP_MILTER_OK
    - cleanup_milter_inspect
    - VSTREAM_PATH
    - cleanup_final
    - cleanup_milter_emul_data
    - vstring_str
    - CAN_BOUNCE
    - CA_MAIL_STREAM_CTL_SERVICE
    - myfree
    - mail_flow_put
    - cleanup_bounce
    - vstring_free
    - mail_stream_ctl
    - mail_stream_finish
    - CLEANUP_OUT_OK
    - CA_MAIL_STREAM_CTL_CLASS
    - msg_warn
    - CA_MAIL_STREAM_CTL_QUEUE
    - CA_MAIL_STREAM_CTL_DELAY
    - REMOVE
    - mystrdup
    linkageType: ''
    returnType: int
    signature: int cleanup_flush(CLEANUP_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: CAN_BOUNCE
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_api.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAN_BOUNCE()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: milter_disc_event
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:401,1
    - Dst: cleanup_state_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_api.c:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - CLEANUP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 403
    functionName: cleanup_free
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_api.c
    functionUses: 0
    functionsReached:
    - milter_disc_event
    - cleanup_state_free
    linkageType: ''
    returnType: void
    signature: void cleanup_free(CLEANUP_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_sig
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: cleanup_all
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_init.c
    functionUses: 0
    functionsReached:
    - cleanup_sig
    linkageType: ''
    returnType: void
    signature: void cleanup_all(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:313,1
    - Dst: REMOVE
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:315,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:315,1
    - Dst: REMOVE
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:319,1
    - Dst: _exit
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 325
    functionName: cleanup_sig
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_init.c
    functionUses: 1
    functionsReached:
    - _exit
    - vstring_str
    - signal
    - REMOVE
    linkageType: ''
    returnType: void
    signature: void cleanup_sig(int sig)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: maps_create
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:358,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:363,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:368,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:372,1
    - Dst: name_mask
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:379,1
    - Dst: name_mask
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:383,1
    - Dst: name_mask
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:387,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:390,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:393,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:396,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:399,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:402,1
    - Dst: string_list_init
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:405,1
    - Dst: name_mask
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:408,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:412,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:417,1
    - Dst: milter_create
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:421,1
    - Dst: cleanup_milter_header_checks_init
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:437,1
    - Dst: flush_init
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:439,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 440
    functionName: cleanup_pre_jail
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_init.c
    functionUses: 0
    functionsReached:
    - flush_init
    - milter_create
    - name_mask
    - cleanup_milter_header_checks_init
    - maps_create
    - argv_split
    - string_list_init
    linkageType: ''
    returnType: void
    signature: void cleanup_pre_jail(char *unused_name, char **unused_argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENFORCING_SIZE_LIMIT
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:454,1
    - Dst: set_file_limit
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:455,1
    - Dst: ext_prop_mask
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:461,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:468,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:468,1
    - Dst: unescape
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:469,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:472,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:472,1
    - Dst: unescape
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:473,1
    - Dst: hfrom_format_parse
      Src: /src/postfix/postfix/src/cleanup/cleanup_init.c:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 480
    functionName: cleanup_post_jail
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_init.c
    functionUses: 0
    functionsReached:
    - ENFORCING_SIZE_LIMIT
    - hfrom_format_parse
    - strlen
    - vstring_alloc
    - ext_prop_mask
    - unescape
    - set_file_limit
    linkageType: ''
    returnType: void
    signature: void cleanup_post_jail(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_region.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - start
    - len
    argTypes:
    - off_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: cleanup_region_alloc
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_region.c
    functionUses: 0
    functionsReached:
    - mymalloc
    linkageType: ''
    returnType: CLEANUP_REGION
    signature: CLEANUP_REGION *cleanup_region_alloc(off_t start, off_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_region.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - regions
    argTypes:
    - CLEANUP_REGION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: cleanup_region_free
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_region.c
    functionUses: 0
    functionsReached:
    - myfree
    linkageType: ''
    returnType: CLEANUP_REGION
    signature: CLEANUP_REGION *cleanup_region_free(CLEANUP_REGION *regions)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_region.c:130,1
    - Dst: cleanup_region_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_region.c:136,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_region.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - CLEANUP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 141
    functionName: cleanup_region_init
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_region.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - cleanup_region_alloc
    - msg_info
    linkageType: ''
    returnType: void
    signature: void cleanup_region_init(CLEANUP_STATE *state)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/postfix/postfix/src/cleanup/cleanup_region.c:165,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/cleanup/cleanup_region.c:165,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_region.c:166,1
    - Dst: cleanup_region_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_region.c:167,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_region.c:185,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_region.c:189,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - state
    - len
    argTypes:
    - CLEANUP_STATE*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 192
    functionName: cleanup_region_open
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_region.c
    functionUses: 2
    functionsReached:
    - cleanup_region_alloc
    - msg_info
    - fstat
    - vstream_fileno
    - msg_fatal
    linkageType: ''
    returnType: CLEANUP_REGION
    signature: CLEANUP_REGION *cleanup_region_open(CLEANUP_STATE *state, ssize_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_region.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - unused_state
    - rp
    argTypes:
    - CLEANUP_STATE*
    - CLEANUP_REGION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 210
    functionName: cleanup_region_close
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_region.c
    functionUses: 2
    functionsReached:
    - msg_info
    linkageType: ''
    returnType: void
    signature: void cleanup_region_close(CLEANUP_STATE *unused_state, CLEANUP_REGION
      *rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - state
    - rp
    argTypes:
    - CLEANUP_STATE*
    - CLEANUP_REGION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: cleanup_region_return
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_region.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CLEANUP_REGION
    signature: CLEANUP_REGION *cleanup_region_return(CLEANUP_STATE *state, CLEANUP_REGION
      *rp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_region_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_region.c:229,1
    - Dst: cleanup_region_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_region.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - CLEANUP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: cleanup_region_done
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_region.c
    functionUses: 0
    functionsReached:
    - cleanup_region_free
    linkageType: ''
    returnType: void
    signature: void cleanup_region_done(CLEANUP_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - state
    - type
    - buf
    - len
    argTypes:
    - CLEANUP_STATE*
    - int
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: cleanup_message
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c
    functionUses: 0
    functionsReached:
    - msg_panic
    linkageType: ''
    returnType: void
    signature: "void cleanup_message(CLEANUP_STATE *state, int type, const char *buf,\n\t\t\t
      \       ssize_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - state
    - count
    argTypes:
    - CLEANUP_STATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: cleanup_milter_receive
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c
    functionUses: 1
    functionsReached:
    - msg_panic
    linkageType: ''
    returnType: void
    signature: void cleanup_milter_receive(CLEANUP_STATE *state, int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - milters
    - sender
    argTypes:
    - CLEANUP_STATE*
    - MILTERS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: cleanup_milter_emul_mail
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c
    functionUses: 1
    functionsReached:
    - msg_panic
    linkageType: ''
    returnType: void
    signature: "void cleanup_milter_emul_mail(CLEANUP_STATE *state, MILTERS *milters,\n\t\t\t\t
      \        const char *sender)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - milters
    - recipient
    argTypes:
    - CLEANUP_STATE*
    - MILTERS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: cleanup_milter_emul_rcpt
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c
    functionUses: 1
    functionsReached:
    - msg_panic
    linkageType: ''
    returnType: void
    signature: "void cleanup_milter_emul_rcpt(CLEANUP_STATE *state, MILTERS *milters,\n\t\t\t\t
      \        const char *recipient)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - state
    - addr
    argTypes:
    - CLEANUP_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: cleanup_addr_sender
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c
    functionUses: 2
    functionsReached:
    - msg_panic
    linkageType: ''
    returnType: off_t
    signature: off_t cleanup_addr_sender(CLEANUP_STATE *state, const char *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - state
    - addr
    argTypes:
    - CLEANUP_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: cleanup_addr_recipient
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c
    functionUses: 1
    functionsReached:
    - msg_panic
    linkageType: ''
    returnType: void
    signature: void cleanup_addr_recipient(CLEANUP_STATE *state, const char *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - CLEANUP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: cleanup_region_done
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cleanup_region_done(CLEANUP_STATE *state)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:114,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:116,1
    - Dst: cleanup_state_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:129,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:136,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:137,1
    - Dst: cleanup_envelope
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:140,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:140,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:141,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:143,1
    - Dst: cleanup_strerror
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:144,1
    - Dst: cleanup_strerror
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:145,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:148,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:150,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:161,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:166,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:171,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:176,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:181,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:186,1
    - Dst: cleanup_state_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:194,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - tp
    argTypes:
    - TEST_CASE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 196
    functionName: overrides_size_fields
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - msg_warn
    - VSTRING_LEN
    - cleanup_envelope
    - cleanup_state_alloc
    - vstring_alloc
    - vstream_fclose
    - cleanup_strerror
    - cleanup_state_free
    - vstring_str
    - vstream_fopen
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int overrides_size_fields(const TEST_CASE *tp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:214,1
    - Dst: sane_basename
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:214,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:217,1
    - Dst: TEST_CASE*::action
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:218,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:220,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:222,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:226,1
    - Dst: exit
      Src: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 228
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c
    functionUses: 39
    functionsReached:
    - TEST_CASE*::action
    - exit
    - msg_info
    - msg_vstream_init
    - sane_basename
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:70,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:72,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:73,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:74,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:75,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:77,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:90,1
    - Dst: been_here_init
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:100,1
    - Dst: nvtable_create
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:117,1
    - Dst: nvtable_update
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 74
    argCount: 1
    argNames:
    - src
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 145
    functionName: cleanup_state_alloc
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_state.c
    functionUses: 3
    functionsReached:
    - vstring_alloc
    - nvtable_update
    - argv_alloc
    - been_here_init
    - mymalloc
    - nvtable_create
    linkageType: ''
    returnType: CLEANUP_STATE
    signature: CLEANUP_STATE *cleanup_state_alloc(VSTREAM *src)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:151,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:152,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:153,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:154,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:156,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:158,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:160,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:162,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:164,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:166,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:168,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:169,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:171,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:173,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:175,1
    - Dst: been_here_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:176,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:178,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:180,1
    - Dst: nvtable_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:181,1
    - Dst: mime_state_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:183,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:185,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:187,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:189,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:191,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:193,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:195,1
    - Dst: milter_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:197,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:199,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:201,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:203,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:205,1
    - Dst: cleanup_region_done
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:206,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_state.c:207,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 58
    argCount: 1
    argNames:
    - state
    argTypes:
    - CLEANUP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 208
    functionName: cleanup_state_free
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_state.c
    functionUses: 3
    functionsReached:
    - nvtable_free
    - mime_state_free
    - argv_free
    - myfree
    - milter_free
    - cleanup_region_done
    - been_here_free
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void cleanup_state_free(CLEANUP_STATE *state)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:117,1
    - Dst: cleanup_rewrite_internal
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:132,1
    - Dst: strncasecmp_utf8
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:133,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:133,1
    - Dst: canon_addr_internal
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:135,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:136,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:136,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:136,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:137,1
    - Dst: cleanup_map11_internal
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:142,1
    - Dst: cleanup_map11_internal
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:146,1
    - Dst: cleanup_masquerade_internal
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:150,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:153,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:153,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:153,1
    - Dst: valid_utf8_stringz
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:154,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:154,1
    - Dst: CLEANUP_OUT_BUF
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:160,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:162,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:163,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:163,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:167,1
    - Dst: rec_pad
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:168,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:170,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:171,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:174,1
    - Dst: mail_addr_find_to_internal
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:176,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:177,1
    - Dst: cleanup_addr_bcc
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:179,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:181,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:187,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 41
    argCount: 2
    argNames:
    - state
    - buf
    argTypes:
    - CLEANUP_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 114
    functionDepth: 4
    functionLinenumber: 114
    functionLinenumberEnd: 189
    functionName: cleanup_addr_sender
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_addr.c
    functionUses: 2
    functionsReached:
    - LEN
    - cleanup_masquerade_internal
    - cleanup_map11_internal
    - cleanup_rewrite_internal
    - strncasecmp_utf8
    - mail_addr_find_to_internal
    - vstring_alloc
    - canon_addr_internal
    - CLEANUP_OUT_BUF
    - allascii
    - strcasecmp_utf8
    - myfree
    - vstring_free
    - msg_warn
    - vstream_ftell
    - rec_pad
    - vstring_strcpy
    - cleanup_addr_bcc
    - msg_fatal
    - valid_utf8_stringz
    - mystrdup
    - STR
    linkageType: ''
    returnType: off_t
    signature: off_t cleanup_addr_sender(CLEANUP_STATE *state, const char *buf)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:195,1
    - Dst: cleanup_rewrite_internal
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:205,1
    - Dst: cleanup_map11_internal
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:210,1
    - Dst: cleanup_map11_internal
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:214,1
    - Dst: cleanup_masquerade_internal
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:218,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:221,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:221,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:221,1
    - Dst: valid_utf8_stringz
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:222,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:222,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:228,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:229,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:229,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:229,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:231,1
    - Dst: cleanup_out_recipient
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:232,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:233,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:235,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:236,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:236,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:238,1
    - Dst: mail_addr_find_to_internal
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:240,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:241,1
    - Dst: cleanup_addr_bcc
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:243,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:245,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:251,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 30
    argCount: 2
    argNames:
    - state
    - buf
    argTypes:
    - CLEANUP_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 252
    functionName: cleanup_addr_recipient
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_addr.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - cleanup_rewrite_internal
    - cleanup_out_recipient
    - mail_addr_find_to_internal
    - vstring_alloc
    - cleanup_masquerade_internal
    - myfree
    - cleanup_addr_bcc
    - concatenate
    - cleanup_map11_internal
    - valid_utf8_stringz
    - mystrdup
    - allascii
    - vstring_free
    - STR
    linkageType: ''
    returnType: void
    signature: void cleanup_addr_recipient(CLEANUP_STATE *state, const char *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:259,1
    - Dst: cleanup_rewrite_internal
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:265,1
    - Dst: cleanup_map11_internal
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:269,1
    - Dst: cleanup_map11_internal
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:273,1
    - Dst: cleanup_masquerade_internal
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:277,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:280,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:280,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:280,1
    - Dst: valid_utf8_stringz
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:281,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:281,1
    - Dst: cleanup_out_recipient
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:286,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:287,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:287,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_addr.c:288,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 4
    argNames:
    - state
    - bcc
    - dsn_orcpt
    - dsn_notify
    argTypes:
    - CLEANUP_STATE*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 289
    functionName: cleanup_addr_bcc_dsn
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_addr.c
    functionUses: 1
    functionsReached:
    - cleanup_rewrite_internal
    - cleanup_out_recipient
    - vstring_alloc
    - cleanup_masquerade_internal
    - cleanup_map11_internal
    - valid_utf8_stringz
    - allascii
    - vstring_free
    - STR
    linkageType: ''
    returnType: void
    signature: "void cleanup_addr_bcc_dsn(CLEANUP_STATE *state, const char *bcc,\n\t\t\t
      \            const char *dsn_orcpt, int dsn_notify)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_extracted.c
    functionUses: 438
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_out_string
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:90,1
    - Dst: cleanup_extracted_process
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - state
    - type
    - buf
    - len
    argTypes:
    - CLEANUP_STATE*
    - int
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: cleanup_extracted
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_extracted.c
    functionUses: 0
    functionsReached:
    - cleanup_out_string
    - cleanup_extracted_process
    linkageType: ''
    returnType: void
    signature: "void cleanup_extracted(CLEANUP_STATE *state, int type,\n\t\t\t          const
      char *buf, ssize_t len)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:118,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:122,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:124,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:133,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:135,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:142,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:143,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:157,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:158,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:158,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:160,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:167,1
    - Dst: rec_attr_map
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:171,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:182,1
    - Dst: cleanup_out_string
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:184,1
    - Dst: cleanup_out_string
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:186,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:188,1
    - Dst: nvtable_find
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:191,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:192,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:197,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:198,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:199,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:200,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:201,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:210,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:216,1
    - Dst: cleanup_addr_recipient
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:217,1
    - Dst: CLEANUP_MILTER_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:220,1
    - Dst: cleanup_milter_emul_rcpt
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:221,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:222,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:225,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:233,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:237,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:245,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:247,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:249,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:254,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:258,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:258,1
    - Dst: DSN_NOTIFY_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:258,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:259,1
    - Dst: QMGR_READ_FLAG_FROM_DSN
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:263,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:268,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:270,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:272,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:279,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:280,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:281,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:282,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:283,1
    - Dst: cleanup_extracted_finish
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:287,1
    - Dst: cleanup_out
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:297,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 133
    argCount: 4
    argNames:
    - state
    - type
    - buf
    - len
    argTypes:
    - CLEANUP_STATE*
    - int
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 299
    functionName: cleanup_extracted_process
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_extracted.c
    functionUses: 1
    functionsReached:
    - split_nameval
    - rec_attr_map
    - msg_info
    - atoi
    - CLEANUP_MILTER_OK
    - DSN_NOTIFY_OK
    - cleanup_milter_emul_rcpt
    - nvtable_find
    - alldig
    - cleanup_out
    - cleanup_out_string
    - myfree
    - cleanup_out_format
    - cleanup_extracted_finish
    - strchr
    - msg_warn
    - vstream_ftell
    - cleanup_addr_recipient
    - QMGR_READ_FLAG_FROM_DSN
    - vstring_strcpy
    - msg_fatal
    - mystrdup
    - STR
    linkageType: ''
    returnType: void
    signature: "void cleanup_extracted_process(CLEANUP_STATE *state, int type,\n\t\t\t\t
      \         const char *buf, ssize_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_addr_bcc
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:311,1
    - Dst: CLEANUP_OUT_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:318,1
    - Dst: cleanup_addr_bcc
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:322,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:324,1
    - Dst: cleanup_out_string
      Src: /src/postfix/postfix/src/cleanup/cleanup_extracted.c:331,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - CLEANUP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 332
    functionName: cleanup_extracted_finish
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_extracted.c
    functionUses: 1
    functionsReached:
    - CLEANUP_OUT_OK
    - cleanup_out_string
    - cleanup_addr_bcc
    - argv_free
    linkageType: ''
    returnType: void
    signature: void cleanup_extracted_finish(CLEANUP_STATE *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:101,1
    - Dst: mail_queue_path
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:102,1
    - Dst: trace_append
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:105,1
    - Dst: CLEANUP_MSG_STATS
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:106,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - state
    - rcpt
    - dsn
    argTypes:
    - CLEANUP_STATE*
    - RECIPIENT*
    - DSN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 95
    functionDepth: 6
    functionLinenumber: 95
    functionLinenumberEnd: 111
    functionName: cleanup_trace_append
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - trace_append
    - vstring_alloc
    - mail_queue_path
    - CLEANUP_MSG_STATS
    linkageType: ''
    returnType: void
    signature: "void cleanup_trace_append(CLEANUP_STATE *state, RECIPIENT *rcpt,\n\t\t\t\t
      \        DSN *dsn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: verify_append
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:120,1
    - Dst: CLEANUP_MSG_STATS
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:120,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - state
    - rcpt
    - dsn
    - verify_status
    argTypes:
    - CLEANUP_STATE*
    - RECIPIENT*
    - DSN*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: cleanup_verify_append
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c
    functionUses: 0
    functionsReached:
    - verify_append
    - msg_warn
    - CLEANUP_MSG_STATS
    linkageType: ''
    returnType: void
    signature: "void cleanup_verify_append(CLEANUP_STATE *state, RECIPIENT *rcpt,\n\t\t\t\t
      \         DSN *dsn, int verify_status)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: been_here
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:160,1
    - Dst: been_here_fixed
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:162,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:164,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:167,1
    - Dst: cleanup_out_string
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:169,1
    - Dst: cleanup_out_string
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:170,1
    - Dst: cleanup_map1n_internal
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:229,1
    - Dst: DSN_SIMPLE
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:232,1
    - Dst: RECIPIENT_ASSIGN
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:234,1
    - Dst: cleanup_verify_append
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:235,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:236,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:240,1
    - Dst: DSN_SIMPLE
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:241,1
    - Dst: RECIPIENT_ASSIGN
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:243,1
    - Dst: cleanup_trace_append
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:244,1
    - Dst: been_here
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:250,1
    - Dst: been_here_fixed
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:252,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:254,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:257,1
    - Dst: cleanup_out_string
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:259,1
    - Dst: cleanup_out_string
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:260,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c:264,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 5
    argNames:
    - state
    - dsn_orcpt
    - dsn_notify
    - orcpt
    - recip
    argTypes:
    - CLEANUP_STATE*
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 129
    functionDepth: 7
    functionLinenumber: 129
    functionLinenumberEnd: 266
    functionName: cleanup_out_recipient
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c
    functionUses: 2
    functionsReached:
    - RECIPIENT_ASSIGN
    - cleanup_verify_append
    - cleanup_trace_append
    - cleanup_map1n_internal
    - argv_free
    - DSN_SIMPLE
    - been_here_fixed
    - been_here
    - strcmp
    - cleanup_out_format
    - cleanup_out_string
    linkageType: ''
    returnType: void
    signature: "void cleanup_out_recipient(CLEANUP_STATE *state,\n\t\t\t              const
      char *dsn_orcpt,\n\t\t\t              int dsn_notify,\n\t\t\t              const
      char *orcpt,\n\t\t\t              const char *recip)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x, y)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:543,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:553,1
    - Dst: cleanup_open
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:558,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:565,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:566,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:567,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:569,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:570,1
    - Dst: cleanup_control
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:575,1
    - Dst: CLEANUP_OUT_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:584,1
    - Dst: rec_get_raw
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:585,1
    - Dst: REC_GET_HIDDEN_TYPE
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:589,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:590,1
    - Dst: CLEANUP_RECORD
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:595,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:595,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:595,1
    - Dst: CLEANUP_OUT_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:604,1
    - Dst: rec_get_raw
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:606,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:608,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:608,1
    - Dst: cleanup_milter_receive
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:612,1
    - Dst: vstream_ftimeout
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:620,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:621,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:622,1
    - Dst: cleanup_flush
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:627,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:628,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:629,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:630,1
    - Dst: cleanup_free
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:635,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:640,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 3
    argNames:
    - src
    - unused_service
    - argv
    argTypes:
    - VSTREAM*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 541
    functionDepth: 7
    functionLinenumber: 541
    functionLinenumberEnd: 641
    functionName: cleanup_service
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup.c
    functionUses: 0
    functionsReached:
    - VSTRING_LEN
    - attr_print
    - cleanup_open
    - atoi
    - cleanup_flush
    - VSTREAM_PATH
    - vstring_alloc
    - attr_scan
    - CLEANUP_RECORD
    - vstring_str
    - REC_GET_HIDDEN_TYPE
    - cleanup_control
    - SEND_ATTR_INT
    - rec_get_raw
    - vstring_free
    - CLEANUP_OUT_OK
    - msg_warn
    - cleanup_free
    - SEND_ATTR_STR
    - vstream_ftimeout
    - cleanup_milter_receive
    - msg_fatal
    - RECV_ATTR_INT
    linkageType: ''
    returnType: void
    signature: void cleanup_service(VSTREAM *src, char *unused_service, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_changed_name
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:649,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:650,1
    - Dst: exit
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 653
    functionName: pre_accept
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup.c
    functionUses: 13
    functionsReached:
    - dict_changed_name
    - exit
    - msg_info
    linkageType: ''
    returnType: void
    signature: void pre_accept(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:671,1
    - Dst: msg_cleanup
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:672,1
    - Dst: single_server_main
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:677,1
    - Dst: CA_MAIL_SERVER_INT_TABLE
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:678,1
    - Dst: CA_MAIL_SERVER_BOOL_TABLE
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:679,1
    - Dst: CA_MAIL_SERVER_STR_TABLE
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:680,1
    - Dst: CA_MAIL_SERVER_TIME_TABLE
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:681,1
    - Dst: CA_MAIL_SERVER_PRE_INIT
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:682,1
    - Dst: CA_MAIL_SERVER_POST_INIT
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:683,1
    - Dst: CA_MAIL_SERVER_PRE_ACCEPT
      Src: /src/postfix/postfix/src/cleanup/cleanup.c:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 659
    functionDepth: 6
    functionLinenumber: 659
    functionLinenumberEnd: 688
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup.c
    functionUses: 40
    functionsReached:
    - CA_MAIL_SERVER_PRE_ACCEPT
    - CA_MAIL_SERVER_STR_TABLE
    - single_server_main
    - CA_MAIL_SERVER_POST_INIT
    - CA_MAIL_SERVER_INT_TABLE
    - CA_MAIL_SERVER_TIME_TABLE
    - signal
    - msg_cleanup
    - CA_MAIL_SERVER_PRE_INIT
    - CA_MAIL_SERVER_BOOL_TABLE
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hval
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: HDRS_SEEN_MASK
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HDRS_SEEN_MASK(hval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - t
    - ','
    - b
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: CLEANUP_RECORD
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEANUP_RECORD(s, t, b, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - t
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: CLEANUP_OUT_BUF
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEANUP_OUT_BUF(s, t, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: CLEANUP_OUT_OK
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEANUP_OUT_OK(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: cleanup_addr_bcc
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cleanup_addr_bcc(state, addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stats
    - ','
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 323
    functionName: CLEANUP_MSG_STATS
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEANUP_MSG_STATS(stats, state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: CLEANUP_MILTER_OK
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEANUP_MILTER_OK(s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:91,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:92,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:93,1
    - Dst: been_here_init
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:94,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:116,1
    - Dst: UPDATE
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:120,1
    - Dst: UNEXPAND
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:121,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:122,1
    - Dst: been_here_check_fixed
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:129,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:132,1
    - Dst: UPDATE
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:136,1
    - Dst: UNEXPAND
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:137,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:138,1
    - Dst: mail_addr_map_internal
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:140,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:142,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:144,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:145,1
    - Dst: UPDATE
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:149,1
    - Dst: UNEXPAND
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:150,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:151,1
    - Dst: UPDATE
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:154,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:156,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:157,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:163,1
    - Dst: been_here_fixed
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:164,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:166,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:167,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:169,1
    - Dst: UPDATE
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:173,1
    - Dst: UNEXPAND
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:174,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:175,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/cleanup/cleanup_map1n.c:181,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 4
    argNames:
    - state
    - addr
    - maps
    - propagate
    argTypes:
    - CLEANUP_STATE*
    - char*
    - MAPS*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 182
    functionName: cleanup_map1n_internal
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_map1n.c
    functionUses: 1
    functionsReached:
    - UPDATE
    - msg_warn
    - been_here_check_fixed
    - strlen
    - argv_free
    - myfree
    - argv_alloc
    - UNEXPAND
    - been_here_init
    - argv_add
    - been_here_fixed
    - mail_addr_map_internal
    - mystrdup
    - RETURN
    - argv_terminate
    - strcasecmp_utf8
    linkageType: ''
    returnType: ARGV
    signature: "ARGV *cleanup_map1n_internal(CLEANUP_STATE *state, const char *addr,\n\t\t\t
      \              MAPS *maps, int propagate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - new
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: UPDATE
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_map1n.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE(ptr,new)
  - 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: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: RETURN
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_map1n.c
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETURN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - argv
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: UNEXPAND
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_map1n.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNEXPAND(argv, addr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CLEANUP_OUT_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:124,1
    - Dst: TEXT_RECORD
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:129,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:130,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:133,1
    - Dst: TEXT_RECORD
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:135,1
    - Dst: rec_put
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:136,1
    - Dst: rec_put
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:140,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:147,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:151,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - state
    - type
    - string
    - len
    argTypes:
    - CLEANUP_STATE*
    - int
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 155
    functionName: cleanup_out
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_out.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - CLEANUP_OUT_OK
    - msg_warn
    - rec_put
    - msg_info
    - TEXT_RECORD
    linkageType: ''
    returnType: void
    signature: void cleanup_out(CLEANUP_STATE *state, int type, const char *string,
      ssize_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: TEXT_RECORD
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_out.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEXT_RECORD(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_out
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:161,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - type
    - string
    argTypes:
    - CLEANUP_STATE*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: cleanup_out_string
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_out.c
    functionUses: 5
    functionsReached:
    - cleanup_out
    - strlen
    linkageType: ''
    returnType: void
    signature: void cleanup_out_string(CLEANUP_STATE *state, int type, const char
      *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:172,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:173,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:174,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:175,1
    - Dst: CLEANUP_OUT_BUF
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - state
    - type
    - fmt
    argTypes:
    - CLEANUP_STATE*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 177
    functionName: cleanup_out_format
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_out.c
    functionUses: 10
    functionsReached:
    - va_start
    - va_end
    - vstring_vsprintf
    - vstring_alloc
    - CLEANUP_OUT_BUF
    linkageType: ''
    returnType: void
    signature: void cleanup_out_format(CLEANUP_STATE *state, int type, const char
      *fmt,...)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:183,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:191,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:191,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:191,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:216,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:217,1
    - Dst: cleanup_out_string
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:225,1
    - Dst: rec_pad
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:228,1
    - Dst: IS_SPACE_TAB
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:230,1
    - Dst: cleanup_out_string
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:231,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_out.c:233,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - state
    - header_buf
    argTypes:
    - CLEANUP_STATE*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 181
    functionDepth: 4
    functionLinenumber: 181
    functionLinenumberEnd: 236
    functionName: cleanup_out_header
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_out.c
    functionUses: 2
    functionsReached:
    - strlen
    - cleanup_out_string
    - cleanup_out_format
    - rec_pad
    - IS_SPACE_TAB
    - split_at
    - vstring_str
    - allascii
    - STR
    linkageType: ''
    returnType: void
    signature: void cleanup_out_header(CLEANUP_STATE *state, VSTRING *header_buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:109,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:122,1
    - Dst: cleanup_out_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - state
    - header_buf
    argTypes:
    - CLEANUP_STATE*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 107
    functionDepth: 5
    functionLinenumber: 107
    functionLinenumberEnd: 133
    functionName: cleanup_fold_header
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_message.c
    functionUses: 0
    functionsReached:
    - cleanup_out_header
    - vstring_str
    - strcspn
    linkageType: ''
    returnType: void
    signature: void cleanup_fold_header(CLEANUP_STATE *state, VSTRING *header_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tok822_internalize
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:144,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:145,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - addr
    argTypes:
    - VSTRING*
    - TOK822*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: cleanup_extract_internal
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_message.c
    functionUses: 0
    functionsReached:
    - vstring_str
    - mystrdup
    - tok822_internalize
    linkageType: ''
    returnType: char
    signature: char *cleanup_extract_internal(VSTRING *buffer, TOK822 *addr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:160,1
    - Dst: tok822_parse_limit
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:167,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:167,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:168,1
    - Dst: tok822_grep
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:170,1
    - Dst: cleanup_rewrite_tree
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:172,1
    - Dst: cleanup_map11_tree
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:177,1
    - Dst: cleanup_map11_tree
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:182,1
    - Dst: cleanup_masquerade_tree
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:187,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:191,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:191,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:192,1
    - Dst: tok822_externalize
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:193,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:195,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:196,1
    - Dst: cleanup_fold_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:199,1
    - Dst: cleanup_out_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:201,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - state
    - hdr_opts
    - header_buf
    argTypes:
    - CLEANUP_STATE*
    - HEADER_OPTS*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 150
    functionDepth: 6
    functionLinenumber: 150
    functionLinenumberEnd: 203
    functionName: cleanup_rewrite_sender
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_message.c
    functionUses: 0
    functionsReached:
    - cleanup_out_header
    - cleanup_rewrite_tree
    - vstring_truncate
    - strlen
    - cleanup_fold_header
    - cleanup_masquerade_tree
    - cleanup_map11_tree
    - msg_info
    - tok822_grep
    - myfree
    - vstring_strcat
    - tok822_externalize
    - vstring_str
    - tok822_parse_limit
    - tok822_free_tree
    linkageType: ''
    returnType: void
    signature: "void cleanup_rewrite_sender(CLEANUP_STATE *state,\n\t\t\t\t           const
      HEADER_OPTS *hdr_opts,\n\t\t\t\t           VSTRING *header_buf)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:217,1
    - Dst: tok822_parse_limit
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:224,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:224,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:225,1
    - Dst: tok822_grep
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:227,1
    - Dst: cleanup_rewrite_tree
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:229,1
    - Dst: cleanup_map11_tree
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:234,1
    - Dst: cleanup_map11_tree
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:239,1
    - Dst: cleanup_masquerade_tree
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:244,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:248,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:248,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:249,1
    - Dst: tok822_externalize
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:250,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:252,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:253,1
    - Dst: cleanup_fold_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:256,1
    - Dst: cleanup_out_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:258,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - state
    - hdr_opts
    - header_buf
    argTypes:
    - CLEANUP_STATE*
    - HEADER_OPTS*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 207
    functionDepth: 6
    functionLinenumber: 207
    functionLinenumberEnd: 260
    functionName: cleanup_rewrite_recip
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_message.c
    functionUses: 0
    functionsReached:
    - cleanup_out_header
    - cleanup_rewrite_tree
    - vstring_truncate
    - strlen
    - cleanup_fold_header
    - cleanup_masquerade_tree
    - cleanup_map11_tree
    - msg_info
    - tok822_grep
    - myfree
    - vstring_strcat
    - tok822_externalize
    - vstring_str
    - tok822_parse_limit
    - tok822_free_tree
    linkageType: ''
    returnType: void
    signature: "void cleanup_rewrite_recip(CLEANUP_STATE *state,\n\t\t\t\t          const
      HEADER_OPTS *hdr_opts,\n\t\t\t\t          VSTRING *header_buf)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nvtable_find
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:270,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:272,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:275,1
    - Dst: info_log_addr_form_sender
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:276,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:278,1
    - Dst: info_log_addr_form_recipient
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:279,1
    - Dst: nvtable_find
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:280,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:281,1
    - Dst: nvtable_find
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:282,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:283,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:285,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:286,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:286,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 5
    argNames:
    - state
    - action
    - class
    - content
    - text
    argTypes:
    - CLEANUP_STATE*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 264
    functionDepth: 4
    functionLinenumber: 264
    functionLinenumberEnd: 287
    functionName: cleanup_act_log
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_message.c
    functionUses: 0
    functionsReached:
    - info_log_addr_form_sender
    - vstring_sprintf
    - vstring_str
    - nvtable_find
    - msg_info
    - info_log_addr_form_recipient
    - vstring_sprintf_append
    linkageType: ''
    returnType: void
    signature: "void cleanup_act_log(CLEANUP_STATE *state,\n\t\t\t            const
      char *action, const char *class,\n\t\t\t            const char *content, const
      char *text)"
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:299,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:307,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:318,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:322,1
    - Dst: dsn_prepend
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:324,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:326,1
    - Dst: cleanup_stat_detail
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:331,1
    - Dst: dsn_prepend
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:332,1
    - Dst: cleanup_act_log
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:339,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:342,1
    - Dst: cleanup_act_log
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:343,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:346,1
    - Dst: cleanup_act_log
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:347,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:350,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:352,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:353,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:354,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:359,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:360,1
    - Dst: cleanup_act_log
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:361,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:365,1
    - Dst: cleanup_act_log
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:366,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:370,1
    - Dst: cleanup_act_log
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:371,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:376,1
    - Dst: cleanup_act_log
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:378,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:392,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:395,1
    - Dst: conv_time
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:396,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:397,1
    - Dst: cleanup_act_log
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:400,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:407,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:409,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:410,1
    - Dst: is_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:411,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:412,1
    - Dst: cleanup_act_log
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:424,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:425,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:425,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:425,1
    - Dst: cleanup_out_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:427,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:428,1
    - Dst: cleanup_act_log
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:431,1
    - Dst: cleanup_out_string
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:432,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:436,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:438,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:440,1
    - Dst: is_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:441,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:442,1
    - Dst: cleanup_act_log
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:447,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:448,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:451,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:452,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:453,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:458,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:459,1
    - Dst: cleanup_act_log
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:460,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:465,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:466,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:467,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:472,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:473,1
    - Dst: cleanup_act_log
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:474,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:478,1
    - Dst: cleanup_act_log
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:479,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:484,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:487,1
    - Dst: STREQUAL
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:490,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:493,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 144
    argCount: 5
    argNames:
    - state
    - context
    - buf
    - value
    - map_class
    argTypes:
    - CLEANUP_STATE*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 495
    functionName: cleanup_act
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_message.c
    functionUses: 0
    functionsReached:
    - ISSPACE
    - argv_alloc
    - cleanup_act_log
    - strlen
    - dsn_prepend
    - vstring_alloc
    - strcspn
    - cleanup_out_string
    - cleanup_stat_detail
    - is_header
    - STREQUAL
    - myfree
    - vstring_free
    - cleanup_out_header
    - msg_warn
    - strchr
    - conv_time
    - strcmp
    - vstring_strcpy
    - argv_add
    - mystrdup
    linkageType: ''
    returnType: char
    signature: "char *cleanup_act(CLEANUP_STATE *state, char *context,\n\t\t\t               const
      char *buf, const char *value,\n\t\t\t               const char *map_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: STREQUAL
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_message.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQUAL(x,y,l)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:524,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:524,1
    - Dst: CHECK
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:541,1
    - Dst: CHECK
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:542,1
    - Dst: CHECK
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:543,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:544,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:547,1
    - Dst: cleanup_act
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:550,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:555,1
    - Dst: header_opts_find
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:556,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:557,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:560,1
    - Dst: cleanup_out_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:573,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:581,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:581,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:582,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:588,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:589,1
    - Dst: nvtable_update
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:590,1
    - Dst: cleanup_out_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:601,1
    - Dst: HDRS_SEEN_MASK
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:635,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:639,1
    - Dst: balpar
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:640,1
    - Dst: printable
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:642,1
    - Dst: mystrndup
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:642,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:645,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:648,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:654,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:654,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:657,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:657,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:659,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:661,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:664,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:665,1
    - Dst: CLEANUP_OUT_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:667,1
    - Dst: cleanup_rewrite_sender
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:672,1
    - Dst: cleanup_rewrite_recip
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:675,1
    - Dst: cleanup_out_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:677,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 80
    argCount: 5
    argNames:
    - context
    - header_class
    - hdr_opts
    - header_buf
    - unused_offset
    argTypes:
    - void*
    - int
    - HEADER_OPTS*
    - VSTRING*
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 499
    functionDepth: 7
    functionLinenumber: 499
    functionLinenumberEnd: 681
    functionName: cleanup_header_callback
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_message.c
    functionUses: 0
    functionsReached:
    - header_opts_find
    - ISSPACE
    - msg_info
    - cleanup_act
    - strlen
    - HDRS_SEEN_MASK
    - maps_find
    - mystrndup
    - cleanup_rewrite_recip
    - strcasecmp
    - vstring_str
    - cleanup_rewrite_sender
    - CHECK
    - myfree
    - cleanup_out_header
    - printable
    - msg_warn
    - CLEANUP_OUT_OK
    - balpar
    - nvtable_update
    - vstring_strcpy
    - argv_add
    linkageType: ''
    returnType: void
    signature: "void cleanup_header_callback(void *context, int header_class,\n\t\t\t\t
      \           const HEADER_OPTS *hdr_opts,\n\t\t\t\t            VSTRING *header_buf,\n\t\t\t\t
      \           off_t unused_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - class
    - ','
    - maps
    - ','
    - var_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 532
    functionName: CHECK
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_message.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(class, maps, var_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:698,1
    - Dst: clean_ascii_cntrl_space
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:699,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:699,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:701,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:701,1
    - Dst: make_ascii_header_text
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:702,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:706,1
    - Dst: rfc2047_encode
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:708,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:713,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:714,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:716,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - result
    - raw_name
    - separator
    argTypes:
    - VSTRING*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 685
    functionDepth: 3
    functionLinenumber: 685
    functionLinenumberEnd: 718
    functionName: get_fullname_hdr_text
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_message.c
    functionUses: 0
    functionsReached:
    - strlen
    - VSTRING_LEN
    - vstring_alloc
    - clean_ascii_cntrl_space
    - vstring_str
    - make_ascii_header_text
    - allascii
    - vstring_free
    - rfc2047_encode
    linkageType: ''
    returnType: char
    signature: "char *get_fullname_hdr_text(VSTRING *result, const char *raw_name,\n\t\t\t\t
      \          const char *separator)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CLEANUP_OUT_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:737,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:747,1
    - Dst: HDRS_SEEN_MASK
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:773,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:776,1
    - Dst: gmtime
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:780,1
    - Dst: strftime
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:781,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:782,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:785,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:786,1
    - Dst: cleanup_out_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:787,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:788,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:790,1
    - Dst: HDRS_SEEN_MASK
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:791,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:794,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:794,1
    - Dst: HDRS_SEEN_MASK
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:798,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:799,1
    - Dst: HDRS_SEEN_MASK
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:806,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:808,1
    - Dst: mail_date
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:809,1
    - Dst: cleanup_out_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:810,1
    - Dst: HDRS_SEEN_MASK
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:817,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:821,1
    - Dst: get_fullname_hdr_text
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:824,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:832,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:834,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:841,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:842,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:852,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:853,1
    - Dst: cleanup_fold_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:855,1
    - Dst: is_header
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:891,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:892,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:896,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:906,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:907,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:908,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:909,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:910,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 58
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 722
    functionDepth: 6
    functionLinenumber: 722
    functionLinenumberEnd: 913
    functionName: cleanup_header_done_callback
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_message.c
    functionUses: 0
    functionsReached:
    - cleanup_out_header
    - CLEANUP_OUT_OK
    - msg_warn
    - vstring_sprintf
    - mail_date
    - HDRS_SEEN_MASK
    - strftime
    - cleanup_fold_header
    - gmtime
    - vstream_ftell
    - is_header
    - cleanup_out_format
    - get_fullname_hdr_text
    - msg_info
    - concatenate
    - quote_822_local
    - vstring_str
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void cleanup_header_done_callback(void *context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CLEANUP_OUT_OK
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:930,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:944,1
    - Dst: cleanup_act
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:947,1
    - Dst: cleanup_out
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:952,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:952,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:953,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:957,1
    - Dst: cleanup_out
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:963,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 5
    argNames:
    - context
    - type
    - buf
    - len
    - offset
    argTypes:
    - void*
    - int
    - char*
    - ssize_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 917
    functionDepth: 6
    functionLinenumber: 917
    functionLinenumberEnd: 964
    functionName: cleanup_body_callback
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_message.c
    functionUses: 0
    functionsReached:
    - cleanup_act
    - CLEANUP_OUT_OK
    - msg_warn
    - strlen
    - maps_find
    - myfree
    - cleanup_out
    linkageType: ''
    returnType: void
    signature: "void cleanup_body_callback(void *context, int type,\n\t\t\t\t          const
      char *buf, ssize_t len,\n\t\t\t\t          off_t offset)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1001,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1001,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1003,1
    - Dst: cleanup_act
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1004,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1023,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1024,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1025,1
    - Dst: memchr
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1027,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1027,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1029,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1032,1
    - Dst: mime_state_update
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1040,1
    - Dst: mime_state_update
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1048,1
    - Dst: cleanup_out_format
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1051,1
    - Dst: mime_state_detail
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1056,1
    - Dst: dsn_prepend
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1057,1
    - Dst: mime_state_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1059,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1060,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1061,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1070,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 4
    argNames:
    - state
    - type
    - buf
    - len
    argTypes:
    - CLEANUP_STATE*
    - int
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 968
    functionDepth: 6
    functionLinenumber: 968
    functionLinenumberEnd: 1074
    functionName: cleanup_message_headerbody
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_message.c
    functionUses: 0
    functionsReached:
    - cleanup_act
    - msg_warn
    - vstream_ftell
    - VSTRING_LEN
    - mime_state_update
    - dsn_prepend
    - mime_state_detail
    - VSTRING_SPACE
    - mime_state_free
    - memchr
    - VSTRING_RESET
    - cleanup_out_format
    - vstring_str
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: "void cleanup_message_headerbody(CLEANUP_STATE *state, int type,\n\t\t\t\t
      \              const char *buf, ssize_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nvtable_find
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1089,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1092,1
    - Dst: mime_state_error
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1093,1
    - Dst: info_log_addr_form_sender
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1094,1
    - Dst: info_log_addr_form_recipient
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - context
    - err_code
    - text
    - len
    argTypes:
    - void*
    - int
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1078
    functionDepth: 4
    functionLinenumber: 1078
    functionLinenumberEnd: 1098
    functionName: cleanup_mime_error_callback
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_message.c
    functionUses: 0
    functionsReached:
    - info_log_addr_form_sender
    - nvtable_find
    - mime_state_error
    - msg_info
    - info_log_addr_form_recipient
    linkageType: ''
    returnType: void
    signature: "void cleanup_mime_error_callback(void *context, int err_code,\n\t\t\t\t
      \             const char *text, ssize_t len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_out_string
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1110,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1111,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1112,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1122,1
    - Dst: mime_state_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1143,1
    - Dst: cleanup_message_headerbody
      Src: /src/postfix/postfix/src/cleanup/cleanup_message.c:1164,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 28
    argCount: 4
    argNames:
    - state
    - type
    - buf
    - len
    argTypes:
    - CLEANUP_STATE*
    - int
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1102
    functionDepth: 7
    functionLinenumber: 1102
    functionLinenumberEnd: 1165
    functionName: cleanup_message
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_message.c
    functionUses: 0
    functionsReached:
    - mime_state_alloc
    - vstream_ftell
    - cleanup_message_headerbody
    - cleanup_out_string
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void cleanup_message(CLEANUP_STATE *state, int type, const char *buf,
      ssize_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mail_addr_map_opt
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:112,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:112,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:116,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:117,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:118,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:118,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:119,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:119,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:120,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:121,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:121,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:122,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:123,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:127,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:129,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:136,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - state
    - addr
    - maps
    - propagate
    argTypes:
    - CLEANUP_STATE*
    - VSTRING*
    - MAPS*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 96
    functionDepth: 4
    functionLinenumber: 96
    functionLinenumberEnd: 140
    functionName: cleanup_map11_external
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_map11.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - mail_addr_map_opt
    - argv_free
    - myfree
    - strcmp
    - vstring_strcpy
    - mystrdup
    - strcasecmp_utf8
    - STR
    linkageType: ''
    returnType: int
    signature: "int cleanup_map11_external(CLEANUP_STATE *state, VSTRING *addr,\n\t\t\t
      \              MAPS *maps, int propagate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:147,1
    - Dst: tok822_externalize
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:156,1
    - Dst: cleanup_map11_external
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:157,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:158,1
    - Dst: tok822_scan
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:159,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:159,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - state
    - tree
    - maps
    - propagate
    argTypes:
    - CLEANUP_STATE*
    - TOK822*
    - MAPS*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 144
    functionDepth: 5
    functionLinenumber: 144
    functionLinenumberEnd: 162
    functionName: cleanup_map11_tree
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_map11.c
    functionUses: 2
    functionsReached:
    - tok822_scan
    - vstring_alloc
    - cleanup_map11_external
    - tok822_externalize
    - tok822_free_tree
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: "int cleanup_map11_tree(CLEANUP_STATE *state, TOK822 *tree,\n\t\t\t
      \          MAPS *maps, int propagate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:169,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:178,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:178,1
    - Dst: cleanup_map11_external
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:179,1
    - Dst: unquote_822_local
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:180,1
    - Dst: STR
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:180,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/cleanup/cleanup_map11.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - state
    - addr
    - maps
    - propagate
    argTypes:
    - CLEANUP_STATE*
    - VSTRING*
    - MAPS*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 166
    functionDepth: 5
    functionLinenumber: 166
    functionLinenumberEnd: 183
    functionName: cleanup_map11_internal
    functionSourceFile: /src/postfix/postfix/src/cleanup/cleanup_map11.c
    functionUses: 3
    functionsReached:
    - unquote_822_local
    - vstring_alloc
    - cleanup_map11_external
    - quote_822_local
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: "int cleanup_map11_internal(CLEANUP_STATE *state, VSTRING *addr,\n\t\t\t
      \              MAPS *maps, int propagate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/auto_clnt.c:164,1
    - Dst: auto_clnt_close
      Src: /src/postfix/postfix/src/util/auto_clnt.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 167
    functionName: auto_clnt_event
    functionSourceFile: /src/postfix/postfix/src/util/auto_clnt.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - auto_clnt_close
    linkageType: ''
    returnType: void
    signature: void auto_clnt_event(int unused_event, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto_clnt_event
      Src: /src/postfix/postfix/src/util/auto_clnt.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 187
    functionName: auto_clnt_ttl_event
    functionSourceFile: /src/postfix/postfix/src/util/auto_clnt.c
    functionUses: 0
    functionsReached:
    - auto_clnt_event
    linkageType: ''
    returnType: void
    signature: void auto_clnt_ttl_event(int event, void *context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/auto_clnt.c:200,1
    - Dst: AUTO_CLNT*::connect
      Src: /src/postfix/postfix/src/util/auto_clnt.c:211,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/auto_clnt.c:213,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/auto_clnt.c:216,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/util/auto_clnt.c:217,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/util/auto_clnt.c:218,1
    - Dst: CA_VSTREAM_CTL_PATH
      Src: /src/postfix/postfix/src/util/auto_clnt.c:219,1
    - Dst: CA_VSTREAM_CTL_TIMEOUT
      Src: /src/postfix/postfix/src/util/auto_clnt.c:220,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/util/auto_clnt.c:225,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/auto_clnt.c:225,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/util/auto_clnt.c:226,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/auto_clnt.c:226,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/util/auto_clnt.c:229,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/util/auto_clnt.c:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - auto_clnt
    argTypes:
    - AUTO_CLNT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 235
    functionName: auto_clnt_open
    functionSourceFile: /src/postfix/postfix/src/util/auto_clnt.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_warn
    - vstream_fdopen
    - CA_VSTREAM_CTL_PATH
    - CA_VSTREAM_CTL_TIMEOUT
    - event_request_timer
    - event_enable_read
    - msg_info
    - AUTO_CLNT*::connect
    - vstream_control
    - close_on_exec
    - vstream_fileno
    linkageType: ''
    returnType: void
    signature: void auto_clnt_open(AUTO_CLNT *auto_clnt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/auto_clnt.c:247,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/auto_clnt.c:253,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/auto_clnt.c:254,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/util/auto_clnt.c:255,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/auto_clnt.c:255,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/util/auto_clnt.c:256,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/util/auto_clnt.c:257,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/auto_clnt.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - auto_clnt
    argTypes:
    - AUTO_CLNT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 260
    functionName: auto_clnt_close
    functionSourceFile: /src/postfix/postfix/src/util/auto_clnt.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - VSTREAM_PATH
    - vstream_fclose
    - msg_info
    - event_disable_readwrite
    - vstream_fileno
    - event_cancel_timer
    linkageType: ''
    returnType: void
    signature: void auto_clnt_close(AUTO_CLNT *auto_clnt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: auto_clnt_close
      Src: /src/postfix/postfix/src/util/auto_clnt.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - auto_clnt
    argTypes:
    - AUTO_CLNT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: auto_clnt_recover
    functionSourceFile: /src/postfix/postfix/src/util/auto_clnt.c
    functionUses: 7
    functionsReached:
    - auto_clnt_close
    linkageType: ''
    returnType: void
    signature: void auto_clnt_recover(AUTO_CLNT *auto_clnt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: auto_clnt_open
      Src: /src/postfix/postfix/src/util/auto_clnt.c:286,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/util/auto_clnt.c:290,1
    - Dst: handshake
      Src: /src/postfix/postfix/src/util/auto_clnt.c:294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - auto_clnt
    argTypes:
    - AUTO_CLNT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 297
    functionName: auto_clnt_access
    functionSourceFile: /src/postfix/postfix/src/util/auto_clnt.c
    functionUses: 7
    functionsReached:
    - handshake
    - event_request_timer
    - auto_clnt_open
    linkageType: ''
    returnType: VSTREAM
    signature: VSTREAM *auto_clnt_access(AUTO_CLNT *auto_clnt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/auto_clnt.c:305,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/util/auto_clnt.c:312,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/auto_clnt.c:314,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/auto_clnt.c:316,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/auto_clnt.c:317,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/auto_clnt.c:319,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/auto_clnt.c:324,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/auto_clnt.c:326,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/auto_clnt.c:328,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/auto_clnt.c:331,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/auto_clnt.c:334,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - service
    - timeout
    - max_idle
    - max_ttl
    argTypes:
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 336
    functionName: auto_clnt_create
    functionSourceFile: /src/postfix/postfix/src/util/auto_clnt.c
    functionUses: 2
    functionsReached:
    - msg_info
    - myfree
    - strcmp
    - mymalloc
    - split_at
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: AUTO_CLNT
    signature: "AUTO_CLNT *auto_clnt_create(const char *service, int timeout,\n\t\t\t
      \           int max_idle, int max_ttl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - auto_clnt
    argTypes:
    - AUTO_CLNT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: auto_clnt_name
    functionSourceFile: /src/postfix/postfix/src/util/auto_clnt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *auto_clnt_name(AUTO_CLNT *auto_clnt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: auto_clnt_close
      Src: /src/postfix/postfix/src/util/auto_clnt.c:350,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/auto_clnt.c:351,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/auto_clnt.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - auto_clnt
    argTypes:
    - AUTO_CLNT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 353
    functionName: auto_clnt_free
    functionSourceFile: /src/postfix/postfix/src/util/auto_clnt.c
    functionUses: 6
    functionsReached:
    - myfree
    - auto_clnt_close
    linkageType: ''
    returnType: void
    signature: void auto_clnt_free(AUTO_CLNT *auto_clnt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/auto_clnt.c:362,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/auto_clnt.c:362,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/auto_clnt.c:365,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/auto_clnt.c:368,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/auto_clnt.c:371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - client
    - name
    argTypes:
    - AUTO_CLNT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 372
    functionName: auto_clnt_control
    functionSourceFile: /src/postfix/postfix/src/util/auto_clnt.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    - va_arg
    - msg_panic
    linkageType: ''
    returnType: void
    signature: void auto_clnt_control(AUTO_CLNT *client, int name,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/util/dict_tcp.c
    functionUses: 444
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inet_connect
      Src: /src/postfix/postfix/src/util/dict_tcp.c:125,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_tcp.c:126,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/util/dict_tcp.c:129,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/util/dict_tcp.c:130,1
    - Dst: CA_VSTREAM_CTL_TIMEOUT
      Src: /src/postfix/postfix/src/util/dict_tcp.c:131,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_tcp.c:138,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_tcp.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - dict_tcp
    argTypes:
    - DICT_TCP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 142
    functionName: dict_tcp_connect
    functionSourceFile: /src/postfix/postfix/src/util/dict_tcp.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - CA_VSTREAM_CTL_TIMEOUT
    - vstream_fdopen
    - vstring_alloc
    - vstream_control
    - inet_connect
    linkageType: ''
    returnType: int
    signature: int dict_tcp_connect(DICT_TCP *dict_tcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/dict_tcp.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dict_tcp
    argTypes:
    - DICT_TCP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: dict_tcp_disconnect
    functionSourceFile: /src/postfix/postfix/src/util/dict_tcp.c
    functionUses: 0
    functionsReached:
    - vstream_fclose
    linkageType: ''
    returnType: void
    signature: void dict_tcp_disconnect(DICT_TCP *dict_tcp)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_tcp.c:165,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_tcp.c:172,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_tcp.c:173,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_tcp.c:174,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_tcp.c:174,1
    - Dst: dict_tcp_connect
      Src: /src/postfix/postfix/src/util/dict_tcp.c:181,1
    - Dst: hex_quote
      Src: /src/postfix/postfix/src/util/dict_tcp.c:188,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/dict_tcp.c:189,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_tcp.c:189,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_tcp.c:191,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_tcp.c:191,1
    - Dst: vstring_get_nonl_bound
      Src: /src/postfix/postfix/src/util/dict_tcp.c:192,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_tcp.c:201,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_tcp.c:204,1
    - Dst: dict_tcp_disconnect
      Src: /src/postfix/postfix/src/util/dict_tcp.c:206,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/util/dict_tcp.c:213,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/util/dict_tcp.c:218,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_tcp.c:221,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_tcp.c:221,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_tcp.c:227,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/util/dict_tcp.c:228,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/util/dict_tcp.c:228,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/util/dict_tcp.c:229,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/dict_tcp.c:229,1
    - Dst: hex_unquote
      Src: /src/postfix/postfix/src/util/dict_tcp.c:230,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_tcp.c:231,1
    - Dst: printable
      Src: /src/postfix/postfix/src/util/dict_tcp.c:232,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_tcp.c:232,1
    - Dst: dict_tcp_disconnect
      Src: /src/postfix/postfix/src/util/dict_tcp.c:233,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/util/dict_tcp.c:234,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_tcp.c:243,1
    - Dst: printable
      Src: /src/postfix/postfix/src/util/dict_tcp.c:244,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_tcp.c:244,1
    - Dst: dict_tcp_disconnect
      Src: /src/postfix/postfix/src/util/dict_tcp.c:245,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/util/dict_tcp.c:246,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_tcp.c:249,1
    - Dst: printable
      Src: /src/postfix/postfix/src/util/dict_tcp.c:250,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_tcp.c:250,1
    - Dst: dict_tcp_disconnect
      Src: /src/postfix/postfix/src/util/dict_tcp.c:251,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/util/dict_tcp.c:252,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_tcp.c:255,1
    - Dst: printable
      Src: /src/postfix/postfix/src/util/dict_tcp.c:256,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_tcp.c:256,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/util/dict_tcp.c:257,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_tcp.c:260,1
    - Dst: printable
      Src: /src/postfix/postfix/src/util/dict_tcp.c:261,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_tcp.c:261,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/util/dict_tcp.c:262,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_tcp.c:262,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 2
    argNames:
    - dict
    - key
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 264
    functionName: dict_tcp_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_tcp.c
    functionUses: 0
    functionsReached:
    - sleep
    - printable
    - msg_warn
    - dict_tcp_disconnect
    - vstream_fprintf
    - dict_tcp_connect
    - ISSPACE
    - hex_unquote
    - vstring_get_nonl_bound
    - vstring_alloc
    - hex_quote
    - msg_info
    - vstring_strcpy
    - ISDIGIT
    - vstring_str
    - RETURN
    - lowercase
    - STR
    linkageType: ''
    returnType: char
    signature: char *dict_tcp_lookup(DICT *dict, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - errval
    - ','
    - result
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict_tcp.c
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETURN(errval, result)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/dict_tcp.c:273,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_tcp.c:275,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_tcp.c:277,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_tcp.c:279,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/util/dict_tcp.c:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 281
    functionName: dict_tcp_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_tcp.c
    functionUses: 0
    functionsReached:
    - dict_free
    - vstring_free
    - vstream_fclose
    linkageType: ''
    returnType: void
    signature: void dict_tcp_close(DICT *dict)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_tcp.c:293,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_tcp.c:297,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/util/dict_tcp.c:305,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_tcp.c:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - map
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 315
    functionName: dict_tcp_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_tcp.c
    functionUses: 0
    functionsReached:
    - dict_surrogate
    - vstring_alloc
    - dict_alloc
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_tcp_open(const char *map, int open_flags, int dict_flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISASCII
      Src: /src/postfix/postfix/src/util/allspace.c:47,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/allspace.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: allspace
    functionSourceFile: /src/postfix/postfix/src/util/allspace.c
    functionUses: 4
    functionsReached:
    - ISASCII
    - ISSPACE
    linkageType: ''
    returnType: int
    signature: int allspace(const char *string)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_ht.c:62,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_ht.c:63,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_ht.c:64,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_ht.c:64,1
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/util/dict_ht.c:66,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_ht.c:67,1
    - Dst: htable_delete
      Src: /src/postfix/postfix/src/util/dict_ht.c:69,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_ht.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - dict
    - name
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: dict_ht_delete
    functionSourceFile: /src/postfix/postfix/src/util/dict_ht.c
    functionUses: 0
    functionsReached:
    - htable_delete
    - vstring_alloc
    - DICT_ERR_VAL_RETURN
    - htable_locate
    - vstring_strcpy
    - vstring_str
    - lowercase
    linkageType: ''
    returnType: int
    signature: int dict_ht_delete(DICT *dict, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_ht.c:85,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_ht.c:86,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_ht.c:87,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_ht.c:87,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_ht.c:89,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/util/dict_ht.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dict
    - name
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: dict_ht_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_ht.c
    functionUses: 0
    functionsReached:
    - vstring_alloc
    - vstring_strcpy
    - lowercase
    - vstring_str
    - htable_find
    - DICT_ERR_VAL_RETURN
    linkageType: ''
    returnType: char
    signature: char *dict_ht_lookup(DICT *dict, const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/dict_ht.c:98,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_ht.c:105,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_ht.c:106,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_ht.c:107,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_ht.c:107,1
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/util/dict_ht.c:109,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_ht.c:110,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/util/dict_ht.c:112,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_ht.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - dict
    - name
    - value
    argTypes:
    - DICT*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 116
    functionName: dict_ht_update
    functionSourceFile: /src/postfix/postfix/src/util/dict_ht.c
    functionUses: 0
    functionsReached:
    - vstring_alloc
    - myfree
    - htable_enter
    - DICT_ERR_VAL_RETURN
    - htable_locate
    - vstring_strcpy
    - vstring_str
    - mystrdup
    - lowercase
    linkageType: ''
    returnType: int
    signature: int dict_ht_update(DICT *dict, const char *name, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htable_sequence
      Src: /src/postfix/postfix/src/util/dict_ht.c:126,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_ht.c:133,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_ht.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - dict
    - how
    - name
    - value
    argTypes:
    - DICT*
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 139
    functionName: dict_ht_sequence
    functionSourceFile: /src/postfix/postfix/src/util/dict_ht.c
    functionUses: 0
    functionsReached:
    - htable_sequence
    - DICT_ERR_VAL_RETURN
    linkageType: ''
    returnType: int
    signature: "int dict_ht_sequence(DICT *dict, int how, const char **name,\n\t\t\t
      \           const char **value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htable_free
      Src: /src/postfix/postfix/src/util/dict_ht.c:147,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_ht.c:149,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/util/dict_ht.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: dict_ht_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_ht.c
    functionUses: 0
    functionsReached:
    - dict_free
    - htable_free
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_ht_close(DICT *dict)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/util/dict_ht.c:159,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_ht.c:167,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/util/dict_ht.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - name
    - unused_open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 171
    functionName: dict_ht_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_ht.c
    functionUses: 2
    functionsReached:
    - htable_create
    - vstring_alloc
    - dict_alloc
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_ht_open(const char *name, int unused_open_flags, int dict_flags)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dlopen
      Src: /src/postfix/postfix/src/util/load_lib.c:92,1
    - Dst: dlerror
      Src: /src/postfix/postfix/src/util/load_lib.c:93,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/load_lib.c:94,1
    - Dst: dlsym
      Src: /src/postfix/postfix/src/util/load_lib.c:99,1
    - Dst: dlerror
      Src: /src/postfix/postfix/src/util/load_lib.c:100,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/load_lib.c:101,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/load_lib.c:106,1
    - Dst: dlsym
      Src: /src/postfix/postfix/src/util/load_lib.c:111,1
    - Dst: dlerror
      Src: /src/postfix/postfix/src/util/load_lib.c:112,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/load_lib.c:113,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/load_lib.c:117,1
    - Dst: shl_load
      Src: /src/postfix/postfix/src/util/load_lib.c:123,1
    - Dst: shl_findsym
      Src: /src/postfix/postfix/src/util/load_lib.c:127,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/load_lib.c:128,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/load_lib.c:131,1
    - Dst: shl_findsym
      Src: /src/postfix/postfix/src/util/load_lib.c:136,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/load_lib.c:137,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/load_lib.c:140,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 3
    argNames:
    - libname
    - libfuncs
    - libdata
    argTypes:
    - char*
    - LIB_FN*
    - LIB_DP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 144
    functionName: load_library_symbols
    functionSourceFile: /src/postfix/postfix/src/util/load_lib.c
    functionUses: 1
    functionsReached:
    - dlerror
    - shl_load
    - shl_findsym
    - msg_info
    - dlopen
    - msg_fatal
    - dlsym
    linkageType: ''
    returnType: void
    signature: "void load_library_symbols(const char *libname, LIB_FN *libfuncs,\n\t\t\t
      \            LIB_DP *libdata)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/unix_connect.c:63,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_connect.c:70,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/unix_connect.c:71,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/unix_connect.c:76,1
    - Dst: socket
      Src: /src/postfix/postfix/src/util/unix_connect.c:81,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/util/unix_connect.c:88,1
    - Dst: timed_connect
      Src: /src/postfix/postfix/src/util/unix_connect.c:89,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/unix_connect.c:90,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/util/unix_connect.c:94,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/util/unix_connect.c:102,1
    - Dst: sane_connect
      Src: /src/postfix/postfix/src/util/unix_connect.c:103,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/unix_connect.c:105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - addr
    - block_mode
    - timeout
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 110
    functionName: unix_connect
    functionSourceFile: /src/postfix/postfix/src/util/unix_connect.c
    functionUses: 2
    functionsReached:
    - strlen
    - close
    - socket
    - sane_connect
    - non_blocking
    - memset
    - memcpy
    - msg_fatal
    - timed_connect
    linkageType: ''
    returnType: int
    signature: int unix_connect(const char *addr, int block_mode, int timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISUPPER
      Src: /src/postfix/postfix/src/util/lowercase.c:40,1
    - Dst: TOLOWER
      Src: /src/postfix/postfix/src/util/lowercase.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: lowercase
    functionSourceFile: /src/postfix/postfix/src/util/lowercase.c
    functionUses: 14
    functionsReached:
    - TOLOWER
    - ISUPPER
    linkageType: ''
    returnType: char
    signature: char *lowercase(char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: DICT_OWNER_AGGREGATE_INIT
    functionSourceFile: /src/postfix/postfix/src/util/dict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_OWNER_AGGREGATE_INIT(dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: DICT_OWNER_AGGREGATE_UPDATE
    functionSourceFile: /src/postfix/postfix/src/util/dict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_OWNER_AGGREGATE_UPDATE(dst, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enable
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: DICT_NEED_UTF8_ACTIVATION
    functionSourceFile: /src/postfix/postfix/src/util/dict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_NEED_UTF8_ACTIVATION(enable, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dict
    - ','
    - err
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: DICT_ERR_VAL_RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_ERR_VAL_RETURN(dict, err, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dp
    - ','
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: dict_get
    functionSourceFile: /src/postfix/postfix/src/util/dict.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_get(dp, key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dp
    - ','
    - key
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: dict_put
    functionSourceFile: /src/postfix/postfix/src/util/dict.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_put(dp, key, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dp
    - ','
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 228
    functionName: dict_del
    functionSourceFile: /src/postfix/postfix/src/util/dict.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_del(dp, key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dp
    - ','
    - f
    - ','
    - key
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: dict_seq
    functionSourceFile: /src/postfix/postfix/src/util/dict.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_seq(dp, f, key, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: dict_close
    functionSourceFile: /src/postfix/postfix/src/util/dict.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_close(dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dict
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 287
    functionName: dict_setjmp
    functionSourceFile: /src/postfix/postfix/src/util/dict.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_setjmp(dict)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dict
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 288
    functionName: dict_longjmp
    functionSourceFile: /src/postfix/postfix/src/util/dict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_longjmp(dict, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dict
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 290
    functionName: dict_setjmp
    functionSourceFile: /src/postfix/postfix/src/util/dict.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_setjmp(dict)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dict
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: dict_longjmp
    functionSourceFile: /src/postfix/postfix/src/util/dict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_longjmp(dict, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dict
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: dict_isjmp
    functionSourceFile: /src/postfix/postfix/src/util/dict.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_isjmp(dict)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: DICT_THASH_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_thash.c:94,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_thash.c:94,1
    - Dst: time
      Src: /src/postfix/postfix/src/util/dict_thash.c:103,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/util/dict_thash.c:104,1
    - Dst: DICT_THASH_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_thash.c:105,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_thash.c:105,1
    - Dst: dict_ht_open
      Src: /src/postfix/postfix/src/util/dict_thash.c:113,1
    - Dst: dict_type_override
      Src: /src/postfix/postfix/src/util/dict_thash.c:114,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_thash.c:120,1
    - Dst: readllines
      Src: /src/postfix/postfix/src/util/dict_thash.c:122,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/util/dict_thash.c:129,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_thash.c:129,1
    - Dst: valid_utf8_stringz
      Src: /src/postfix/postfix/src/util/dict_thash.c:130,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_thash.c:130,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_thash.c:131,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/dict_thash.c:133,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_thash.c:133,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_thash.c:141,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/dict_thash.c:145,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_thash.c:153,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/dict_thash.c:155,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_thash.c:155,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/dict_thash.c:160,1
    - Dst: trimblanks
      Src: /src/postfix/postfix/src/util/dict_thash.c:162,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_thash.c:168,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_thash.c:175,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_thash.c:179,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_thash.c:180,1
    - Dst: dict_file_to_b64
      Src: /src/postfix/postfix/src/util/dict_thash.c:191,1
    - Dst: dict_file_get_error
      Src: /src/postfix/postfix/src/util/dict_thash.c:192,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_thash.c:193,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/dict_thash.c:194,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_thash.c:195,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_thash.c:198,1
    - Dst: DICT*::lookup
      Src: /src/postfix/postfix/src/util/dict_thash.c:210,1
    - Dst: DICT*::update
      Src: /src/postfix/postfix/src/util/dict_thash.c:214,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_thash.c:216,1
    - Dst: DICT*::close
      Src: /src/postfix/postfix/src/util/dict_thash.c:219,1
    - Dst: DICT_THASH_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_thash.c:220,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_thash.c:220,1
    - Dst: DICT*::update
      Src: /src/postfix/postfix/src/util/dict_thash.c:226,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/util/dict_thash.c:233,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/dict_thash.c:233,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_thash.c:234,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/dict_thash.c:235,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_thash.c:236,1
    - Dst: time
      Src: /src/postfix/postfix/src/util/dict_thash.c:238,1
    - Dst: DICT*::close
      Src: /src/postfix/postfix/src/util/dict_thash.c:245,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_thash.c:247,1
    - Dst: doze
      Src: /src/postfix/postfix/src/util/dict_thash.c:248,1
    - Dst: DICT_THASH_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_thash.c:254,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 88
    argCount: 3
    argNames:
    - path
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 65
    functionDepth: 5
    functionLinenumber: 65
    functionLinenumberEnd: 255
    functionName: dict_thash_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_thash.c
    functionUses: 0
    functionsReached:
    - ISSPACE
    - msg_info
    - dict_surrogate
    - dict_file_get_error
    - DICT*::lookup
    - DICT_THASH_OPEN_RETURN
    - DICT*::close
    - VSTREAM_PATH
    - strlen
    - doze
    - vstring_alloc
    - readllines
    - DICT*::update
    - vstring_str
    - vstream_fopen
    - allascii
    - time
    - myfree
    - dict_type_override
    - fstat
    - trimblanks
    - dict_file_to_b64
    - msg_warn
    - vstream_fclose
    - vstream_fileno
    - msg_fatal
    - valid_utf8_stringz
    - dict_ht_open
    - STR
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_thash_open(const char *path, int open_flags, int dict_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: DICT_THASH_OPEN_RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict_thash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_THASH_OPEN_RETURN(d)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: inet_addr
      Src: /src/postfix/postfix/src/util/find_inet.c:79,1
    - Dst: gethostbyname
      Src: /src/postfix/postfix/src/util/find_inet.c:81,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/find_inet.c:82,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/find_inet.c:84,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/find_inet.c:86,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/find_inet.c:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - host
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: find_inet_addr
    functionSourceFile: /src/postfix/postfix/src/util/find_inet.c
    functionUses: 0
    functionsReached:
    - inet_addr
    - msg_fatal
    - gethostbyname
    - memcpy
    linkageType: ''
    returnType: unsigned
    signature: unsigned find_inet_addr(const char *host)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: filter_known_tcp_port
      Src: /src/postfix/postfix/src/util/find_inet.c:99,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/util/find_inet.c:100,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/util/find_inet.c:100,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/find_inet.c:102,1
    - Dst: htons
      Src: /src/postfix/postfix/src/util/find_inet.c:103,1
    - Dst: getservbyname
      Src: /src/postfix/postfix/src/util/find_inet.c:105,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/find_inet.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - service
    - protocol
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 109
    functionName: find_inet_port
    functionSourceFile: /src/postfix/postfix/src/util/find_inet.c
    functionUses: 1
    functionsReached:
    - htons
    - filter_known_tcp_port
    - getservbyname
    - alldig
    - atoi
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int find_inet_port(const char *service, const char *protocol)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/util/find_inet.c
    functionUses: 446
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - one
    - two
    argTypes:
    - VSTREAM*
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: vstream_swap
    functionSourceFile: /src/postfix/postfix/src/util/find_inet.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vstream_swap(VSTREAM *one, VSTREAM *two)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/find_inet.c:146,1
    - Dst: vmsg_warn
      Src: /src/postfix/postfix/src/util/find_inet.c:147,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/find_inet.c:148,1
    - Dst: longjmp
      Src: /src/postfix/postfix/src/util/find_inet.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: test_msg_fatal
    functionSourceFile: /src/postfix/postfix/src/util/find_inet.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vmsg_warn
    - longjmp
    linkageType: ''
    returnType: void
    signature: void test_msg_fatal(const char *fmt,...)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/find_inet.c:207,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/find_inet.c:208,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/find_inet.c:212,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/find_inet.c:213,1
    - Dst: clear_known_tcp_ports
      Src: /src/postfix/postfix/src/util/find_inet.c:214,1
    - Dst: add_known_tcp_port
      Src: /src/postfix/postfix/src/util/find_inet.c:216,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/find_inet.c:218,1
    - Dst: vstream_memopen
      Src: /src/postfix/postfix/src/util/find_inet.c:221,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/find_inet.c:222,1
    - Dst: vstream_swap
      Src: /src/postfix/postfix/src/util/find_inet.c:223,1
    - Dst: setjmp
      Src: /src/postfix/postfix/src/util/find_inet.c:224,1
    - Dst: find_inet_port
      Src: /src/postfix/postfix/src/util/find_inet.c:225,1
    - Dst: vstream_swap
      Src: /src/postfix/postfix/src/util/find_inet.c:226,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/find_inet.c:227,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/find_inet.c:228,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/find_inet.c:229,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/find_inet.c:229,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/find_inet.c:230,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/find_inet.c:231,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/util/find_inet.c:234,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/find_inet.c:235,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/util/find_inet.c:236,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/find_inet.c:242,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/find_inet.c:245,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/find_inet.c:249,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/find_inet.c:250,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/find_inet.c:251,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 252
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/find_inet.c
    functionUses: 40
    functionsReached:
    - msg_vstream_init
    - msg_info
    - VSTRING_RESET
    - ntohs
    - setjmp
    - exit
    - vstring_alloc
    - vstream_memopen
    - add_known_tcp_port
    - clear_known_tcp_ports
    - VSTRING_TERMINATE
    - vstring_free
    - find_inet_port
    - vstream_swap
    - msg_warn
    - vstream_fclose
    - strcmp
    - msg_fatal
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/postfix/postfix/src/util/sane_time.c:69,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/sane_time.c:73,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/sane_time.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 91
    functionName: sane_time
    functionSourceFile: /src/postfix/postfix/src/util/sane_time.c
    functionUses: 4
    functionsReached:
    - time
    - msg_warn
    linkageType: ''
    returnType: time_t
    signature: time_t sane_time(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/sane_time.c:110,1
    - Dst: atol
      Src: /src/postfix/postfix/src/util/sane_time.c:112,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/sane_time.c:115,1
    - Dst: time
      Src: /src/postfix/postfix/src/util/sane_time.c:118,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/sane_time.c:119,1
    - Dst: ctime
      Src: /src/postfix/postfix/src/util/sane_time.c:119,1
    - Dst: sane_time
      Src: /src/postfix/postfix/src/util/sane_time.c:120,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/sane_time.c:121,1
    - Dst: ctime
      Src: /src/postfix/postfix/src/util/sane_time.c:121,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/sane_time.c:122,1
    - Dst: doze
      Src: /src/postfix/postfix/src/util/sane_time.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/sane_time.c
    functionUses: 40
    functionsReached:
    - sane_time
    - time
    - vstream_fflush
    - doze
    - msg_vstream_init
    - atol
    - vstream_printf
    - msg_fatal
    - ctime
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/timed_connect.c:77,1
    - Dst: sane_connect
      Src: /src/postfix/postfix/src/util/timed_connect.c:82,1
    - Dst: write_wait
      Src: /src/postfix/postfix/src/util/timed_connect.c:91,1
    - Dst: getsockopt
      Src: /src/postfix/postfix/src/util/timed_connect.c:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - sock
    - sa
    - len
    - timeout
    argTypes:
    - int
    - struct sockaddr*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 111
    functionName: timed_connect
    functionSourceFile: /src/postfix/postfix/src/util/timed_connect.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - getsockopt
    - sane_connect
    - write_wait
    linkageType: ''
    returnType: int
    signature: int timed_connect(int sock, struct sockaddr *sa, int len, int timeout)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/mask_addr.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - addr_bytes
    - addr_byte_count
    - network_bits
    argTypes:
    - unsigned char*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: mask_addr
    functionSourceFile: /src/postfix/postfix/src/util/mask_addr.c
    functionUses: 1
    functionsReached:
    - msg_panic
    linkageType: ''
    returnType: void
    signature: "void mask_addr(unsigned char *addr_bytes,\n\t\t          unsigned
      addr_byte_count,\n\t\t          unsigned network_bits)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dummy_write.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - fd
    - unused_buf
    - len
    - unused_timeout
    - unused_context
    argTypes:
    - int
    - void*
    - size_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: dummy_write
    functionSourceFile: /src/postfix/postfix/src/util/dummy_write.c
    functionUses: 0
    functionsReached:
    - msg_info
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t dummy_write(int fd, void *unused_buf, size_t len,\n\t\t            int
      unused_timeout, void *unused_context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/postfix/postfix/src/util/stream_recv_fd.c:61,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_recv_fd.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: stream_recv_fd
    functionSourceFile: /src/postfix/postfix/src/util/stream_recv_fd.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - ioctl
    linkageType: ''
    returnType: int
    signature: int stream_recv_fd(int fd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: split_at
      Src: /src/postfix/postfix/src/util/stream_recv_fd.c:92,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_recv_fd.c:94,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/stream_recv_fd.c:96,1
    - Dst: stream_listen
      Src: /src/postfix/postfix/src/util/stream_recv_fd.c:97,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_recv_fd.c:99,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_recv_fd.c:102,1
    - Dst: stream_accept
      Src: /src/postfix/postfix/src/util/stream_recv_fd.c:104,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_recv_fd.c:106,1
    - Dst: stream_recv_fd
      Src: /src/postfix/postfix/src/util/stream_recv_fd.c:108,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/stream_recv_fd.c:109,1
    - Dst: read
      Src: /src/postfix/postfix/src/util/stream_recv_fd.c:110,1
    - Dst: write
      Src: /src/postfix/postfix/src/util/stream_recv_fd.c:111,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_recv_fd.c:113,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/stream_recv_fd.c:114,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_recv_fd.c:115,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/stream_recv_fd.c:117,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 118
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/stream_recv_fd.c
    functionUses: 40
    functionsReached:
    - read
    - stream_recv_fd
    - close
    - stream_listen
    - exit
    - msg_info
    - strcmp
    - split_at
    - msg_fatal
    - stream_accept
    - write
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: DC_SCHEDULE_FOR_DELETE_BEHIND
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DC_SCHEDULE_FOR_DELETE_BEHIND(cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cp
    - ','
    - cache_key
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: DC_MATCH_SAVED_CURRENT_KEY
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DC_MATCH_SAVED_CURRENT_KEY(cp, cache_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: DC_IS_SCHEDULED_FOR_DELETE_BEHIND
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DC_IS_SCHEDULED_FOR_DELETE_BEHIND(cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: DC_CANCEL_DELETE_BEHIND
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DC_CANCEL_DELETE_BEHIND(cp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DC_IS_SCHEDULED_FOR_DELETE_BEHIND
      Src: /src/postfix/postfix/src/util/dict_cache.c:286,1
    - Dst: DC_MATCH_SAVED_CURRENT_KEY
      Src: /src/postfix/postfix/src/util/dict_cache.c:287,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_cache.c:289,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_cache.c:291,1
    - Dst: dict_get
      Src: /src/postfix/postfix/src/util/dict_cache.c:293,1
    - Dst: msg_rate_delay
      Src: /src/postfix/postfix/src/util/dict_cache.c:295,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_cache.c:299,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_cache.c:302,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - cp
    - cache_key
    argTypes:
    - DICT_CACHE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 304
    functionName: dict_cache_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 3
    functionsReached:
    - msg_rate_delay
    - msg_info
    - DC_IS_SCHEDULED_FOR_DELETE_BEHIND
    - dict_get
    - DC_MATCH_SAVED_CURRENT_KEY
    - DICT_ERR_VAL_RETURN
    linkageType: ''
    returnType: char
    signature: char *dict_cache_lookup(DICT_CACHE *cp, const char *cache_key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DC_IS_SCHEDULED_FOR_DELETE_BEHIND
      Src: /src/postfix/postfix/src/util/dict_cache.c:318,1
    - Dst: DC_MATCH_SAVED_CURRENT_KEY
      Src: /src/postfix/postfix/src/util/dict_cache.c:319,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_cache.c:321,1
    - Dst: DC_CANCEL_DELETE_BEHIND
      Src: /src/postfix/postfix/src/util/dict_cache.c:322,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_cache.c:325,1
    - Dst: dict_put
      Src: /src/postfix/postfix/src/util/dict_cache.c:326,1
    - Dst: msg_rate_delay
      Src: /src/postfix/postfix/src/util/dict_cache.c:328,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_cache.c:330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - cp
    - cache_key
    - cache_val
    argTypes:
    - DICT_CACHE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 331
    functionName: dict_cache_update
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 3
    functionsReached:
    - msg_rate_delay
    - DC_MATCH_SAVED_CURRENT_KEY
    - dict_put
    - msg_info
    - DC_IS_SCHEDULED_FOR_DELETE_BEHIND
    - DC_CANCEL_DELETE_BEHIND
    - DICT_ERR_VAL_RETURN
    linkageType: ''
    returnType: int
    signature: "int dict_cache_update(DICT_CACHE *cp, const char *cache_key,\n\t\t\t
      \         const char *cache_val)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DC_MATCH_SAVED_CURRENT_KEY
      Src: /src/postfix/postfix/src/util/dict_cache.c:346,1
    - Dst: DC_SCHEDULE_FOR_DELETE_BEHIND
      Src: /src/postfix/postfix/src/util/dict_cache.c:347,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_cache.c:349,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_cache.c:351,1
    - Dst: dict_del
      Src: /src/postfix/postfix/src/util/dict_cache.c:353,1
    - Dst: msg_rate_delay
      Src: /src/postfix/postfix/src/util/dict_cache.c:355,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_cache.c:358,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_cache.c:361,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - cp
    - cache_key
    argTypes:
    - DICT_CACHE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 363
    functionName: dict_cache_delete
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 1
    functionsReached:
    - msg_rate_delay
    - DC_SCHEDULE_FOR_DELETE_BEHIND
    - msg_info
    - dict_del
    - DC_MATCH_SAVED_CURRENT_KEY
    - DICT_ERR_VAL_RETURN
    linkageType: ''
    returnType: int
    signature: int dict_cache_delete(DICT_CACHE *cp, const char *cache_key)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dict_seq
      Src: /src/postfix/postfix/src/util/dict_cache.c:383,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_cache.c:385,1
    - Dst: dict_seq
      Src: /src/postfix/postfix/src/util/dict_cache.c:387,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_cache.c:389,1
    - Dst: msg_rate_delay
      Src: /src/postfix/postfix/src/util/dict_cache.c:395,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/dict_cache.c:409,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/dict_cache.c:410,1
    - Dst: DC_IS_SCHEDULED_FOR_DELETE_BEHIND
      Src: /src/postfix/postfix/src/util/dict_cache.c:419,1
    - Dst: DC_CANCEL_DELETE_BEHIND
      Src: /src/postfix/postfix/src/util/dict_cache.c:420,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_cache.c:422,1
    - Dst: dict_del
      Src: /src/postfix/postfix/src/util/dict_cache.c:424,1
    - Dst: msg_rate_delay
      Src: /src/postfix/postfix/src/util/dict_cache.c:425,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_cache.c:434,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_cache.c:436,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_cache.c:443,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 4
    argNames:
    - cp
    - first_next
    - cache_key
    - cache_val
    argTypes:
    - DICT_CACHE*
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 444
    functionName: dict_cache_sequence
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 0
    functionsReached:
    - msg_rate_delay
    - dict_seq
    - msg_info
    - dict_del
    - myfree
    - strcmp
    - DC_IS_SCHEDULED_FOR_DELETE_BEHIND
    - DC_CANCEL_DELETE_BEHIND
    - mystrdup
    - DICT_ERR_VAL_RETURN
    linkageType: ''
    returnType: int
    signature: "int dict_cache_sequence(DICT_CACHE *cp, int first_next,\n\t\t\t            const
      char **cache_key,\n\t\t\t            const char **cache_val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DC_CANCEL_DELETE_BEHIND
      Src: /src/postfix/postfix/src/util/dict_cache.c:452,1
    - Dst: FREE_AND_WIPE
      Src: /src/postfix/postfix/src/util/dict_cache.c:453,1
    - Dst: FREE_AND_WIPE
      Src: /src/postfix/postfix/src/util/dict_cache.c:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cp
    argTypes:
    - DICT_CACHE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 455
    functionName: dict_cache_delete_behind_reset
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 0
    functionsReached:
    - DC_CANCEL_DELETE_BEHIND
    - FREE_AND_WIPE
    linkageType: ''
    returnType: void
    signature: void dict_cache_delete_behind_reset(DICT_CACHE *cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 451
    functionName: FREE_AND_WIPE
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_AND_WIPE(s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_cache.c:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cp
    - full_partial
    argTypes:
    - DICT_CACHE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 466
    functionName: dict_cache_clean_stat_log_reset
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 0
    functionsReached:
    - msg_info
    linkageType: ''
    returnType: void
    signature: "void dict_cache_clean_stat_log_reset(DICT_CACHE *cp,\n\t\t\t\t\t            const
      char *full_partial)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_cache.c:493,1
    - Dst: dict_cache_sequence
      Src: /src/postfix/postfix/src/util/dict_cache.c:506,1
    - Dst: DICT_CACHE*::exp_validator
      Src: /src/postfix/postfix/src/util/dict_cache.c:507,1
    - Dst: DC_SCHEDULE_FOR_DELETE_BEHIND
      Src: /src/postfix/postfix/src/util/dict_cache.c:508,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_cache.c:511,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_cache.c:516,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_cache.c:526,1
    - Dst: dict_cache_clean_stat_log_reset
      Src: /src/postfix/postfix/src/util/dict_cache.c:527,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_cache.c:531,1
    - Dst: dict_cache_clean_stat_log_reset
      Src: /src/postfix/postfix/src/util/dict_cache.c:532,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_cache.c:533,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/dict_cache.c:534,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/util/dict_cache.c:534,1
    - Dst: dict_put
      Src: /src/postfix/postfix/src/util/dict_cache.c:535,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_cache.c:536,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_cache.c:537,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/util/dict_cache.c:540,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - unused_event
    - cache_context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 541
    functionName: dict_cache_clean_event
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 0
    functionsReached:
    - dict_cache_clean_stat_log_reset
    - msg_warn
    - vstring_sprintf
    - event_request_timer
    - dict_put
    - DC_SCHEDULE_FOR_DELETE_BEHIND
    - vstring_alloc
    - msg_info
    - event_time
    - dict_cache_sequence
    - DICT_CACHE*::exp_validator
    - vstring_str
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_cache_clean_event(int unused_event, void *cache_context)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/dict_cache.c:557,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/dict_cache.c:558,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/dict_cache.c:563,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/dict_cache.c:568,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_cache.c:570,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/dict_cache.c:574,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/dict_cache.c:577,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_cache.c:580,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/dict_cache.c:583,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_cache.c:594,1
    - Dst: dict_get
      Src: /src/postfix/postfix/src/util/dict_cache.c:603,1
    - Dst: NEXT_START
      Src: /src/postfix/postfix/src/util/dict_cache.c:604,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_cache.c:609,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/util/dict_cache.c:611,1
    - Dst: dict_cache_clean_stat_log_reset
      Src: /src/postfix/postfix/src/util/dict_cache.c:620,1
    - Dst: dict_cache_delete_behind_reset
      Src: /src/postfix/postfix/src/util/dict_cache.c:621,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/util/dict_cache.c:622,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 1
    argNames:
    - cp
    argTypes:
    - DICT_CACHE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 624
    functionName: dict_cache_control
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 2
    functionsReached:
    - va_start
    - va_end
    - msg_panic
    - dict_cache_clean_stat_log_reset
    - NEXT_START
    - event_request_timer
    - va_arg
    - msg_info
    - dict_cache_delete_behind_reset
    - event_cancel_timer
    - dict_get
    linkageType: ''
    returnType: void
    signature: void dict_cache_control(DICT_CACHE *cp,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - last
    - ','
    - delta
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 601
    functionName: NEXT_START
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXT_START(last, delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_open
      Src: /src/postfix/postfix/src/util/dict_cache.c:637,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/dict_cache.c:642,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/dict_cache.c:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - dbname
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 659
    functionName: dict_cache_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 2
    functionsReached:
    - mymalloc
    - mystrdup
    - dict_open
    linkageType: ''
    returnType: DICT_CACHE
    signature: DICT_CACHE *dict_cache_open(const char *dbname, int open_flags, int
      dict_flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dict_cache_control
      Src: /src/postfix/postfix/src/util/dict_cache.c:670,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_cache.c:675,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/util/dict_cache.c:676,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_cache.c:678,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_cache.c:680,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_cache.c:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cp
    argTypes:
    - DICT_CACHE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 663
    functionDepth: 3
    functionLinenumber: 663
    functionLinenumberEnd: 682
    functionName: dict_cache_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 3
    functionsReached:
    - dict_cache_control
    - myfree
    - dict_close
    linkageType: ''
    returnType: void
    signature: void dict_cache_close(DICT_CACHE *cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cp
    argTypes:
    - DICT_CACHE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 696
    functionName: dict_cache_name
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *dict_cache_name(DICT_CACHE *cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cp
    argTypes:
    - DICT_CACHE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 703
    functionName: dict_cache_error
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dict_cache_error(DICT_CACHE *cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 771
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 447
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_cache.c:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 784
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 34
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(const char *progname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_cache.c:791,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_cache.c:793,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/dict_cache.c:794,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - bp
    - cp
    argTypes:
    - VSTRING*
    - DICT_CACHE_SREQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 797
    functionName: make_tagged_key
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstring_sprintf
    linkageType: ''
    returnType: void
    signature: void make_tagged_key(VSTRING *bp, DICT_CACHE_SREQ *cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/dict_cache.c:806,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 820
    functionName: create_requests
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 0
    functionsReached:
    - mymalloc
    linkageType: ''
    returnType: DICT_CACHE_TEST
    signature: DICT_CACHE_TEST *create_requests(int count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_cache.c:833,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_cache.c:838,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - tp
    argTypes:
    - DICT_CACHE_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 844
    functionName: reset_requests
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 0
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void reset_requests(DICT_CACHE_TEST *tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset_requests
      Src: /src/postfix/postfix/src/util/dict_cache.c:850,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_cache.c:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tp
    argTypes:
    - DICT_CACHE_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 852
    functionName: free_requests
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 0
    functionsReached:
    - myfree
    - reset_requests
    linkageType: ''
    returnType: void
    signature: void free_requests(DICT_CACHE_TEST *tp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_cache.c:865,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/util/dict_cache.c:868,1
    - Dst: DICT_CACHE_SREQ*::action
      Src: /src/postfix/postfix/src/util/dict_cache.c:874,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/util/dict_cache.c:878,1
    - Dst: timersub
      Src: /src/postfix/postfix/src/util/dict_cache.c:879,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_cache.c:881,1
    - Dst: reset_requests
      Src: /src/postfix/postfix/src/util/dict_cache.c:884,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - tp
    - dp
    - bp
    argTypes:
    - DICT_CACHE_TEST*
    - DICT_CACHE*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 885
    functionName: run_requests
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - DICT_CACHE_SREQ*::action
    - timersub
    - GETTIMEOFDAY
    - vstream_printf
    - reset_requests
    linkageType: ''
    returnType: void
    signature: void run_requests(DICT_CACHE_TEST *tp, DICT_CACHE *dp, VSTRING *bp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_cache.c:894,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_cache.c:896,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_cache.c:899,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_cache.c:901,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_cache.c:906,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - tp
    - dp
    argTypes:
    - DICT_CACHE_TEST*
    - DICT_CACHE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 912
    functionName: show_status
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 0
    functionsReached:
    - vstream_printf
    linkageType: ''
    returnType: void
    signature: void show_status(DICT_CACHE_TEST *tp, DICT_CACHE *dp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: make_tagged_key
      Src: /src/postfix/postfix/src/util/dict_cache.c:920,1
    - Dst: dict_cache_lookup
      Src: /src/postfix/postfix/src/util/dict_cache.c:921,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_cache.c:921,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_cache.c:923,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_cache.c:923,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_cache.c:925,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_cache.c:925,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_cache.c:926,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_cache.c:926,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_cache.c:927,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_cache.c:928,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - cp
    - dp
    - bp
    argTypes:
    - DICT_CACHE_SREQ*
    - DICT_CACHE*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 916
    functionDepth: 2
    functionLinenumber: 916
    functionLinenumberEnd: 931
    functionName: query_action
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - make_tagged_key
    - strcmp
    - dict_cache_lookup
    - STR
    linkageType: ''
    returnType: void
    signature: void query_action(DICT_CACHE_SREQ *cp, DICT_CACHE *dp, VSTRING *bp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_tagged_key
      Src: /src/postfix/postfix/src/util/dict_cache.c:937,1
    - Dst: dict_cache_update
      Src: /src/postfix/postfix/src/util/dict_cache.c:938,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_cache.c:938,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_cache.c:938,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_cache.c:940,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_cache.c:940,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_cache.c:942,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_cache.c:942,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - cp
    - dp
    - bp
    argTypes:
    - DICT_CACHE_SREQ*
    - DICT_CACHE*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 935
    functionDepth: 2
    functionLinenumber: 935
    functionLinenumberEnd: 945
    functionName: update_action
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - dict_cache_update
    - make_tagged_key
    - STR
    linkageType: ''
    returnType: void
    signature: void update_action(DICT_CACHE_SREQ *cp, DICT_CACHE *dp, VSTRING *bp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_tagged_key
      Src: /src/postfix/postfix/src/util/dict_cache.c:951,1
    - Dst: dict_cache_delete
      Src: /src/postfix/postfix/src/util/dict_cache.c:952,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_cache.c:952,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_cache.c:954,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_cache.c:954,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_cache.c:956,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_cache.c:956,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - cp
    - dp
    - bp
    argTypes:
    - DICT_CACHE_SREQ*
    - DICT_CACHE*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 949
    functionDepth: 2
    functionLinenumber: 949
    functionLinenumberEnd: 959
    functionName: delete_action
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - STR
    - make_tagged_key
    - dict_cache_delete
    linkageType: ''
    returnType: void
    signature: void delete_action(DICT_CACHE_SREQ *cp, DICT_CACHE *dp, VSTRING *bp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dict_cache_sequence
      Src: /src/postfix/postfix/src/util/dict_cache.c:970,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_cache.c:971,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_cache.c:972,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/util/dict_cache.c:974,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_cache.c:975,1
    - Dst: dict_cache_delete
      Src: /src/postfix/postfix/src/util/dict_cache.c:979,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_cache.c:981,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_cache.c:981,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_cache.c:983,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_cache.c:983,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_cache.c:990,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_cache.c:992,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - cp
    - dp
    - bp
    argTypes:
    - DICT_CACHE_SREQ*
    - DICT_CACHE*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 963
    functionDepth: 2
    functionLinenumber: 963
    functionLinenumberEnd: 995
    functionName: iter_action
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - strspn
    - dict_cache_delete
    - dict_cache_sequence
    - strcmp
    - vstream_printf
    - STR
    linkageType: ''
    returnType: void
    signature: void iter_action(DICT_CACHE_SREQ *cp, DICT_CACHE *dp, VSTRING *bp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_cache.c:1030,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_cache.c:1035,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_cache.c:1038,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/util/dict_cache.c:1047,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/util/dict_cache.c:1047,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_cache.c:1048,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_cache.c:1052,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/dict_cache.c:1057,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/dict_cache.c:1060,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - tp
    - argv
    argTypes:
    - DICT_CACHE_TEST*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1065
    functionName: add_request
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - alldig
    - atoi
    - strcmp
    - vstream_printf
    - mystrdup
    linkageType: ''
    returnType: void
    signature: void add_request(DICT_CACHE_TEST *tp, ARGV *argv)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_cache.c:1072,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/dict_cache.c:1078,1
    - Dst: usage
      Src: /src/postfix/postfix/src/util/dict_cache.c:1080,1
    - Dst: create_requests
      Src: /src/postfix/postfix/src/util/dict_cache.c:1083,1
    - Dst: isatty
      Src: /src/postfix/postfix/src/util/dict_cache.c:1085,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_cache.c:1089,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/dict_cache.c:1090,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/util/dict_cache.c:1092,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_cache.c:1094,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_cache.c:1096,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/dict_cache.c:1097,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/util/dict_cache.c:1101,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_cache.c:1103,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/dict_cache.c:1104,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_cache.c:1107,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/util/dict_cache.c:1108,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_cache.c:1109,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/util/dict_cache.c:1110,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_cache.c:1112,1
    - Dst: atol
      Src: /src/postfix/postfix/src/util/dict_cache.c:1113,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_cache.c:1115,1
    - Dst: dict_cache_close
      Src: /src/postfix/postfix/src/util/dict_cache.c:1117,1
    - Dst: dict_cache_open
      Src: /src/postfix/postfix/src/util/dict_cache.c:1118,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_cache.c:1120,1
    - Dst: reset_requests
      Src: /src/postfix/postfix/src/util/dict_cache.c:1121,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_cache.c:1122,1
    - Dst: run_requests
      Src: /src/postfix/postfix/src/util/dict_cache.c:1123,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_cache.c:1124,1
    - Dst: show_status
      Src: /src/postfix/postfix/src/util/dict_cache.c:1125,1
    - Dst: add_request
      Src: /src/postfix/postfix/src/util/dict_cache.c:1127,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/dict_cache.c:1129,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/util/dict_cache.c:1130,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_cache.c:1133,1
    - Dst: free_requests
      Src: /src/postfix/postfix/src/util/dict_cache.c:1134,1
    - Dst: dict_cache_close
      Src: /src/postfix/postfix/src/util/dict_cache.c:1136,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 59
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1069
    functionDepth: 4
    functionLinenumber: 1069
    functionLinenumberEnd: 1138
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.c
    functionUses: 40
    functionsReached:
    - msg_vstream_init
    - dict_cache_open
    - atoi
    - dict_cache_close
    - vstream_fflush
    - vstring_alloc
    - add_request
    - vstring_str
    - show_status
    - create_requests
    - atol
    - vstream_printf
    - argv_split
    - isatty
    - vstring_free
    - free_requests
    - vstring_fgets_nonl
    - run_requests
    - argv_free
    - strcmp
    - usage
    - reset_requests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/inet_proto.c:146,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/inet_proto.c:148,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/inet_proto.c:149,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/inet_proto.c:151,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/inet_proto.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - len
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 154
    functionName: make_uchar_vector
    functionSourceFile: /src/postfix/postfix/src/util/inet_proto.c
    functionUses: 0
    functionsReached:
    - va_start
    - msg_panic
    - va_end
    - va_arg
    - mymalloc
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *make_uchar_vector(int len,...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/inet_proto.c:165,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/inet_proto.c:167,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/inet_proto.c:168,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/inet_proto.c:170,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/inet_proto.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - len
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 173
    functionName: make_unsigned_vector
    functionSourceFile: /src/postfix/postfix/src/util/inet_proto.c
    functionUses: 0
    functionsReached:
    - va_start
    - msg_panic
    - va_end
    - va_arg
    - mymalloc
    linkageType: ''
    returnType: unsigned
    signature: unsigned *make_unsigned_vector(int len,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/inet_proto.c:179,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/inet_proto.c:180,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/inet_proto.c:181,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/inet_proto.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pf
    argTypes:
    - INET_PROTO_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: inet_proto_free
    functionSourceFile: /src/postfix/postfix/src/util/inet_proto.c
    functionUses: 0
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void inet_proto_free(INET_PROTO_INFO *pf)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: name_mask
      Src: /src/postfix/postfix/src/util/inet_proto.c:199,1
    - Dst: socket
      Src: /src/postfix/postfix/src/util/inet_proto.c:202,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/inet_proto.c:203,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/inet_proto.c:205,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_proto.c:208,1
    - Dst: socket
      Src: /src/postfix/postfix/src/util/inet_proto.c:213,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/inet_proto.c:214,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/inet_proto.c:216,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_proto.c:219,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/inet_proto.c:234,1
    - Dst: make_unsigned_vector
      Src: /src/postfix/postfix/src/util/inet_proto.c:236,1
    - Dst: make_unsigned_vector
      Src: /src/postfix/postfix/src/util/inet_proto.c:237,1
    - Dst: make_uchar_vector
      Src: /src/postfix/postfix/src/util/inet_proto.c:238,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/inet_proto.c:241,1
    - Dst: make_unsigned_vector
      Src: /src/postfix/postfix/src/util/inet_proto.c:243,1
    - Dst: make_unsigned_vector
      Src: /src/postfix/postfix/src/util/inet_proto.c:244,1
    - Dst: make_uchar_vector
      Src: /src/postfix/postfix/src/util/inet_proto.c:245,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/inet_proto.c:249,1
    - Dst: make_unsigned_vector
      Src: /src/postfix/postfix/src/util/inet_proto.c:251,1
    - Dst: make_unsigned_vector
      Src: /src/postfix/postfix/src/util/inet_proto.c:252,1
    - Dst: make_uchar_vector
      Src: /src/postfix/postfix/src/util/inet_proto.c:253,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/inet_proto.c:256,1
    - Dst: make_unsigned_vector
      Src: /src/postfix/postfix/src/util/inet_proto.c:258,1
    - Dst: make_unsigned_vector
      Src: /src/postfix/postfix/src/util/inet_proto.c:259,1
    - Dst: make_uchar_vector
      Src: /src/postfix/postfix/src/util/inet_proto.c:260,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/inet_proto.c:263,1
    - Dst: inet_proto_free
      Src: /src/postfix/postfix/src/util/inet_proto.c:266,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 2
    argNames:
    - context
    - protocols
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 268
    functionName: inet_proto_init
    functionSourceFile: /src/postfix/postfix/src/util/inet_proto.c
    functionUses: 11
    functionsReached:
    - msg_panic
    - msg_warn
    - inet_proto_free
    - name_mask
    - close
    - make_unsigned_vector
    - socket
    - make_uchar_vector
    - mymalloc
    - msg_fatal
    linkageType: ''
    returnType: INET_PROTO_INFO
    signature: INET_PROTO_INFO *inet_proto_init(const char *context, const char *protocols)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/inet_proto.c:280,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/inet_proto.c:282,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/inet_proto.c:284,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/inet_proto.c:286,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/inet_proto.c:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - vector
    argTypes:
    - VSTRING*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 288
    functionName: print_unsigned_vector
    functionSourceFile: /src/postfix/postfix/src/util/inet_proto.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - vstring_str
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - vstring_sprintf_append
    linkageType: ''
    returnType: char
    signature: char *print_unsigned_vector(VSTRING *buf, unsigned *vector)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/inet_proto.c:294,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/inet_proto.c:296,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/inet_proto.c:298,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/inet_proto.c:300,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/inet_proto.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - vector
    argTypes:
    - VSTRING*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 302
    functionName: print_uchar_vector
    functionSourceFile: /src/postfix/postfix/src/util/inet_proto.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - vstring_str
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - vstring_sprintf_append
    linkageType: ''
    returnType: char
    signature: char *print_uchar_vector(VSTRING *buf, unsigned char *vector)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_proto.c:311,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/inet_proto.c:313,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/inet_proto.c:315,1
    - Dst: inet_proto_init
      Src: /src/postfix/postfix/src/util/inet_proto.c:316,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/inet_proto.c:318,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/inet_proto.c:319,1
    - Dst: print_unsigned_vector
      Src: /src/postfix/postfix/src/util/inet_proto.c:320,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/inet_proto.c:321,1
    - Dst: print_unsigned_vector
      Src: /src/postfix/postfix/src/util/inet_proto.c:322,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/inet_proto.c:323,1
    - Dst: print_uchar_vector
      Src: /src/postfix/postfix/src/util/inet_proto.c:324,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/inet_proto.c:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 304
    functionDepth: 3
    functionLinenumber: 304
    functionLinenumberEnd: 328
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/inet_proto.c
    functionUses: 40
    functionsReached:
    - vstring_alloc
    - print_unsigned_vector
    - msg_info
    - inet_proto_init
    - msg_fatal
    - print_uchar_vector
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf
    - ','
    - data
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: SCOPY
    functionSourceFile: /src/postfix/postfix/src/util/dict_dbm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCOPY(buf, data, size)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_dbm.c:92,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_dbm.c:99,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_dbm.c:100,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_dbm.c:101,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_dbm.c:101,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_dbm.c:108,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_dbm.c:109,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_dbm.c:117,1
    - Dst: dbm_fetch
      Src: /src/postfix/postfix/src/util/dict_dbm.c:118,1
    - Dst: SCOPY
      Src: /src/postfix/postfix/src/util/dict_dbm.c:121,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_dbm.c:131,1
    - Dst: dbm_fetch
      Src: /src/postfix/postfix/src/util/dict_dbm.c:132,1
    - Dst: SCOPY
      Src: /src/postfix/postfix/src/util/dict_dbm.c:135,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_dbm.c:143,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_dbm.c:144,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - dict
    - name
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 147
    functionName: dict_dbm_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_dbm.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_fatal
    - myflock
    - strlen
    - vstring_alloc
    - SCOPY
    - vstring_strcpy
    - vstring_str
    - lowercase
    - dbm_fetch
    linkageType: ''
    returnType: char
    signature: char *dict_dbm_lookup(DICT *dict, const char *name)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_dbm.c:164,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_dbm.c:171,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_dbm.c:172,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_dbm.c:173,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_dbm.c:173,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_dbm.c:177,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_dbm.c:178,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_dbm.c:205,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_dbm.c:206,1
    - Dst: dbm_store
      Src: /src/postfix/postfix/src/util/dict_dbm.c:211,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_dbm.c:213,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_dbm.c:218,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_dbm.c:220,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_dbm.c:227,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_dbm.c:228,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - dict
    - name
    - value
    argTypes:
    - DICT*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 231
    functionName: dict_dbm_update
    functionSourceFile: /src/postfix/postfix/src/util/dict_dbm.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_fatal
    - myflock
    - msg_warn
    - strlen
    - vstring_alloc
    - vstring_strcpy
    - dbm_store
    - vstring_str
    - lowercase
    linkageType: ''
    returnType: int
    signature: int dict_dbm_update(DICT *dict, const char *name, const char *value)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_dbm.c:247,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_dbm.c:254,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_dbm.c:255,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_dbm.c:256,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_dbm.c:256,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_dbm.c:263,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_dbm.c:264,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_dbm.c:272,1
    - Dst: dbm_clearerr
      Src: /src/postfix/postfix/src/util/dict_dbm.c:273,1
    - Dst: dbm_delete
      Src: /src/postfix/postfix/src/util/dict_dbm.c:274,1
    - Dst: dbm_error
      Src: /src/postfix/postfix/src/util/dict_dbm.c:275,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_dbm.c:276,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_dbm.c:289,1
    - Dst: dbm_clearerr
      Src: /src/postfix/postfix/src/util/dict_dbm.c:290,1
    - Dst: dbm_delete
      Src: /src/postfix/postfix/src/util/dict_dbm.c:291,1
    - Dst: dbm_error
      Src: /src/postfix/postfix/src/util/dict_dbm.c:292,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_dbm.c:293,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_dbm.c:304,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_dbm.c:305,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - dict
    - name
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 308
    functionName: dict_dbm_delete
    functionSourceFile: /src/postfix/postfix/src/util/dict_dbm.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_fatal
    - myflock
    - strlen
    - vstring_alloc
    - dbm_delete
    - vstring_strcpy
    - dbm_error
    - dbm_clearerr
    - vstring_str
    - lowercase
    linkageType: ''
    returnType: int
    signature: int dict_dbm_delete(DICT *dict, const char *name)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_dbm.c:327,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_dbm.c:328,1
    - Dst: dbm_firstkey
      Src: /src/postfix/postfix/src/util/dict_dbm.c:335,1
    - Dst: dbm_nextkey
      Src: /src/postfix/postfix/src/util/dict_dbm.c:338,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_dbm.c:341,1
    - Dst: SCOPY
      Src: /src/postfix/postfix/src/util/dict_dbm.c:349,1
    - Dst: dbm_fetch
      Src: /src/postfix/postfix/src/util/dict_dbm.c:354,1
    - Dst: SCOPY
      Src: /src/postfix/postfix/src/util/dict_dbm.c:361,1
    - Dst: dbm_error
      Src: /src/postfix/postfix/src/util/dict_dbm.c:369,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_dbm.c:370,1
    - Dst: dbm_error
      Src: /src/postfix/postfix/src/util/dict_dbm.c:379,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_dbm.c:380,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_dbm.c:388,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_dbm.c:389,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 4
    argNames:
    - dict
    - function
    - key
    - value
    argTypes:
    - DICT*
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 392
    functionName: dict_dbm_sequence
    functionSourceFile: /src/postfix/postfix/src/util/dict_dbm.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - dbm_nextkey
    - myflock
    - SCOPY
    - dbm_firstkey
    - dbm_error
    - msg_fatal
    - dbm_fetch
    linkageType: ''
    returnType: int
    signature: "int dict_dbm_sequence(DICT *dict, int function,\n\t\t\t             const
      char **key, const char **value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbm_close
      Src: /src/postfix/postfix/src/util/dict_dbm.c:400,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_dbm.c:402,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_dbm.c:404,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_dbm.c:406,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/util/dict_dbm.c:407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 408
    functionName: dict_dbm_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_dbm.c
    functionUses: 0
    functionsReached:
    - dict_free
    - dbm_close
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_dbm_close(DICT *dict)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/util/dict_dbm.c:438,1
    - Dst: open
      Src: /src/postfix/postfix/src/util/dict_dbm.c:439,1
    - Dst: DICT_DBM_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_dbm.c:440,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_dbm.c:440,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_dbm.c:444,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_dbm.c:445,1
    - Dst: dbm_open
      Src: /src/postfix/postfix/src/util/dict_dbm.c:451,1
    - Dst: DICT_DBM_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_dbm.c:452,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_dbm.c:452,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_dbm.c:458,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_dbm.c:459,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/dict_dbm.c:460,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_dbm.c:461,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/util/dict_dbm.c:463,1
    - Dst: dbm_dirfno
      Src: /src/postfix/postfix/src/util/dict_dbm.c:469,1
    - Dst: dbm_pagfno
      Src: /src/postfix/postfix/src/util/dict_dbm.c:470,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_dbm.c:472,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/util/dict_dbm.c:473,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_dbm.c:474,1
    - Dst: stat
      Src: /src/postfix/postfix/src/util/dict_dbm.c:485,1
    - Dst: time
      Src: /src/postfix/postfix/src/util/dict_dbm.c:487,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_dbm.c:488,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/util/dict_dbm.c:490,1
    - Dst: dbm_pagfno
      Src: /src/postfix/postfix/src/util/dict_dbm.c:490,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/util/dict_dbm.c:491,1
    - Dst: dbm_dirfno
      Src: /src/postfix/postfix/src/util/dict_dbm.c:491,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_dbm.c:496,1
    - Dst: DICT_DBM_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_dbm.c:501,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 3
    argNames:
    - path
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 502
    functionName: dict_dbm_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_dbm.c
    functionUses: 0
    functionsReached:
    - stat
    - myflock
    - msg_warn
    - dbm_pagfno
    - dbm_dirfno
    - DICT_DBM_OPEN_RETURN
    - time
    - close
    - vstring_alloc
    - close_on_exec
    - open
    - dict_surrogate
    - fstat
    - dict_alloc
    - concatenate
    - msg_fatal
    - dbm_open
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_dbm_open(const char *path, int open_flags, int dict_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 429
    functionName: DICT_DBM_OPEN_RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict_dbm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_DBM_OPEN_RETURN(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: perrorexit
    functionSourceFile: /src/postfix/postfix/src/util/fifo_rdonly_bug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: perrorexit(s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:43,1
    - Dst: unlink
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:44,1
    - Dst: perrorexit
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:45,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: cleanup
    functionSourceFile: /src/postfix/postfix/src/util/fifo_rdonly_bug.c
    functionUses: 23
    functionsReached:
    - printf
    - unlink
    - perrorexit
    linkageType: ''
    returnType: void
    signature: void cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: perror
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:51,1
    - Dst: cleanup
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:52,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: perrorcleanup
    functionSourceFile: /src/postfix/postfix/src/util/fifo_rdonly_bug.c
    functionUses: 0
    functionsReached:
    - exit
    - perror
    - cleanup
    linkageType: ''
    returnType: void
    signature: void perrorcleanup(char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:61,1
    - Dst: perror
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:62,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:63,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:66,1
    - Dst: cleanup
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:67,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: readable_event
    functionSourceFile: /src/postfix/postfix/src/util/fifo_rdonly_bug.c
    functionUses: 0
    functionsReached:
    - sleep
    - cleanup
    - read
    - exit
    - printf
    - perror
    linkageType: ''
    returnType: void
    signature: void readable_event(int fd)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:80,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:82,1
    - Dst: mkfifo
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:83,1
    - Dst: perrorexit
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:84,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:86,1
    - Dst: open
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:87,1
    - Dst: perrorcleanup
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:88,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:90,1
    - Dst: open
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:91,1
    - Dst: perrorcleanup
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:92,1
    - Dst: write
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:93,1
    - Dst: perrorcleanup
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:94,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:95,1
    - Dst: perrorcleanup
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:96,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:98,1
    - Dst: FD_ZERO
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:101,1
    - Dst: FD_SET
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:102,1
    - Dst: FD_ZERO
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:103,1
    - Dst: FD_SET
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:104,1
    - Dst: select
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:108,1
    - Dst: perrorexit
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:110,1
    - Dst: FD_ISSET
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:112,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:113,1
    - Dst: readable_event
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:114,1
    - Dst: FD_ISSET
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:115,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:116,1
    - Dst: readable_event
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:117,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:121,1
    - Dst: cleanup
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:122,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/fifo_rdonly_bug.c:123,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 127
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/fifo_rdonly_bug.c
    functionUses: 40
    functionsReached:
    - select
    - FD_ISSET
    - cleanup
    - FD_ZERO
    - perrorcleanup
    - close
    - readable_event
    - unlink
    - exit
    - open
    - printf
    - mkfifo
    - perrorexit
    - write
    - FD_SET
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_ni.c:84,1
    - Dst: ni_open
      Src: /src/postfix/postfix/src/util/dict_ni.c:86,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_ni.c:88,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/dict_ni.c:91,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_ni.c:91,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_ni.c:91,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_ni.c:91,1
    - Dst: sprintf
      Src: /src/postfix/postfix/src/util/dict_ni.c:92,1
    - Dst: ni_pathsearch
      Src: /src/postfix/postfix/src/util/dict_ni.c:99,1
    - Dst: ni_lookupprop
      Src: /src/postfix/postfix/src/util/dict_ni.c:100,1
    - Dst: ni_namelist_free
      Src: /src/postfix/postfix/src/util/dict_ni.c:102,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_ni.c:107,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_ni.c:110,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/dict_ni.c:112,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_ni.c:115,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/dict_ni.c:116,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_ni.c:127,1
    - Dst: ni_open
      Src: /src/postfix/postfix/src/util/dict_ni.c:130,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_ni.c:133,1
    - Dst: ni_free
      Src: /src/postfix/postfix/src/util/dict_ni.c:136,1
    - Dst: ni_free
      Src: /src/postfix/postfix/src/util/dict_ni.c:140,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_ni.c:141,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 4
    argNames:
    - path
    - key_prop
    - key_value
    - val_prop
    argTypes:
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 144
    functionName: dict_ni_do_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_ni.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - ni_free
    - strlen
    - msg_info
    - sprintf
    - ni_lookupprop
    - ni_open
    - ni_namelist_free
    - ni_pathsearch
    - myfree
    - memcpy
    - mymalloc
    linkageType: ''
    returnType: char
    signature: "char *dict_ni_do_lookup(char *path, char *key_prop,\n\t\t\t              const
      char *key_value, char *val_prop)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_ni.c:159,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_ni.c:160,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_ni.c:161,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_ni.c:161,1
    - Dst: dict_ni_do_lookup
      Src: /src/postfix/postfix/src/util/dict_ni.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - dict
    - key
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 165
    functionName: dict_ni_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_ni.c
    functionUses: 0
    functionsReached:
    - vstring_alloc
    - dict_ni_do_lookup
    - vstring_strcpy
    - vstring_str
    - lowercase
    linkageType: ''
    returnType: char
    signature: char *dict_ni_lookup(DICT *dict, const char *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_ni.c:174,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/util/dict_ni.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 176
    functionName: dict_ni_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_ni.c
    functionUses: 0
    functionsReached:
    - dict_free
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_ni_close(DICT *dict)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/util/dict_ni.c:182,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_ni.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - path
    - unused_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 192
    functionName: dict_ni_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_ni.c
    functionUses: 0
    functionsReached:
    - vstring_alloc
    - dict_alloc
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_ni_open(const char *path, int unused_flags, int dict_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - map
    - ','
    - key
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: mkmap_append
    functionSourceFile: /src/postfix/postfix/src/util/mkmap.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mkmap_append(map, key, val)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vstream_popen.c:146,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream_popen.c:150,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vstream_popen.c:151,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream_popen.c:155,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vstream_popen.c:156,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vstream_popen.c:160,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vstream_popen.c:164,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vstream_popen.c:167,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vstream_popen.c:170,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vstream_popen.c:173,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vstream_popen.c:176,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream_popen.c:179,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream_popen.c:184,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream_popen.c:186,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream_popen.c:188,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 2
    argNames:
    - args
    - ap
    argTypes:
    - VSTREAM_POPEN_ARGS*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 189
    functionName: vstream_parse_args
    functionSourceFile: /src/postfix/postfix/src/util/vstream_popen.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - va_arg
    linkageType: ''
    returnType: void
    signature: void vstream_parse_args(VSTREAM_POPEN_ARGS *args, va_list ap)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/vstream_popen.c:205,1
    - Dst: vstream_parse_args
      Src: /src/postfix/postfix/src/util/vstream_popen.c:206,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/vstream_popen.c:207,1
    - Dst: duplex_pipe
      Src: /src/postfix/postfix/src/util/vstream_popen.c:212,1
    - Dst: fork
      Src: /src/postfix/postfix/src/util/vstream_popen.c:215,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/vstream_popen.c:217,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/vstream_popen.c:218,1
    - Dst: msg_cleanup
      Src: /src/postfix/postfix/src/util/vstream_popen.c:221,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/vstream_popen.c:222,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/vstream_popen.c:223,1
    - Dst: DUP2
      Src: /src/postfix/postfix/src/util/vstream_popen.c:226,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/vstream_popen.c:227,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/vstream_popen.c:228,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/vstream_popen.c:229,1
    - Dst: set_ugid
      Src: /src/postfix/postfix/src/util/vstream_popen.c:235,1
    - Dst: clean_env
      Src: /src/postfix/postfix/src/util/vstream_popen.c:242,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/util/vstream_popen.c:243,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/vstream_popen.c:244,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/util/vstream_popen.c:247,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/vstream_popen.c:248,1
    - Dst: closelog
      Src: /src/postfix/postfix/src/util/vstream_popen.c:253,1
    - Dst: execvp
      Src: /src/postfix/postfix/src/util/vstream_popen.c:255,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/vstream_popen.c:256,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/util/vstream_popen.c:258,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/vstream_popen.c:259,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/util/vstream_popen.c:260,1
    - Dst: execvp
      Src: /src/postfix/postfix/src/util/vstream_popen.c:261,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/vstream_popen.c:262,1
    - Dst: exec_command
      Src: /src/postfix/postfix/src/util/vstream_popen.c:264,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/vstream_popen.c:268,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/vstream_popen.c:269,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/util/vstream_popen.c:270,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 275
    functionName: vstream_popen
    functionSourceFile: /src/postfix/postfix/src/util/vstream_popen.c
    functionUses: 3
    functionsReached:
    - fork
    - set_ugid
    - DUP2
    - vstream_parse_args
    - argv_terminate
    - setenv
    - va_start
    - clean_env
    - exec_command
    - duplex_pipe
    - closelog
    - close
    - execvp
    - argv_split
    - msg_cleanup
    - va_end
    - msg_warn
    - vstream_fdopen
    - argv_add
    - msg_fatal
    linkageType: ''
    returnType: VSTREAM
    signature: VSTREAM *vstream_popen(int flags,...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream_popen.c:290,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/vstream_popen.c:292,1
    - Dst: saved_waitpid_fn
      Src: /src/postfix/postfix/src/util/vstream_popen.c:299,1
    - Dst: waitpid
      Src: /src/postfix/postfix/src/util/vstream_popen.c:301,1
    - Dst: WIFSIGNALED
      Src: /src/postfix/postfix/src/util/vstream_popen.c:304,1
    - Dst: WTERMSIG
      Src: /src/postfix/postfix/src/util/vstream_popen.c:304,1
    - Dst: WEXITSTATUS
      Src: /src/postfix/postfix/src/util/vstream_popen.c:305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 306
    functionName: vstream_pclose
    functionSourceFile: /src/postfix/postfix/src/util/vstream_popen.c
    functionUses: 3
    functionsReached:
    - msg_panic
    - WTERMSIG
    - waitpid
    - WEXITSTATUS
    - vstream_fclose
    - saved_waitpid_fn
    - WIFSIGNALED
    linkageType: ''
    returnType: int
    signature: int vstream_pclose(VSTREAM *stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/vstream_popen.c:319,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/vstream_popen.c:327,1
    - Dst: vstream_popen
      Src: /src/postfix/postfix/src/util/vstream_popen.c:332,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/vstream_popen.c:335,1
    - Dst: vstring_fgets
      Src: /src/postfix/postfix/src/util/vstream_popen.c:340,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/util/vstream_popen.c:341,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vstream_popen.c:341,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstream_popen.c:341,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstream_popen.c:342,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/vstream_popen.c:343,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/vstream_popen.c:344,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/vstream_popen.c:345,1
    - Dst: vstring_fgets
      Src: /src/postfix/postfix/src/util/vstream_popen.c:346,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/util/vstream_popen.c:348,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vstream_popen.c:348,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstream_popen.c:348,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstream_popen.c:349,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/vstream_popen.c:350,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/vstream_popen.c:356,1
    - Dst: vstream_pclose
      Src: /src/postfix/postfix/src/util/vstream_popen.c:357,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/vstream_popen.c:358,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/vstream_popen.c:360,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 361
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/vstream_popen.c
    functionUses: 40
    functionsReached:
    - msg_warn
    - vstring_str
    - VSTRING_LEN
    - vstring_fgets
    - vstring_alloc
    - vstream_fflush
    - exit
    - vstream_fwrite
    - vstream_popen
    - vstream_pclose
    - msg_fatal
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ptr
    - ','
    - real_ptr
    - ','
    - len
    - ','
    - fname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: CHECK_IN_PTR
    functionSourceFile: /src/postfix/postfix/src/util/mymalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_IN_PTR(ptr, real_ptr, len, fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - real_ptr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: CHECK_OUT_PTR
    functionSourceFile: /src/postfix/postfix/src/util/mymalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OUT_PTR(ptr, real_ptr, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: SPACE_FOR
    functionSourceFile: /src/postfix/postfix/src/util/mymalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPACE_FOR(len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/mymalloc.c:161,1
    - Dst: malloc
      Src: /src/postfix/postfix/src/util/mymalloc.c:165,1
    - Dst: SPACE_FOR
      Src: /src/postfix/postfix/src/util/mymalloc.c:165,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/mymalloc.c:166,1
    - Dst: CHECK_OUT_PTR
      Src: /src/postfix/postfix/src/util/mymalloc.c:168,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/mymalloc.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - len
    argTypes:
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: mymalloc
    functionSourceFile: /src/postfix/postfix/src/util/mymalloc.c
    functionUses: 146
    functionsReached:
    - msg_panic
    - SPACE_FOR
    - CHECK_OUT_PTR
    - malloc
    - memset
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void *mymalloc(ssize_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/mymalloc.c:182,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/mymalloc.c:191,1
    - Dst: CHECK_IN_PTR
      Src: /src/postfix/postfix/src/util/mymalloc.c:195,1
    - Dst: realloc
      Src: /src/postfix/postfix/src/util/mymalloc.c:196,1
    - Dst: SPACE_FOR
      Src: /src/postfix/postfix/src/util/mymalloc.c:196,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/mymalloc.c:197,1
    - Dst: CHECK_OUT_PTR
      Src: /src/postfix/postfix/src/util/mymalloc.c:199,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/mymalloc.c:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 203
    functionName: myrealloc
    functionSourceFile: /src/postfix/postfix/src/util/mymalloc.c
    functionUses: 5
    functionsReached:
    - msg_panic
    - realloc
    - SPACE_FOR
    - CHECK_OUT_PTR
    - mymalloc
    - CHECK_IN_PTR
    - msg_fatal
    - memset
    linkageType: ''
    returnType: void
    signature: void *myrealloc(void *ptr, ssize_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/mymalloc.c:230,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/mymalloc.c:235,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/mymalloc.c:236,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/mymalloc.c:237,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/mymalloc.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 238
    functionName: mystrdup
    functionSourceFile: /src/postfix/postfix/src/util/mymalloc.c
    functionUses: 221
    functionsReached:
    - msg_panic
    - mymalloc
    - strlen
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *mystrdup(const char *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/mymalloc.c:248,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/mymalloc.c:250,1
    - Dst: memchr
      Src: /src/postfix/postfix/src/util/mymalloc.c:255,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/mymalloc.c:257,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/mymalloc.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 260
    functionName: mystrndup
    functionSourceFile: /src/postfix/postfix/src/util/mymalloc.c
    functionUses: 9
    functionsReached:
    - msg_panic
    - memcpy
    - mymalloc
    - memchr
    linkageType: ''
    returnType: char
    signature: char *mystrndup(const char *str, ssize_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/mymalloc.c:267,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/mymalloc.c:268,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/mymalloc.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: mymemdup
    functionSourceFile: /src/postfix/postfix/src/util/mymalloc.c
    functionUses: 3
    functionsReached:
    - msg_panic
    - mymalloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void *mymemdup(const void *ptr, ssize_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_fail.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - dict
    - unused_func
    - key
    - value
    argTypes:
    - DICT*
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: dict_fail_sequence
    functionSourceFile: /src/postfix/postfix/src/util/dict_fail.c
    functionUses: 0
    functionsReached:
    - DICT_ERR_VAL_RETURN
    linkageType: ''
    returnType: int
    signature: "int dict_fail_sequence(DICT *dict, int unused_func,\n\t\t\t              const
      char **key, const char **value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_fail.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dict
    - unused_name
    - unused_value
    argTypes:
    - DICT*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: dict_fail_update
    functionSourceFile: /src/postfix/postfix/src/util/dict_fail.c
    functionUses: 0
    functionsReached:
    - DICT_ERR_VAL_RETURN
    linkageType: ''
    returnType: int
    signature: "int dict_fail_update(DICT *dict, const char *unused_name,\n\t\t\t
      \           const char *unused_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_fail.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dict
    - unused_name
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: dict_fail_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_fail.c
    functionUses: 0
    functionsReached:
    - DICT_ERR_VAL_RETURN
    linkageType: ''
    returnType: char
    signature: char *dict_fail_lookup(DICT *dict, const char *unused_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_fail.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dict
    - unused_name
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: dict_fail_delete
    functionSourceFile: /src/postfix/postfix/src/util/dict_fail.c
    functionUses: 0
    functionsReached:
    - DICT_ERR_VAL_RETURN
    linkageType: ''
    returnType: int
    signature: int dict_fail_delete(DICT *dict, const char *unused_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_free
      Src: /src/postfix/postfix/src/util/dict_fail.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: dict_fail_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_fail.c
    functionUses: 0
    functionsReached:
    - dict_free
    linkageType: ''
    returnType: void
    signature: void dict_fail_close(DICT *dict)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/util/dict_fail.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - name
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 115
    functionName: dict_fail_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_fail.c
    functionUses: 0
    functionsReached:
    - dict_alloc
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_fail_open(const char *name, int open_flags, int dict_flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:137,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:141,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - af
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 148
    functionName: ial_socket
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_local.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - msg_warn
    - socket
    linkageType: ''
    returnType: int
    signature: int ial_socket(int af)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getifaddrs
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:171,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:172,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:196,1
    - Dst: SOCK_ADDR_IN_ADDR
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:202,1
    - Dst: IN6_IS_ADDR_UNSPECIFIED
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:207,1
    - Dst: SOCK_ADDR_IN6_ADDR
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:207,1
    - Dst: inet_addr_list_append
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:215,1
    - Dst: inet_addr_list_append
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:229,1
    - Dst: freeifaddrs
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:232,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 3
    argNames:
    - addr_list
    - mask_list
    - af
    argTypes:
    - INET_ADDR_LIST*
    - INET_ADDR_LIST*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 234
    functionName: ial_getifaddrs
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_local.c
    functionUses: 0
    functionsReached:
    - inet_addr_list_append
    - msg_warn
    - getifaddrs
    - SOCK_ADDR_IN_ADDR
    - SOCK_ADDR_IN6_ADDR
    - IN6_IS_ADDR_UNSPECIFIED
    - msg_fatal
    - freeifaddrs
    linkageType: ''
    returnType: int
    signature: "int ial_getifaddrs(INET_ADDR_LIST *addr_list,\n\t\t\t          INET_ADDR_LIST
      *mask_list,\n\t\t\t          int af)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lifr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: NEXT_INTERFACE
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_local.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXT_INTERFACE(lifr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lifr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: LIFREQ_SIZE
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_local.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIFREQ_SIZE(lifr)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:266,1
    - Dst: ial_socket
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:268,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:271,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:273,1
    - Dst: vstring_avail
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:275,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:276,1
    - Dst: ioctl
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:277,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:279,1
    - Dst: vstring_avail
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:280,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:282,1
    - Dst: vstring_avail
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:282,1
    - Dst: NEXT_INTERFACE
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:289,1
    - Dst: SOCK_ADDR_IN_ADDR
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:293,1
    - Dst: NEXT_INTERFACE
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:294,1
    - Dst: IN6_IS_ADDR_UNSPECIFIED
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:299,1
    - Dst: SOCK_ADDR_IN6_ADDR
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:299,1
    - Dst: NEXT_INTERFACE
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:300,1
    - Dst: inet_addr_list_append
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:305,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:307,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:308,1
    - Dst: ioctl
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:309,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:310,1
    - Dst: inet_addr_list_append
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:312,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:314,1
    - Dst: NEXT_INTERFACE
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:316,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:318,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:319,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 3
    argNames:
    - addr_list
    - mask_list
    - af
    argTypes:
    - INET_ADDR_LIST*
    - INET_ADDR_LIST*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 321
    functionName: ial_siocglif
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_local.c
    functionUses: 0
    functionsReached:
    - inet_addr_list_append
    - vstring_str
    - mymalloc
    - ioctl
    - close
    - vstring_alloc
    - VSTRING_SPACE
    - myfree
    - NEXT_INTERFACE
    - vstring_avail
    - SOCK_ADDR_IN_ADDR
    - memset
    - memcpy
    - SOCK_ADDR_IN6_ADDR
    - IN6_IS_ADDR_UNSPECIFIED
    - msg_fatal
    - ial_socket
    - vstring_free
    linkageType: ''
    returnType: int
    signature: "int ial_siocglif(INET_ADDR_LIST *addr_list,\n\t\t\t        INET_ADDR_LIST
      *mask_list,\n\t\t\t        int af)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ifr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: NEXT_INTERFACE
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_local.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXT_INTERFACE(ifr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ifr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 334
    functionName: IFREQ_SIZE
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_local.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IFREQ_SIZE(ifr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ifr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 337
    functionName: NEXT_INTERFACE
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_local.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXT_INTERFACE(ifr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ifr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 338
    functionName: IFREQ_SIZE
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_local.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IFREQ_SIZE(ifr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ifr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 340
    functionName: NEXT_INTERFACE
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_local.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXT_INTERFACE(ifr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ifr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 341
    functionName: IFREQ_SIZE
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_local.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IFREQ_SIZE(ifr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ial_socket
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:373,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:376,1
    - Dst: vstring_avail
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:378,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:379,1
    - Dst: ioctl
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:380,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:382,1
    - Dst: vstring_avail
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:383,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:385,1
    - Dst: vstring_avail
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:385,1
    - Dst: NEXT_INTERFACE
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:391,1
    - Dst: inet_addr_list_append
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:397,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:399,1
    - Dst: IFREQ_SIZE
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:399,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:400,1
    - Dst: IFREQ_SIZE
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:400,1
    - Dst: ioctl
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:401,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:402,1
    - Dst: inet_addr_list_append
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:413,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:414,1
    - Dst: SOCK_ADDR_PTR
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:422,1
    - Dst: IN6_IS_ADDR_UNSPECIFIED
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:423,1
    - Dst: SOCK_ADDR_IN6_ADDR
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:423,1
    - Dst: inet_addr_list_append
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:424,1
    - Dst: SOCK_ADDR_IN6_PTR
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:429,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:430,1
    - Dst: inet_addr_list_append
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:432,1
    - Dst: SOCK_ADDR_PTR
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:432,1
    - Dst: NEXT_INTERFACE
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:437,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:439,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:440,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 3
    argNames:
    - addr_list
    - mask_list
    - af
    argTypes:
    - INET_ADDR_LIST*
    - INET_ADDR_LIST*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 442
    functionName: ial_siocgif
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_local.c
    functionUses: 0
    functionsReached:
    - inet_addr_list_append
    - SOCK_ADDR_PTR
    - VSTRING_SPACE
    - memcpy
    - IN6_IS_ADDR_UNSPECIFIED
    - vstring_alloc
    - NEXT_INTERFACE
    - vstring_avail
    - mymalloc
    - vstring_str
    - ial_socket
    - ioctl
    - IFREQ_SIZE
    - close
    - myfree
    - memset
    - SOCK_ADDR_IN6_ADDR
    - vstring_free
    - msg_fatal
    - SOCK_ADDR_IN6_PTR
    linkageType: ''
    returnType: int
    signature: "int ial_siocgif(INET_ADDR_LIST *addr_list,\n\t\t               INET_ADDR_LIST
      *mask_list,\n\t\t               int af)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:478,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:479,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:480,1
    - Dst: fgets
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:486,1
    - Dst: hex_decode
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:488,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:489,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:491,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:496,1
    - Dst: inet_addr_list_append
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:497,1
    - Dst: SOCK_ADDR_PTR
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:497,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:499,1
    - Dst: mask_addr
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:500,1
    - Dst: inet_addr_list_append
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:502,1
    - Dst: SOCK_ADDR_PTR
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:502,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:504,1
    - Dst: fclose
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:505,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:507,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - addr_list
    - mask_list
    argTypes:
    - INET_ADDR_LIST*
    - INET_ADDR_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 511
    functionName: ial_procnet_ifinet6
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_local.c
    functionUses: 0
    functionsReached:
    - inet_addr_list_append
    - msg_warn
    - hex_decode
    - SOCK_ADDR_PTR
    - fclose
    - vstring_alloc
    - fgets
    - sscanf
    - fopen
    - memset
    - mask_addr
    - vstring_str
    - vstring_free
    linkageType: ''
    returnType: int
    signature: "int ial_procnet_ifinet6(INET_ADDR_LIST *addr_list,\n\t\t\t               INET_ADDR_LIST
      *mask_list)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ial_getifaddrs
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:533,1
    - Dst: ial_siocglif
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:535,1
    - Dst: ial_siocgif
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:537,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:540,1
    - Dst: ial_getifaddrs
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:551,1
    - Dst: ial_procnet_ifinet6
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:553,1
    - Dst: ial_siocglif
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:555,1
    - Dst: ial_siocgif
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:557,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:560,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - addr_list
    - mask_list
    - addr_family_list
    argTypes:
    - INET_ADDR_LIST*
    - INET_ADDR_LIST*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 517
    functionDepth: 3
    functionLinenumber: 517
    functionLinenumberEnd: 572
    functionName: inet_addr_local
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_local.c
    functionUses: 1
    functionsReached:
    - ial_getifaddrs
    - ial_siocgif
    - msg_info
    - ial_procnet_ifinet6
    - ial_siocglif
    linkageType: ''
    returnType: int
    signature: "int inet_addr_local(INET_ADDR_LIST *addr_list, INET_ADDR_LIST *mask_list,\n\t\t\t
      \       unsigned *addr_family_list)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:591,1
    - Dst: inet_proto_init
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:594,1
    - Dst: inet_addr_list_init
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:596,1
    - Dst: inet_addr_list_init
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:597,1
    - Dst: inet_addr_local
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:598,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:601,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:604,1
    - Dst: SOCK_ADDR_PTR
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:607,1
    - Dst: SOCKADDR_TO_HOSTADDR
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:608,1
    - Dst: SOCK_ADDR_PTR
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:608,1
    - Dst: SOCK_ADDR_LEN
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:608,1
    - Dst: SOCK_ADDR_PTR
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:610,1
    - Dst: SOCKADDR_TO_HOSTADDR
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:611,1
    - Dst: SOCK_ADDR_PTR
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:611,1
    - Dst: SOCK_ADDR_LEN
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:611,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:613,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:614,1
    - Dst: inet_addr_list_free
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:616,1
    - Dst: inet_addr_list_free
      Src: /src/postfix/postfix/src/util/inet_addr_local.c:617,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - unused_argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 581
    functionDepth: 4
    functionLinenumber: 581
    functionLinenumberEnd: 619
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_local.c
    functionUses: 40
    functionsReached:
    - msg_warn
    - SOCK_ADDR_LEN
    - SOCK_ADDR_PTR
    - vstream_fflush
    - inet_addr_list_init
    - msg_vstream_init
    - inet_addr_local
    - inet_proto_init
    - inet_addr_list_free
    - vstream_printf
    - SOCKADDR_TO_HOSTADDR
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ht
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: DICT_SOCKMAP_RH_NAME
    functionSourceFile: /src/postfix/postfix/src/util/dict_sockmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_SOCKMAP_RH_NAME(ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ht
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: DICT_SOCKMAP_RH_HANDLE
    functionSourceFile: /src/postfix/postfix/src/util/dict_sockmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_SOCKMAP_RH_HANDLE(ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ht
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: DICT_SOCKMAP_RH_REFCOUNT
    functionSourceFile: /src/postfix/postfix/src/util/dict_sockmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_SOCKMAP_RH_REFCOUNT(ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/util/dict_sockmap.c
    functionUses: 451
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/util/dict_sockmap.c
    functionUses: 121
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DICT_SOCKMAP_RH_HANDLE
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:165,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:173,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:180,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:181,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:182,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:182,1
    - Dst: auto_clnt_access
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:194,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:195,1
    - Dst: netstring_setup
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:203,1
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:204,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:209,1
    - Dst: NETSTRING_PUT_BUF
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:210,1
    - Dst: netstring_get
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:215,1
    - Dst: auto_clnt_recover
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:233,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:241,1
    - Dst: netstring_strerror
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:243,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:253,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:254,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:254,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:255,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:255,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:258,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:258,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:263,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:263,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:266,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:266,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:269,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:269,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:276,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:278,1
    - Dst: printable
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:282,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 2
    argNames:
    - dict
    - key
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 284
    functionName: dict_sockmap_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_sockmap.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - ISSPACE
    - msg_info
    - NETSTRING_PUT_BUF
    - vstring_alloc
    - split_at
    - netstring_strerror
    - vstream_setjmp
    - auto_clnt_recover
    - VSTRING_TERMINATE
    - DICT_SOCKMAP_RH_HANDLE
    - lowercase
    - printable
    - msg_warn
    - netstring_setup
    - auto_clnt_access
    - netstring_get
    - strcmp
    - vstring_strcpy
    - STR
    linkageType: ''
    returnType: char
    signature: char *dict_sockmap_lookup(DICT *dict, const char *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:294,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:295,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:296,1
    - Dst: DICT_SOCKMAP_RH_REFCOUNT
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:297,1
    - Dst: auto_clnt_free
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:298,1
    - Dst: DICT_SOCKMAP_RH_HANDLE
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:298,1
    - Dst: htable_delete
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:299,1
    - Dst: DICT_SOCKMAP_RH_NAME
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:300,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:303,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 305
    functionName: dict_sockmap_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_sockmap.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - htable_delete
    - DICT_SOCKMAP_RH_NAME
    - dict_free
    - DICT_SOCKMAP_RH_REFCOUNT
    - myfree
    - DICT_SOCKMAP_RH_HANDLE
    - auto_clnt_free
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_sockmap_close(DICT *dict)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DICT_SOCKMAP_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:331,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:331,1
    - Dst: DICT_SOCKMAP_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:336,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:336,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:344,1
    - Dst: split_at_right
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:345,1
    - Dst: DICT_SOCKMAP_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:346,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:346,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:358,1
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:359,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:360,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:361,1
    - Dst: DICT_SOCKMAP_RH_REFCOUNT
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:364,1
    - Dst: DICT_SOCKMAP_RH_HANDLE
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:365,1
    - Dst: auto_clnt_create
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:366,1
    - Dst: DICT_SOCKMAP_RH_REFCOUNT
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:369,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:374,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:375,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:376,1
    - Dst: DICT_SOCKMAP_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_sockmap.c:383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - mapname
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 309
    functionDepth: 3
    functionLinenumber: 309
    functionLinenumberEnd: 384
    functionName: dict_sockmap_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_sockmap.c
    functionUses: 0
    functionsReached:
    - htable_create
    - DICT_SOCKMAP_OPEN_RETURN
    - DICT_SOCKMAP_RH_REFCOUNT
    - vstring_alloc
    - split_at_right
    - dict_surrogate
    - htable_locate
    - htable_enter
    - DICT_SOCKMAP_RH_HANDLE
    - auto_clnt_create
    - dict_alloc
    - mymalloc
    - mystrdup
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_sockmap_open(const char *mapname, int open_flags, int dict_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 326
    functionName: DICT_SOCKMAP_OPEN_RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict_sockmap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_SOCKMAP_OPEN_RETURN(d)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/format_tv.c:78,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/format_tv.c:80,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/format_tv.c:82,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/format_tv.c:114,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/format_tv.c:116,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/format_tv.c:118,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/format_tv.c:122,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 5
    argNames:
    - buf
    - sec
    - usec
    - sig_dig
    - max_dig
    argTypes:
    - VSTRING*
    - long
    - long
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 124
    functionName: format_tv
    functionSourceFile: /src/postfix/postfix/src/util/format_tv.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - VSTRING_ADDCH
    - vstring_sprintf_append
    - VSTRING_TERMINATE
    linkageType: ''
    returnType: VSTRING
    signature: "VSTRING *format_tv(VSTRING *buf, long sec, long usec,\n\t\t           int
      sig_dig, int max_dig)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/format_tv.c:134,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/format_tv.c:135,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/util/format_tv.c:142,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/format_tv.c:143,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/format_tv.c:143,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/format_tv.c:144,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/format_tv.c:144,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/util/format_tv.c:146,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/format_tv.c:146,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/format_tv.c:147,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/format_tv.c:147,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/format_tv.c:150,1
    - Dst: format_tv
      Src: /src/postfix/postfix/src/util/format_tv.c:151,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/format_tv.c:152,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/format_tv.c:152,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/format_tv.c:153,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/format_tv.c:155,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/format_tv.c:156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 158
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/format_tv.c
    functionUses: 40
    functionsReached:
    - vstring_get_nonl
    - vstream_fflush
    - vstring_alloc
    - sscanf
    - VSTRING_RESET
    - vstream_printf
    - vstring_str
    - vstring_free
    - msg_fatal
    - format_tv
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - slmdb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: slmdb_fd
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: slmdb_fd(slmdb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - slmdb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: slmdb_curr_limit
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: slmdb_curr_limit(slmdb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: CA_SLMDB_CTL_LONGJMP_FN
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_SLMDB_CTL_LONGJMP_FN(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: CA_SLMDB_CTL_NOTIFY_FN
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_SLMDB_CTL_NOTIFY_FN(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: CA_SLMDB_CTL_CB_CONTEXT
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_SLMDB_CTL_CB_CONTEXT(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: CA_SLMDB_CTL_API_RETRY_LIMIT
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_SLMDB_CTL_API_RETRY_LIMIT(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: CA_SLMDB_CTL_BULK_RETRY_LIMIT
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_SLMDB_CTL_BULK_RETRY_LIMIT(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: CA_SLMDB_CTL_ASSERT_FN
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_SLMDB_CTL_ASSERT_FN(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan64.c
    functionUses: 452
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan64.c
    functionUses: 121
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/attr_scan64.c:206,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/attr_scan64.c:208,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/util/attr_scan64.c:209,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan64.c:211,1
    - Dst: vstream_ftimeout
      Src: /src/postfix/postfix/src/util/attr_scan64.c:212,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:213,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:216,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/attr_scan64.c:218,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan64.c:219,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:220,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/attr_scan64.c:225,1
    - Dst: base64_decode
      Src: /src/postfix/postfix/src/util/attr_scan64.c:226,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:226,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/attr_scan64.c:226,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan64.c:227,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:228,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:228,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_scan64.c:232,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:232,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:232,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - fp
    - plain_buf
    - context
    argTypes:
    - VSTREAM*
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 234
    functionName: attr_scan64_string
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan64.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - msg_warn
    - VSTREAM_PATH
    - vstring_alloc
    - LEN
    - vstream_ftimeout
    - msg_info
    - VSTRING_RESET
    - VSTREAM_GETC
    - VSTRING_TERMINATE
    - base64_decode
    - STR
    linkageType: ''
    returnType: int
    signature: int attr_scan64_string(VSTREAM *fp, VSTRING *plain_buf, const char
      *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan64_string
      Src: /src/postfix/postfix/src/util/attr_scan64.c:244,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/util/attr_scan64.c:246,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:246,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan64.c:247,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:248,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - fp
    - ptr
    - str_buf
    - context
    argTypes:
    - VSTREAM*
    - unsigned*
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 252
    functionName: attr_scan64_number
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan64.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - VSTREAM_PATH
    - attr_scan64_string
    - sscanf
    - STR
    linkageType: ''
    returnType: int
    signature: "int attr_scan64_number(VSTREAM *fp, unsigned *ptr, VSTRING *str_buf,\n\t\t\t
      \             const char *context)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan64_string
      Src: /src/postfix/postfix/src/util/attr_scan64.c:263,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/util/attr_scan64.c:265,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:265,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan64.c:266,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:267,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - fp
    - ptr
    - str_buf
    - context
    argTypes:
    - VSTREAM*
    - unsigned long*
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 271
    functionName: attr_scan64_long_number
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan64.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - VSTREAM_PATH
    - attr_scan64_string
    - sscanf
    - STR
    linkageType: ''
    returnType: int
    signature: "int attr_scan64_long_number(VSTREAM *fp, unsigned long *ptr,\n\t\t\t\t
      \          VSTRING *str_buf,\n\t\t\t\t           const char *context)"
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/attr_scan64.c:296,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/util/attr_scan64.c:301,1
    - Dst: vstream_ungetc
      Src: /src/postfix/postfix/src/util/attr_scan64.c:303,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/attr_scan64.c:309,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/attr_scan64.c:310,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan64.c:329,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan64.c:336,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan64.c:338,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_scan64.c:353,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:354,1
    - Dst: attr_scan64_string
      Src: /src/postfix/postfix/src/util/attr_scan64.c:355,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/attr_scan64.c:358,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan64.c:363,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:364,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/attr_scan64.c:372,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:372,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/attr_scan64.c:378,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:378,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/attr_scan64.c:386,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:386,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan64.c:389,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:390,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:390,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/util/attr_scan64.c:397,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan64.c:412,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:413,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:413,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan64.c:416,1
    - Dst: attr_scan64_number
      Src: /src/postfix/postfix/src/util/attr_scan64.c:417,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan64.c:421,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:422,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:422,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan64.c:428,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:429,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:429,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan64.c:432,1
    - Dst: attr_scan64_long_number
      Src: /src/postfix/postfix/src/util/attr_scan64.c:433,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan64.c:437,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:438,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:438,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan64.c:444,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:445,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:445,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan64.c:448,1
    - Dst: attr_scan64_string
      Src: /src/postfix/postfix/src/util/attr_scan64.c:449,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan64.c:453,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:454,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:454,1
    - Dst: printable
      Src: /src/postfix/postfix/src/util/attr_scan64.c:458,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:458,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan64.c:462,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:463,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:463,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan64.c:466,1
    - Dst: attr_scan64_string
      Src: /src/postfix/postfix/src/util/attr_scan64.c:467,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan64.c:471,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:472,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:472,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan64.c:477,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan64.c:478,1
    - Dst: scan_fn
      Src: /src/postfix/postfix/src/util/attr_scan64.c:479,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan64.c:484,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:485,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:485,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan64.c:488,1
    - Dst: attr_scan64_string
      Src: /src/postfix/postfix/src/util/attr_scan64.c:489,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan64.c:493,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:494,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:494,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/attr_scan64.c:497,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:497,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan64.c:498,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:499,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:499,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:499,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan64.c:508,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:509,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:509,1
    - Dst: attr_scan64_string
      Src: /src/postfix/postfix/src/util/attr_scan64.c:512,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan64.c:516,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:517,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:517,1
    - Dst: printable
      Src: /src/postfix/postfix/src/util/attr_scan64.c:521,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:521,1
    - Dst: printable
      Src: /src/postfix/postfix/src/util/attr_scan64.c:522,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:522,1
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/util/attr_scan64.c:524,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:524,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan64.c:526,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:527,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:527,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan64.c:531,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:532,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/util/attr_scan64.c:535,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:535,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/attr_scan64.c:536,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:536,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/attr_scan64.c:543,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 171
    argCount: 3
    argNames:
    - fp
    - flags
    - ap
    argTypes:
    - VSTREAM*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 546
    functionName: attr_vscan64
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan64.c
    functionUses: 0
    functionsReached:
    - attr_scan64_string
    - LEN
    - attr_scan64_long_number
    - msg_info
    - msg_panic
    - VSTREAM_PATH
    - va_arg
    - vstring_alloc
    - htable_locate
    - vstream_ungetc
    - htable_enter
    - VSTREAM_GETC
    - attr_scan64_number
    - scan_fn
    - printable
    - msg_warn
    - strcmp
    - mystrdup
    - STR
    linkageType: ''
    returnType: int
    signature: int attr_vscan64(VSTREAM *fp, int flags, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/attr_scan64.c:555,1
    - Dst: attr_vscan64
      Src: /src/postfix/postfix/src/util/attr_scan64.c:556,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/attr_scan64.c:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fp
    - flags
    argTypes:
    - VSTREAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 550
    functionDepth: 4
    functionLinenumber: 550
    functionLinenumberEnd: 559
    functionName: attr_scan64
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan64.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - attr_vscan64
    linkageType: ''
    returnType: int
    signature: int attr_scan64(VSTREAM *fp, int flags,...)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/util/attr_scan64.c:567,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_scan64.c:570,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:570,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_scan64.c:574,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:574,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_scan64.c:578,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:579,1
    - Dst: vstream_ungetc
      Src: /src/postfix/postfix/src/util/attr_scan64.c:580,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - fp
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 583
    functionName: attr_scan_more64
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan64.c
    functionUses: 0
    functionsReached:
    - vstream_ungetc
    - VSTREAM_GETC
    - VSTREAM_PATH
    - msg_info
    linkageType: ''
    returnType: int
    signature: int attr_scan_more64(VSTREAM *fp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/attr_scan64.c:597,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/attr_scan64.c:598,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/util/attr_scan64.c:599,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/attr_scan64.c:608,1
    - Dst: attr_scan64
      Src: /src/postfix/postfix/src/util/attr_scan64.c:609,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/util/attr_scan64.c:611,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/util/attr_scan64.c:612,1
    - Dst: RECV_ATTR_LONG
      Src: /src/postfix/postfix/src/util/attr_scan64.c:613,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:614,1
    - Dst: RECV_ATTR_DATA
      Src: /src/postfix/postfix/src/util/attr_scan64.c:615,1
    - Dst: RECV_ATTR_HASH
      Src: /src/postfix/postfix/src/util/attr_scan64.c:616,1
    - Dst: RECV_ATTR_LONG
      Src: /src/postfix/postfix/src/util/attr_scan64.c:617,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan64.c:619,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan64.c:620,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan64.c:621,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:621,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan64.c:622,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:622,1
    - Dst: htable_list
      Src: /src/postfix/postfix/src/util/attr_scan64.c:623,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan64.c:625,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/attr_scan64.c:626,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan64.c:627,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan64.c:629,1
    - Dst: attr_scan64
      Src: /src/postfix/postfix/src/util/attr_scan64.c:631,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/util/attr_scan64.c:633,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/util/attr_scan64.c:634,1
    - Dst: RECV_ATTR_LONG
      Src: /src/postfix/postfix/src/util/attr_scan64.c:635,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:636,1
    - Dst: RECV_ATTR_DATA
      Src: /src/postfix/postfix/src/util/attr_scan64.c:637,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan64.c:639,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan64.c:640,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan64.c:641,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:641,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan64.c:642,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan64.c:642,1
    - Dst: htable_list
      Src: /src/postfix/postfix/src/util/attr_scan64.c:643,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan64.c:645,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/attr_scan64.c:646,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan64.c:648,1
    - Dst: attr_scan64
      Src: /src/postfix/postfix/src/util/attr_scan64.c:650,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/util/attr_scan64.c:652,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan64.c:654,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/attr_scan64.c:655,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/attr_scan64.c:656,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/attr_scan64.c:658,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/attr_scan64.c:659,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/util/attr_scan64.c:660,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 2
    argNames:
    - unused_argc
    - used_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 595
    functionDepth: 5
    functionLinenumber: 595
    functionLinenumberEnd: 663
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan64.c
    functionUses: 40
    functionsReached:
    - RECV_ATTR_HASH
    - RECV_ATTR_LONG
    - RECV_ATTR_DATA
    - htable_create
    - attr_scan64
    - vstream_fflush
    - vstring_alloc
    - RECV_ATTR_STR
    - msg_vstream_init
    - myfree
    - htable_free
    - RECV_ATTR_STREQ
    - htable_list
    - vstream_printf
    - msg_fatal
    - vstring_free
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **used_argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/unix_send_fd.c:63,1
    - Dst: CMSG_SPACE
      Src: /src/postfix/postfix/src/util/unix_send_fd.c:78,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/unix_send_fd.c:82,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/unix_send_fd.c:83,1
    - Dst: CMSG_LEN
      Src: /src/postfix/postfix/src/util/unix_send_fd.c:86,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/postfix/postfix/src/util/unix_send_fd.c:90,1
    - Dst: CMSG_LEN
      Src: /src/postfix/postfix/src/util/unix_send_fd.c:91,1
    - Dst: CMSG_DATA
      Src: /src/postfix/postfix/src/util/unix_send_fd.c:94,1
    - Dst: sendmsg
      Src: /src/postfix/postfix/src/util/unix_send_fd.c:137,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/unix_send_fd.c:141,1
    - Dst: unix_send_fd
      Src: /src/postfix/postfix/src/util/unix_send_fd.c:143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 2
    argNames:
    - fd
    - sendfd
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 148
    functionName: unix_send_fd
    functionSourceFile: /src/postfix/postfix/src/util/unix_send_fd.c
    functionUses: 1
    functionsReached:
    - CMSG_LEN
    - msg_warn
    - msg_info
    - CMSG_SPACE
    - unix_send_fd
    - CMSG_FIRSTHDR
    - memset
    - CMSG_DATA
    - sendmsg
    linkageType: ''
    returnType: int
    signature: int unix_send_fd(int fd, int sendfd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: split_at
      Src: /src/postfix/postfix/src/util/unix_send_fd.c:174,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_send_fd.c:176,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/unix_send_fd.c:178,1
    - Dst: unix_connect
      Src: /src/postfix/postfix/src/util/unix_send_fd.c:179,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_send_fd.c:181,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_send_fd.c:184,1
    - Dst: open
      Src: /src/postfix/postfix/src/util/unix_send_fd.c:188,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_send_fd.c:189,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/unix_send_fd.c:190,1
    - Dst: unix_send_fd
      Src: /src/postfix/postfix/src/util/unix_send_fd.c:191,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_send_fd.c:192,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/unix_send_fd.c:193,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_send_fd.c:194,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/unix_send_fd.c:196,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 197
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/unix_send_fd.c
    functionUses: 40
    functionsReached:
    - close
    - exit
    - msg_info
    - open
    - unix_send_fd
    - strcmp
    - unix_connect
    - split_at
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dummy_read.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - fd
    - unused_buf
    - len
    - unused_timeout
    - unused_context
    argTypes:
    - int
    - void*
    - size_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: dummy_read
    functionSourceFile: /src/postfix/postfix/src/util/dummy_read.c
    functionUses: 0
    functionsReached:
    - msg_info
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t dummy_read(int fd, void *unused_buf, size_t len,\n\t\t           int
      unused_timeout, void *unused_context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISLOWER
      Src: /src/postfix/postfix/src/util/uppercase.c:40,1
    - Dst: TOUPPER
      Src: /src/postfix/postfix/src/util/uppercase.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: uppercase
    functionSourceFile: /src/postfix/postfix/src/util/uppercase.c
    functionUses: 1
    functionsReached:
    - ISLOWER
    - TOUPPER
    linkageType: ''
    returnType: char
    signature: char *uppercase(char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ring_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: RING_TO_CTABLE_ENTRY
    functionSourceFile: /src/postfix/postfix/src/util/ctable.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RING_TO_CTABLE_ENTRY(ring_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: RING_PTR_OF
    functionSourceFile: /src/postfix/postfix/src/util/ctable.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RING_PTR_OF(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/ctable.c:122,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/ctable.c:126,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/util/ctable.c:128,1
    - Dst: ring_init
      Src: /src/postfix/postfix/src/util/ctable.c:133,1
    - Dst: RING_PTR_OF
      Src: /src/postfix/postfix/src/util/ctable.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - limit
    - create
    - delete
    - context
    argTypes:
    - ssize_t
    - CTABLE_CREATE_FN
    - CTABLE_DELETE_FN
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 136
    functionName: ctable_create
    functionSourceFile: /src/postfix/postfix/src/util/ctable.c
    functionUses: 4
    functionsReached:
    - msg_panic
    - htable_create
    - ring_init
    - mymalloc
    - RING_PTR_OF
    linkageType: ''
    returnType: CTABLE
    signature: "CTABLE *ctable_create(ssize_t limit, CTABLE_CREATE_FN create,\n\t\t
      \             CTABLE_DELETE_FN delete, void *context)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: htable_find
      Src: /src/postfix/postfix/src/util/ctable.c:151,1
    - Dst: RING_TO_CTABLE_ENTRY
      Src: /src/postfix/postfix/src/util/ctable.c:153,1
    - Dst: ring_pred
      Src: /src/postfix/postfix/src/util/ctable.c:153,1
    - Dst: RING_PTR_OF
      Src: /src/postfix/postfix/src/util/ctable.c:153,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/ctable.c:155,1
    - Dst: ring_detach
      Src: /src/postfix/postfix/src/util/ctable.c:156,1
    - Dst: RING_PTR_OF
      Src: /src/postfix/postfix/src/util/ctable.c:156,1
    - Dst: CTABLE*::delete
      Src: /src/postfix/postfix/src/util/ctable.c:157,1
    - Dst: htable_delete
      Src: /src/postfix/postfix/src/util/ctable.c:158,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/ctable.c:160,1
    - Dst: CTABLE*::create
      Src: /src/postfix/postfix/src/util/ctable.c:163,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/util/ctable.c:164,1
    - Dst: ring_append
      Src: /src/postfix/postfix/src/util/ctable.c:165,1
    - Dst: RING_PTR_OF
      Src: /src/postfix/postfix/src/util/ctable.c:165,1
    - Dst: RING_PTR_OF
      Src: /src/postfix/postfix/src/util/ctable.c:165,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/ctable.c:167,1
    - Dst: RING_TO_CTABLE_ENTRY
      Src: /src/postfix/postfix/src/util/ctable.c:168,1
    - Dst: ring_succ
      Src: /src/postfix/postfix/src/util/ctable.c:168,1
    - Dst: RING_PTR_OF
      Src: /src/postfix/postfix/src/util/ctable.c:168,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/ctable.c:170,1
    - Dst: ring_detach
      Src: /src/postfix/postfix/src/util/ctable.c:172,1
    - Dst: RING_PTR_OF
      Src: /src/postfix/postfix/src/util/ctable.c:172,1
    - Dst: ring_append
      Src: /src/postfix/postfix/src/util/ctable.c:173,1
    - Dst: RING_PTR_OF
      Src: /src/postfix/postfix/src/util/ctable.c:173,1
    - Dst: RING_PTR_OF
      Src: /src/postfix/postfix/src/util/ctable.c:173,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/ctable.c:175,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - cache
    - key
    argTypes:
    - CTABLE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 178
    functionName: ctable_locate
    functionSourceFile: /src/postfix/postfix/src/util/ctable.c
    functionUses: 4
    functionsReached:
    - RING_TO_CTABLE_ENTRY
    - htable_delete
    - CTABLE*::delete
    - CTABLE*::create
    - ring_pred
    - msg_info
    - htable_enter
    - ring_detach
    - mymalloc
    - RING_PTR_OF
    - ring_append
    - htable_find
    - ring_succ
    linkageType: ''
    returnType: void
    signature: void *ctable_locate(CTABLE *cache, const char *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: htable_find
      Src: /src/postfix/postfix/src/util/ctable.c:188,1
    - Dst: ctable_locate
      Src: /src/postfix/postfix/src/util/ctable.c:189,1
    - Dst: CTABLE*::delete
      Src: /src/postfix/postfix/src/util/ctable.c:192,1
    - Dst: CTABLE*::create
      Src: /src/postfix/postfix/src/util/ctable.c:193,1
    - Dst: RING_TO_CTABLE_ENTRY
      Src: /src/postfix/postfix/src/util/ctable.c:196,1
    - Dst: ring_succ
      Src: /src/postfix/postfix/src/util/ctable.c:196,1
    - Dst: RING_PTR_OF
      Src: /src/postfix/postfix/src/util/ctable.c:196,1
    - Dst: ring_detach
      Src: /src/postfix/postfix/src/util/ctable.c:197,1
    - Dst: RING_PTR_OF
      Src: /src/postfix/postfix/src/util/ctable.c:197,1
    - Dst: ring_append
      Src: /src/postfix/postfix/src/util/ctable.c:198,1
    - Dst: RING_PTR_OF
      Src: /src/postfix/postfix/src/util/ctable.c:198,1
    - Dst: RING_PTR_OF
      Src: /src/postfix/postfix/src/util/ctable.c:198,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/ctable.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - cache
    - key
    argTypes:
    - CTABLE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 203
    functionName: ctable_refresh
    functionSourceFile: /src/postfix/postfix/src/util/ctable.c
    functionUses: 1
    functionsReached:
    - RING_TO_CTABLE_ENTRY
    - ctable_locate
    - CTABLE*::delete
    - CTABLE*::create
    - msg_info
    - RING_PTR_OF
    - ring_detach
    - ring_succ
    - ring_append
    - htable_find
    linkageType: ''
    returnType: void
    signature: void *ctable_refresh(CTABLE *cache, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cache
    - context
    argTypes:
    - CTABLE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: ctable_newcontext
    functionSourceFile: /src/postfix/postfix/src/util/ctable.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ctable_newcontext(CTABLE *cache, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delete
      Src: /src/postfix/postfix/src/util/ctable.c:220,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/ctable.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: ctable_free_callback
    functionSourceFile: /src/postfix/postfix/src/util/ctable.c
    functionUses: 0
    functionsReached:
    - myfree
    - delete
    linkageType: ''
    returnType: void
    signature: void ctable_free_callback(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htable_free
      Src: /src/postfix/postfix/src/util/ctable.c:235,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/ctable.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cache
    argTypes:
    - CTABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 238
    functionName: ctable_free
    functionSourceFile: /src/postfix/postfix/src/util/ctable.c
    functionUses: 3
    functionsReached:
    - myfree
    - htable_free
    linkageType: ''
    returnType: void
    signature: void ctable_free(CTABLE *cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RING_PTR_OF
      Src: /src/postfix/postfix/src/util/ctable.c:244,1
    - Dst: ring_succ
      Src: /src/postfix/postfix/src/util/ctable.c:248,1
    - Dst: RING_PTR_OF
      Src: /src/postfix/postfix/src/util/ctable.c:248,1
    - Dst: action
      Src: /src/postfix/postfix/src/util/ctable.c:249,1
    - Dst: RING_TO_CTABLE_ENTRY
      Src: /src/postfix/postfix/src/util/ctable.c:249,1
    - Dst: RING_TO_CTABLE_ENTRY
      Src: /src/postfix/postfix/src/util/ctable.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cache
    argTypes:
    - CTABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: ctable_walk
    functionSourceFile: /src/postfix/postfix/src/util/ctable.c
    functionUses: 0
    functionsReached:
    - RING_TO_CTABLE_ENTRY
    - RING_PTR_OF
    - action
    - ring_succ
    linkageType: ''
    returnType: void
    signature: void ctable_walk(CTABLE *cache, void (*action) (const char *, const
      void *))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/util/ctable.c
    functionUses: 457
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/ctable.c:271,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/ctable.c:272,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/util/ctable.c:273,1
    - Dst: vstream_longjmp
      Src: /src/postfix/postfix/src/util/ctable.c:274,1
    - Dst: isatty
      Src: /src/postfix/postfix/src/util/ctable.c:275,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/ctable.c:276,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ctable.c:276,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/ctable.c:277,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/ctable.c:279,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ctable.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - key
    - context
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 280
    functionName: ask
    functionSourceFile: /src/postfix/postfix/src/util/ctable.c
    functionUses: 58
    functionsReached:
    - vstring_get_nonl
    - vstream_fflush
    - vstream_longjmp
    - vstream_printf
    - isatty
    - mystrdup
    - STR
    linkageType: ''
    returnType: void
    signature: void *ask(const char *key, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/ctable.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - unused_context
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: drop
    functionSourceFile: /src/postfix/postfix/src/util/ctable.c
    functionUses: 2
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void drop(void *data, void *unused_context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/ctable.c:294,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/ctable.c:295,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/ctable.c:296,1
    - Dst: ctable_create
      Src: /src/postfix/postfix/src/util/ctable.c:297,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/util/ctable.c:299,1
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/util/ctable.c:301,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/ctable.c:303,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/ctable.c:304,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/util/ctable.c:305,1
    - Dst: vstream_longjmp
      Src: /src/postfix/postfix/src/util/ctable.c:306,1
    - Dst: isatty
      Src: /src/postfix/postfix/src/util/ctable.c:307,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/ctable.c:308,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ctable.c:308,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/ctable.c:309,1
    - Dst: ctable_locate
      Src: /src/postfix/postfix/src/util/ctable.c:311,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ctable.c:311,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/ctable.c:312,1
    - Dst: ctable_free
      Src: /src/postfix/postfix/src/util/ctable.c:315,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/ctable.c:316,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/ctable.c:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - unused_argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 319
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/ctable.c
    functionUses: 40
    functionsReached:
    - vstring_get_nonl
    - ctable_locate
    - ctable_create
    - vstream_fflush
    - vstring_alloc
    - msg_vstream_init
    - vstream_control
    - vstream_setjmp
    - vstream_longjmp
    - ctable_free
    - vstream_printf
    - isatty
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_utf8_hostname.c:60,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/util/valid_utf8_hostname.c:72,1
    - Dst: midna_domain_to_ascii
      Src: /src/postfix/postfix/src/util/valid_utf8_hostname.c:73,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_utf8_hostname.c:75,1
    - Dst: valid_hostname
      Src: /src/postfix/postfix/src/util/valid_utf8_hostname.c:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - enable_utf8
    - name
    - gripe
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 87
    functionName: valid_utf8_hostname
    functionSourceFile: /src/postfix/postfix/src/util/valid_utf8_hostname.c
    functionUses: 3
    functionsReached:
    - midna_domain_to_ascii
    - msg_warn
    - allascii
    - valid_hostname
    linkageType: ''
    returnType: int
    signature: int valid_utf8_hostname(int enable_utf8, const char *name, int gripe)
  - 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: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/util/casefold.c
    functionUses: 459
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/util/casefold.c
    functionUses: 124
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/casefold.c:124,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/casefold.c:126,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/casefold.c:127,1
    - Dst: vstring_strncat
      Src: /src/postfix/postfix/src/util/casefold.c:128,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/casefold.c:129,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/casefold.c:129,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/casefold.c:130,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/casefold.c:147,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/casefold.c:149,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/casefold.c:151,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/casefold.c:152,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/util/casefold.c:157,1
    - Dst: vstring_strncat
      Src: /src/postfix/postfix/src/util/casefold.c:158,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/casefold.c:159,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/casefold.c:159,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/casefold.c:160,1
    - Dst: valid_utf8_string
      Src: /src/postfix/postfix/src/util/casefold.c:170,1
    - Dst: ucasemap_open
      Src: /src/postfix/postfix/src/util/casefold.c:182,1
    - Dst: U_SUCCESS
      Src: /src/postfix/postfix/src/util/casefold.c:183,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/casefold.c:184,1
    - Dst: u_errorName
      Src: /src/postfix/postfix/src/util/casefold.c:184,1
    - Dst: ucasemap_utf8FoldCase
      Src: /src/postfix/postfix/src/util/casefold.c:200,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/casefold.c:200,1
    - Dst: vstring_avail
      Src: /src/postfix/postfix/src/util/casefold.c:201,1
    - Dst: U_SUCCESS
      Src: /src/postfix/postfix/src/util/casefold.c:202,1
    - Dst: vstring_set_payload_size
      Src: /src/postfix/postfix/src/util/casefold.c:203,1
    - Dst: vstring_avail
      Src: /src/postfix/postfix/src/util/casefold.c:204,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/casefold.c:205,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/util/casefold.c:208,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/casefold.c:210,1
    - Dst: u_errorName
      Src: /src/postfix/postfix/src/util/casefold.c:211,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/casefold.c:214,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 4
    argNames:
    - flags
    - dest
    - src
    - len
    argTypes:
    - int
    - VSTRING*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 216
    functionName: casefoldx
    functionSourceFile: /src/postfix/postfix/src/util/casefold.c
    functionUses: 0
    functionsReached:
    - VSTRING_SPACE
    - vstring_strncat
    - strlen
    - VSTRING_LEN
    - vstring_alloc
    - U_SUCCESS
    - valid_utf8_string
    - vstring_set_payload_size
    - VSTRING_RESET
    - vstring_avail
    - VSTRING_TERMINATE
    - ucasemap_open
    - u_errorName
    - ucasemap_utf8FoldCase
    - msg_fatal
    - allascii
    - lowercase
    - STR
    linkageType: ''
    returnType: char
    signature: char *casefoldx(int flags, VSTRING *dest, const char *src, ssize_t
      len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/casefold.c:224,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/casefold.c:226,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/casefold.c:228,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/casefold.c:229,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/casefold.c:231,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/casefold.c:232,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/casefold.c:233,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/casefold.c:235,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/casefold.c:236,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/casefold.c:237,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/casefold.c:238,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/casefold.c:240,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/casefold.c:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - buffer
    - codepoint
    argTypes:
    - VSTRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 243
    functionName: encode_utf8
    functionSourceFile: /src/postfix/postfix/src/util/casefold.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - VSTRING_ADDCH
    linkageType: ''
    returnType: void
    signature: void encode_utf8(VSTRING *buffer, int codepoint)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/casefold.c:255,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/casefold.c:256,1
    - Dst: setlocale
      Src: /src/postfix/postfix/src/util/casefold.c:263,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/casefold.c:264,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/casefold.c:266,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/util/casefold.c:270,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/util/casefold.c:272,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/casefold.c:273,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/casefold.c:274,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/util/casefold.c:275,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/casefold.c:278,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/casefold.c:284,1
    - Dst: casefold
      Src: /src/postfix/postfix/src/util/casefold.c:285,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/casefold.c:286,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/casefold.c:292,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/util/casefold.c:293,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/casefold.c:297,1
    - Dst: encode_utf8
      Src: /src/postfix/postfix/src/util/casefold.c:300,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/casefold.c:302,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/casefold.c:302,1
    - Dst: valid_utf8_stringz
      Src: /src/postfix/postfix/src/util/casefold.c:303,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/casefold.c:303,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/casefold.c:304,1
    - Dst: casefold
      Src: /src/postfix/postfix/src/util/casefold.c:305,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/casefold.c:305,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/casefold.c:308,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/casefold.c:314,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/util/casefold.c:315,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/casefold.c:315,1
    - Dst: geteuid
      Src: /src/postfix/postfix/src/util/casefold.c:316,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/util/casefold.c:317,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/casefold.c:317,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/casefold.c:318,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/casefold.c:318,1
    - Dst: chroot
      Src: /src/postfix/postfix/src/util/casefold.c:319,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/casefold.c:319,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/casefold.c:320,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/casefold.c:320,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/casefold.c:321,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/casefold.c:321,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/casefold.c:328,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/util/casefold.c:329,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/casefold.c:329,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/util/casefold.c:330,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/casefold.c:330,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/casefold.c:331,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/casefold.c:331,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/util/casefold.c:332,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/casefold.c:333,1
    - Dst: casefold
      Src: /src/postfix/postfix/src/util/casefold.c:333,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/casefold.c:333,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/casefold.c:334,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/casefold.c:340,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/util/casefold.c:341,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/casefold.c:349,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/casefold.c:352,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/casefold.c:354,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/casefold.c:355,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/casefold.c:356,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 60
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 357
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/casefold.c
    functionUses: 40
    functionsReached:
    - ISSPACE
    - VSTRING_SPACE
    - msg_vstream_init
    - setlocale
    - encode_utf8
    - vstream_fflush
    - vstring_alloc
    - chdir
    - exit
    - sscanf
    - mystrtok
    - chroot
    - vstream_fopen
    - vstream_printf
    - casefold
    - vstring_free
    - vstring_fgets_nonl
    - geteuid
    - vstream_fclose
    - strcmp
    - msg_fatal
    - valid_utf8_stringz
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - table
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: byte_mask
    functionSourceFile: /src/postfix/postfix/src/util/byte_mask.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: byte_mask(tag, table, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - table
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: str_byte_mask
    functionSourceFile: /src/postfix/postfix/src/util/byte_mask.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: str_byte_mask(tag, table, mask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/msg_vstream.c:64,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/msg_vstream.c:66,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/msg_vstream.c:69,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/msg_vstream.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - level
    - text
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: msg_vstream_print
    functionSourceFile: /src/postfix/postfix/src/util/msg_vstream.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstream_fflush
    - vstream_fprintf
    linkageType: ''
    returnType: void
    signature: void msg_vstream_print(int level, const char *text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_output
      Src: /src/postfix/postfix/src/util/msg_vstream.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - vp
    argTypes:
    - char*
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: msg_vstream_init
    functionSourceFile: /src/postfix/postfix/src/util/msg_vstream.c
    functionUses: 63
    functionsReached:
    - msg_output
    linkageType: ''
    returnType: void
    signature: void msg_vstream_init(const char *name, VSTREAM *vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan0.c
    functionUses: 461
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan0.c
    functionUses: 125
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_get_null
      Src: /src/postfix/postfix/src/util/attr_scan0.c:197,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan0.c:198,1
    - Dst: vstream_ftimeout
      Src: /src/postfix/postfix/src/util/attr_scan0.c:199,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan0.c:200,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan0.c:204,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan0.c:205,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_scan0.c:209,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:209,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - fp
    - plain_buf
    - context
    argTypes:
    - VSTREAM*
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 211
    functionName: attr_scan0_string
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan0.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - VSTREAM_PATH
    - msg_info
    - vstream_ftimeout
    - vstring_get_null
    - STR
    linkageType: ''
    returnType: int
    signature: int attr_scan0_string(VSTREAM *fp, VSTRING *plain_buf, const char *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/attr_scan0.c:222,1
    - Dst: attr_scan0_string
      Src: /src/postfix/postfix/src/util/attr_scan0.c:223,1
    - Dst: base64_decode
      Src: /src/postfix/postfix/src/util/attr_scan0.c:225,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:225,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/attr_scan0.c:225,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan0.c:226,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan0.c:227,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - fp
    - str_buf
    - context
    argTypes:
    - VSTREAM*
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 231
    functionName: attr_scan0_data
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan0.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - VSTREAM_PATH
    - vstring_alloc
    - LEN
    - base64_decode
    - attr_scan0_string
    - STR
    linkageType: ''
    returnType: int
    signature: "int attr_scan0_data(VSTREAM *fp, VSTRING *str_buf,\n\t\t\t           const
      char *context)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan0_string
      Src: /src/postfix/postfix/src/util/attr_scan0.c:241,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/util/attr_scan0.c:243,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:243,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan0.c:244,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan0.c:245,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - fp
    - ptr
    - str_buf
    - context
    argTypes:
    - VSTREAM*
    - unsigned*
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 249
    functionName: attr_scan0_number
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan0.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - VSTREAM_PATH
    - sscanf
    - attr_scan0_string
    - STR
    linkageType: ''
    returnType: int
    signature: "int attr_scan0_number(VSTREAM *fp, unsigned *ptr, VSTRING *str_buf,\n\t\t\t
      \            const char *context)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan0_string
      Src: /src/postfix/postfix/src/util/attr_scan0.c:260,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/util/attr_scan0.c:262,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:262,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan0.c:263,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan0.c:264,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - fp
    - ptr
    - str_buf
    - context
    argTypes:
    - VSTREAM*
    - unsigned long*
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 268
    functionName: attr_scan0_long_number
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan0.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - VSTREAM_PATH
    - sscanf
    - attr_scan0_string
    - STR
    linkageType: ''
    returnType: int
    signature: "int attr_scan0_long_number(VSTREAM *fp, unsigned long *ptr,\n\t\t\t\t
      \         VSTRING *str_buf,\n\t\t\t\t          const char *context)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/attr_scan0.c:293,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/util/attr_scan0.c:298,1
    - Dst: vstream_ungetc
      Src: /src/postfix/postfix/src/util/attr_scan0.c:300,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/attr_scan0.c:306,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/attr_scan0.c:307,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan0.c:326,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan0.c:333,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan0.c:335,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_scan0.c:350,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan0.c:351,1
    - Dst: attr_scan0_string
      Src: /src/postfix/postfix/src/util/attr_scan0.c:352,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/attr_scan0.c:355,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan0.c:360,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan0.c:361,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/attr_scan0.c:369,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:369,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/attr_scan0.c:375,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:375,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/attr_scan0.c:383,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:383,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan0.c:386,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:387,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan0.c:387,1
    - Dst: attr_scan0_string
      Src: /src/postfix/postfix/src/util/attr_scan0.c:394,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan0.c:402,1
    - Dst: attr_scan0_number
      Src: /src/postfix/postfix/src/util/attr_scan0.c:403,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan0.c:408,1
    - Dst: attr_scan0_long_number
      Src: /src/postfix/postfix/src/util/attr_scan0.c:409,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan0.c:414,1
    - Dst: attr_scan0_string
      Src: /src/postfix/postfix/src/util/attr_scan0.c:415,1
    - Dst: printable
      Src: /src/postfix/postfix/src/util/attr_scan0.c:419,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:419,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan0.c:422,1
    - Dst: attr_scan0_data
      Src: /src/postfix/postfix/src/util/attr_scan0.c:423,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan0.c:428,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan0.c:429,1
    - Dst: scan_fn
      Src: /src/postfix/postfix/src/util/attr_scan0.c:430,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan0.c:434,1
    - Dst: attr_scan0_string
      Src: /src/postfix/postfix/src/util/attr_scan0.c:435,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/attr_scan0.c:438,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:438,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan0.c:439,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:440,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:440,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan0.c:440,1
    - Dst: attr_scan0_string
      Src: /src/postfix/postfix/src/util/attr_scan0.c:448,1
    - Dst: printable
      Src: /src/postfix/postfix/src/util/attr_scan0.c:452,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:452,1
    - Dst: printable
      Src: /src/postfix/postfix/src/util/attr_scan0.c:453,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:453,1
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/util/attr_scan0.c:455,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:455,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan0.c:457,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:458,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan0.c:458,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan0.c:462,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan0.c:463,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/util/attr_scan0.c:466,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:466,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/attr_scan0.c:467,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:467,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/attr_scan0.c:474,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 122
    argCount: 3
    argNames:
    - fp
    - flags
    - ap
    argTypes:
    - VSTREAM*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 477
    functionName: attr_vscan0
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan0.c
    functionUses: 0
    functionsReached:
    - attr_scan0_data
    - LEN
    - msg_info
    - msg_panic
    - VSTREAM_PATH
    - va_arg
    - vstring_alloc
    - htable_locate
    - attr_scan0_number
    - vstream_ungetc
    - htable_enter
    - VSTREAM_GETC
    - scan_fn
    - attr_scan0_long_number
    - printable
    - msg_warn
    - strcmp
    - attr_scan0_string
    - mystrdup
    - STR
    linkageType: ''
    returnType: int
    signature: int attr_vscan0(VSTREAM *fp, int flags, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/attr_scan0.c:486,1
    - Dst: attr_vscan0
      Src: /src/postfix/postfix/src/util/attr_scan0.c:487,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/attr_scan0.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fp
    - flags
    argTypes:
    - VSTREAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 481
    functionDepth: 4
    functionLinenumber: 481
    functionLinenumberEnd: 490
    functionName: attr_scan0
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan0.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - attr_vscan0
    linkageType: ''
    returnType: int
    signature: int attr_scan0(VSTREAM *fp, int flags,...)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/util/attr_scan0.c:498,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_scan0.c:501,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan0.c:501,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_scan0.c:505,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan0.c:505,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_scan0.c:509,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan0.c:510,1
    - Dst: vstream_ungetc
      Src: /src/postfix/postfix/src/util/attr_scan0.c:511,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - fp
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 514
    functionName: attr_scan_more0
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan0.c
    functionUses: 0
    functionsReached:
    - vstream_ungetc
    - VSTREAM_GETC
    - VSTREAM_PATH
    - msg_info
    linkageType: ''
    returnType: int
    signature: int attr_scan_more0(VSTREAM *fp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/attr_scan0.c:528,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/attr_scan0.c:529,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/util/attr_scan0.c:530,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/attr_scan0.c:539,1
    - Dst: attr_scan0
      Src: /src/postfix/postfix/src/util/attr_scan0.c:540,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/util/attr_scan0.c:542,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/util/attr_scan0.c:543,1
    - Dst: RECV_ATTR_LONG
      Src: /src/postfix/postfix/src/util/attr_scan0.c:544,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:545,1
    - Dst: RECV_ATTR_DATA
      Src: /src/postfix/postfix/src/util/attr_scan0.c:546,1
    - Dst: RECV_ATTR_HASH
      Src: /src/postfix/postfix/src/util/attr_scan0.c:547,1
    - Dst: RECV_ATTR_LONG
      Src: /src/postfix/postfix/src/util/attr_scan0.c:548,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan0.c:550,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan0.c:551,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan0.c:552,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:552,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan0.c:553,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:553,1
    - Dst: htable_list
      Src: /src/postfix/postfix/src/util/attr_scan0.c:554,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan0.c:556,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/attr_scan0.c:557,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan0.c:558,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan0.c:560,1
    - Dst: attr_scan0
      Src: /src/postfix/postfix/src/util/attr_scan0.c:562,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/util/attr_scan0.c:564,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/util/attr_scan0.c:565,1
    - Dst: RECV_ATTR_LONG
      Src: /src/postfix/postfix/src/util/attr_scan0.c:566,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:567,1
    - Dst: RECV_ATTR_DATA
      Src: /src/postfix/postfix/src/util/attr_scan0.c:568,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan0.c:570,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan0.c:571,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan0.c:572,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:572,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan0.c:573,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan0.c:573,1
    - Dst: htable_list
      Src: /src/postfix/postfix/src/util/attr_scan0.c:574,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan0.c:576,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/attr_scan0.c:577,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan0.c:579,1
    - Dst: attr_scan0
      Src: /src/postfix/postfix/src/util/attr_scan0.c:581,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/util/attr_scan0.c:583,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan0.c:585,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/attr_scan0.c:586,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/attr_scan0.c:587,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/attr_scan0.c:589,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/attr_scan0.c:590,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/util/attr_scan0.c:591,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 2
    argNames:
    - unused_argc
    - used_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 526
    functionDepth: 5
    functionLinenumber: 526
    functionLinenumberEnd: 594
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan0.c
    functionUses: 40
    functionsReached:
    - attr_scan0
    - RECV_ATTR_HASH
    - RECV_ATTR_LONG
    - RECV_ATTR_DATA
    - htable_create
    - vstream_fflush
    - vstring_alloc
    - RECV_ATTR_STR
    - msg_vstream_init
    - myfree
    - htable_free
    - RECV_ATTR_STREQ
    - htable_list
    - vstream_printf
    - msg_fatal
    - vstring_free
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **used_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: CIDR_MATCH_ADDR_FAMILY
    functionSourceFile: /src/postfix/postfix/src/util/cidr_match.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIDR_MATCH_ADDR_FAMILY(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: CIDR_MATCH_ADDR_BIT_COUNT
    functionSourceFile: /src/postfix/postfix/src/util/cidr_match.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIDR_MATCH_ADDR_BIT_COUNT(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: CIDR_MATCH_ADDR_BYTE_COUNT
    functionSourceFile: /src/postfix/postfix/src/util/cidr_match.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIDR_MATCH_ADDR_BYTE_COUNT(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: CIDR_MATCH_ADDR_FAMILY
    functionSourceFile: /src/postfix/postfix/src/util/cidr_match.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIDR_MATCH_ADDR_FAMILY(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: CIDR_MATCH_ADDR_BIT_COUNT
    functionSourceFile: /src/postfix/postfix/src/util/cidr_match.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIDR_MATCH_ADDR_BIT_COUNT(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: CIDR_MATCH_ADDR_BYTE_COUNT
    functionSourceFile: /src/postfix/postfix/src/util/cidr_match.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIDR_MATCH_ADDR_BYTE_COUNT(f)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - entry
    - addr_bytes
    argTypes:
    - CIDR_MATCH*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 144
    functionName: cidr_match_entry
    functionSourceFile: /src/postfix/postfix/src/util/cidr_match.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cidr_match_entry(CIDR_MATCH *entry,\n\t\t\t\t           unsigned
      char *addr_bytes)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CIDR_MATCH_ADDR_FAMILY
      Src: /src/postfix/postfix/src/util/cidr_match.c:154,1
    - Dst: inet_pton
      Src: /src/postfix/postfix/src/util/cidr_match.c:155,1
    - Dst: cidr_match_entry
      Src: /src/postfix/postfix/src/util/cidr_match.c:164,1
    - Dst: cidr_match_entry
      Src: /src/postfix/postfix/src/util/cidr_match.c:170,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - list
    - addr
    argTypes:
    - CIDR_MATCH*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 182
    functionName: cidr_match_execute
    functionSourceFile: /src/postfix/postfix/src/util/cidr_match.c
    functionUses: 0
    functionsReached:
    - CIDR_MATCH_ADDR_FAMILY
    - cidr_match_entry
    - inet_pton
    linkageType: ''
    returnType: CIDR_MATCH
    signature: CIDR_MATCH *cidr_match_execute(CIDR_MATCH *list, const char *addr)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: split_at
      Src: /src/postfix/postfix/src/util/cidr_match.c:204,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/cidr_match.c:205,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/cidr_match.c:205,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/cidr_match.c:210,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/cidr_match.c:210,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/util/cidr_match.c:222,1
    - Dst: CIDR_MATCH_ADDR_FAMILY
      Src: /src/postfix/postfix/src/util/cidr_match.c:225,1
    - Dst: CIDR_MATCH_ADDR_BIT_COUNT
      Src: /src/postfix/postfix/src/util/cidr_match.c:226,1
    - Dst: CIDR_MATCH_ADDR_BYTE_COUNT
      Src: /src/postfix/postfix/src/util/cidr_match.c:227,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/util/cidr_match.c:228,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/util/cidr_match.c:230,1
    - Dst: inet_pton
      Src: /src/postfix/postfix/src/util/cidr_match.c:232,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/cidr_match.c:238,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/cidr_match.c:238,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/cidr_match.c:244,1
    - Dst: mask_addr
      Src: /src/postfix/postfix/src/util/cidr_match.c:245,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/cidr_match.c:247,1
    - Dst: mask_addr
      Src: /src/postfix/postfix/src/util/cidr_match.c:255,1
    - Dst: inet_ntop
      Src: /src/postfix/postfix/src/util/cidr_match.c:256,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/cidr_match.c:258,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/cidr_match.c:259,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/cidr_match.c:259,1
    - Dst: CIDR_MATCH_ADDR_FAMILY
      Src: /src/postfix/postfix/src/util/cidr_match.c:272,1
    - Dst: CIDR_MATCH_ADDR_BIT_COUNT
      Src: /src/postfix/postfix/src/util/cidr_match.c:273,1
    - Dst: CIDR_MATCH_ADDR_BYTE_COUNT
      Src: /src/postfix/postfix/src/util/cidr_match.c:274,1
    - Dst: inet_pton
      Src: /src/postfix/postfix/src/util/cidr_match.c:275,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/cidr_match.c:276,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/cidr_match.c:276,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/cidr_match.c:282,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 65
    argCount: 4
    argNames:
    - ip
    - pattern
    - match
    - why
    argTypes:
    - CIDR_MATCH*
    - char*
    - int
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 294
    functionName: cidr_match_parse
    functionSourceFile: /src/postfix/postfix/src/util/cidr_match.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - CIDR_MATCH_ADDR_BIT_COUNT
    - alldig
    - vstring_alloc
    - CIDR_MATCH_ADDR_FAMILY
    - atoi
    - memset
    - inet_ntop
    - split_at
    - msg_fatal
    - mask_addr
    - CIDR_MATCH_ADDR_BYTE_COUNT
    - inet_pton
    linkageType: ''
    returnType: VSTRING
    signature: "VSTRING *cidr_match_parse(CIDR_MATCH *ip, char *pattern, int match,\n\t\t\t
      \         VSTRING *why)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cidr_match_parse
      Src: /src/postfix/postfix/src/util/cidr_match.c:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ip
    - pattern
    - match
    - why
    argTypes:
    - CIDR_MATCH*
    - char*
    - int
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 306
    functionName: cidr_match_parse_if
    functionSourceFile: /src/postfix/postfix/src/util/cidr_match.c
    functionUses: 0
    functionsReached:
    - cidr_match_parse
    linkageType: ''
    returnType: VSTRING
    signature: "VSTRING *cidr_match_parse_if(CIDR_MATCH *ip, char *pattern, int match,\n\t\t\t
      \            VSTRING *why)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postfix/postfix/src/util/cidr_match.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ip
    argTypes:
    - CIDR_MATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 316
    functionName: cidr_match_endif
    functionSourceFile: /src/postfix/postfix/src/util/cidr_match.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void cidr_match_endif(CIDR_MATCH *ip)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/util/extpar.c:92,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/extpar.c:92,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/extpar.c:92,1
    - Dst: balpar
      Src: /src/postfix/postfix/src/util/extpar.c:95,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/util/extpar.c:96,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/util/extpar.c:101,1
    - Dst: trimblanks
      Src: /src/postfix/postfix/src/util/extpar.c:107,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/extpar.c:108,1
    - Dst: normalize_ws
      Src: /src/postfix/postfix/src/util/extpar.c:112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - bp
    - parens
    - flags
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 115
    functionName: extpar
    functionSourceFile: /src/postfix/postfix/src/util/extpar.c
    functionUses: 12
    functionsReached:
    - vstring_export
    - vstring_sprintf
    - ISSPACE
    - balpar
    - vstring_alloc
    - concatenate
    - trimblanks
    - normalize_ws
    linkageType: ''
    returnType: char
    signature: char *extpar(char **bp, const char *parens, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - scan
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: SCAN_DIR_PATH
    functionSourceFile: /src/postfix/postfix/src/util/scan_dir.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCAN_DIR_PATH(scan)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/util/scan_dir.c
    functionUses: 467
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCAN_DIR_PATH
      Src: /src/postfix/postfix/src/util/scan_dir.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scan
    argTypes:
    - SCAN_DIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: scan_dir_path
    functionSourceFile: /src/postfix/postfix/src/util/scan_dir.c
    functionUses: 1
    functionsReached:
    - SCAN_DIR_PATH
    linkageType: ''
    returnType: char
    signature: char *scan_dir_path(SCAN_DIR *scan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/scan_dir.c:129,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/util/scan_dir.c:131,1
    - Dst: SCAN_DIR_PATH
      Src: /src/postfix/postfix/src/util/scan_dir.c:131,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/scan_dir.c:133,1
    - Dst: opendir
      Src: /src/postfix/postfix/src/util/scan_dir.c:134,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/scan_dir.c:135,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/scan_dir.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - scan
    - path
    argTypes:
    - SCAN_DIR*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 140
    functionName: scan_dir_push
    functionSourceFile: /src/postfix/postfix/src/util/scan_dir.c
    functionUses: 2
    functionsReached:
    - SCAN_DIR_PATH
    - opendir
    - msg_info
    - concatenate
    - mymalloc
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: void
    signature: void scan_dir_push(SCAN_DIR *scan, const char *path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: closedir
      Src: /src/postfix/postfix/src/util/scan_dir.c:153,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/scan_dir.c:154,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/scan_dir.c:156,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/scan_dir.c:157,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/scan_dir.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - scan
    argTypes:
    - SCAN_DIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 161
    functionName: scan_dir_pop
    functionSourceFile: /src/postfix/postfix/src/util/scan_dir.c
    functionUses: 2
    functionsReached:
    - closedir
    - msg_fatal
    - myfree
    - msg_info
    linkageType: ''
    returnType: SCAN_DIR
    signature: SCAN_DIR *scan_dir_pop(SCAN_DIR *scan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/scan_dir.c:169,1
    - Dst: scan_dir_push
      Src: /src/postfix/postfix/src/util/scan_dir.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 165
    functionDepth: 4
    functionLinenumber: 165
    functionLinenumberEnd: 173
    functionName: scan_dir_open
    functionSourceFile: /src/postfix/postfix/src/util/scan_dir.c
    functionUses: 8
    functionsReached:
    - mymalloc
    - scan_dir_push
    linkageType: ''
    returnType: SCAN_DIR
    signature: SCAN_DIR *scan_dir_open(const char *path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: readdir
      Src: /src/postfix/postfix/src/util/scan_dir.c:193,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/util/scan_dir.c:194,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/util/scan_dir.c:194,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/scan_dir.c:196,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/scan_dir.c:200,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - scan
    argTypes:
    - SCAN_DIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 206
    functionName: scan_dir_next
    functionSourceFile: /src/postfix/postfix/src/util/scan_dir.c
    functionUses: 8
    functionsReached:
    - readdir
    - STREQ
    - msg_info
    linkageType: ''
    returnType: char
    signature: char *scan_dir_next(SCAN_DIR *scan)
  - 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: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/util/scan_dir.c
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scan_dir_pop
      Src: /src/postfix/postfix/src/util/scan_dir.c:213,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/scan_dir.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - scan
    argTypes:
    - SCAN_DIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionName: scan_dir_close
    functionSourceFile: /src/postfix/postfix/src/util/scan_dir.c
    functionUses: 8
    functionsReached:
    - myfree
    - scan_dir_pop
    linkageType: ''
    returnType: SCAN_DIR
    signature: SCAN_DIR *scan_dir_close(SCAN_DIR *scan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dict_close
      Src: /src/postfix/postfix/src/util/mkmap_open.c:103,1
    - Dst: MKMAP*::after_close
      Src: /src/postfix/postfix/src/util/mkmap_open.c:113,1
    - Dst: sigresume
      Src: /src/postfix/postfix/src/util/mkmap_open.c:119,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/mkmap_open.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - mkmap
    argTypes:
    - MKMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 125
    functionName: mkmap_close
    functionSourceFile: /src/postfix/postfix/src/util/mkmap_open.c
    functionUses: 2
    functionsReached:
    - myfree
    - sigresume
    - dict_close
    - MKMAP*::after_close
    linkageType: ''
    returnType: void
    signature: void mkmap_close(MKMAP *mkmap)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dict_open_lookup
      Src: /src/postfix/postfix/src/util/mkmap_open.c:138,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/mkmap_open.c:139,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/mkmap_open.c:141,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/mkmap_open.c:143,1
    - Dst: DICT_OPEN_INFO*::mkmap_fn
      Src: /src/postfix/postfix/src/util/mkmap_open.c:152,1
    - Dst: sigdelay
      Src: /src/postfix/postfix/src/util/mkmap_open.c:158,1
    - Dst: MKMAP*::open
      Src: /src/postfix/postfix/src/util/mkmap_open.c:168,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/mkmap_open.c:178,1
    - Dst: DICT_OPEN_INFO*::dict_fn
      Src: /src/postfix/postfix/src/util/mkmap_open.c:179,1
    - Dst: MKMAP*::after_open
      Src: /src/postfix/postfix/src/util/mkmap_open.c:194,1
    - Dst: DICT_NEED_UTF8_ACTIVATION
      Src: /src/postfix/postfix/src/util/mkmap_open.c:200,1
    - Dst: dict_utf8_activate
      Src: /src/postfix/postfix/src/util/mkmap_open.c:201,1
    - Dst: sigresume
      Src: /src/postfix/postfix/src/util/mkmap_open.c:207,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - type
    - path
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 210
    functionName: mkmap_open
    functionSourceFile: /src/postfix/postfix/src/util/mkmap_open.c
    functionUses: 2
    functionsReached:
    - dict_open_lookup
    - MKMAP*::open
    - DICT_OPEN_INFO*::mkmap_fn
    - sigresume
    - DICT_OPEN_INFO*::dict_fn
    - sigdelay
    - DICT_NEED_UTF8_ACTIVATION
    - msg_info
    - MKMAP*::after_open
    - mymalloc
    - msg_fatal
    - dict_utf8_activate
    linkageType: ''
    returnType: MKMAP
    signature: "MKMAP *mkmap_open(const char *type, const char *path,\n\t\t           int
      open_flags, int dict_flags)"
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/util/dict_static.c
    functionUses: 467
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_static.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dict
    - unused_name
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: dict_static_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_static.c
    functionUses: 0
    functionsReached:
    - DICT_ERR_VAL_RETURN
    linkageType: ''
    returnType: char
    signature: char *dict_static_lookup(DICT *dict, const char *unused_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_static.c:75,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_static.c:77,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/util/dict_static.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: dict_static_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_static.c
    functionUses: 0
    functionsReached:
    - myfree
    - dict_free
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_static_close(DICT *dict)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/dict_static.c:107,1
    - Dst: extpar
      Src: /src/postfix/postfix/src/util/dict_static.c:108,1
    - Dst: DICT_STATIC_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_static.c:109,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_static.c:109,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/util/dict_static.c:122,1
    - Dst: dict_file_to_b64
      Src: /src/postfix/postfix/src/util/dict_static.c:134,1
    - Dst: dict_file_get_error
      Src: /src/postfix/postfix/src/util/dict_static.c:135,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/util/dict_static.c:136,1
    - Dst: DICT_STATIC_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_static.c:137,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_static.c:137,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_static.c:141,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/dict_static.c:147,1
    - Dst: dict_file_purge_buffers
      Src: /src/postfix/postfix/src/util/dict_static.c:148,1
    - Dst: DICT_STATIC_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_static.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - name
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 151
    functionName: dict_static_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_static.c
    functionUses: 0
    functionsReached:
    - dict_file_to_b64
    - extpar
    - dict_file_purge_buffers
    - DICT_STATIC_OPEN_RETURN
    - dict_surrogate
    - dict_close
    - dict_alloc
    - vstring_str
    - dict_file_get_error
    - mystrdup
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_static_open(const char *name, int open_flags, int dict_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: DICT_STATIC_OPEN_RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict_static.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_STATIC_OPEN_RETURN(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: vstream_fread
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstream_fread(v, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: vstream_fwrite
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstream_fwrite(v, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ch
    - ','
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: VSTREAM_PUTC
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_PUTC(ch, vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: VSTREAM_GETC
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_GETC(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vp
    - ','
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: vstream_ungetc
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstream_ungetc(vp, ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: VSTREAM_PUTCHAR
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_PUTCHAR(ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: VSTREAM_GETCHAR
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_GETCHAR()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: vstream_fileno
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 124
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstream_fileno(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: vstream_req_bufsize
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstream_req_bufsize(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: vstream_context
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstream_context(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: vstream_rd_error
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstream_rd_error(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: vstream_wr_error
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstream_wr_error(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: vstream_ferror
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstream_ferror(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: vstream_feof
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstream_feof(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: vstream_rd_timeout
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstream_rd_timeout(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: vstream_wr_timeout
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstream_wr_timeout(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: vstream_ftimeout
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstream_ftimeout(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: vstream_clearerr
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstream_clearerr(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: VSTREAM_PATH
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 80
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_PATH(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: vstream_ftime
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstream_ftime(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: vstream_ftimeval
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstream_ftimeval(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vp
    - ','
    - fl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: vstream_fstat
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstream_fstat(vp, fl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: CA_VSTREAM_CTL_READ_FN
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_VSTREAM_CTL_READ_FN(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: CA_VSTREAM_CTL_WRITE_FN
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_VSTREAM_CTL_WRITE_FN(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: CA_VSTREAM_CTL_PATH
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_VSTREAM_CTL_PATH(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: CA_VSTREAM_CTL_READ_FD
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_VSTREAM_CTL_READ_FD(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: CA_VSTREAM_CTL_WRITE_FD
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_VSTREAM_CTL_WRITE_FD(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: CA_VSTREAM_CTL_WAITPID_FN
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_VSTREAM_CTL_WAITPID_FN(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: CA_VSTREAM_CTL_TIMEOUT
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_VSTREAM_CTL_TIMEOUT(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: CA_VSTREAM_CTL_CONTEXT
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_VSTREAM_CTL_CONTEXT(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: CA_VSTREAM_CTL_DUPFD
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_VSTREAM_CTL_DUPFD(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: CA_VSTREAM_CTL_BUFSIZE
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_VSTREAM_CTL_BUFSIZE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: CA_VSTREAM_CTL_SWAP_FD
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_VSTREAM_CTL_SWAP_FD(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: CA_VSTREAM_CTL_MIN_DATA_RATE
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_VSTREAM_CTL_MIN_DATA_RATE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: vstream_ispipe
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstream_ispipe(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: CA_VSTREAM_POPEN_COMMAND
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_VSTREAM_POPEN_COMMAND(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: CA_VSTREAM_POPEN_ARGV
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_VSTREAM_POPEN_ARGV(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 216
    functionName: CA_VSTREAM_POPEN_UID
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_VSTREAM_POPEN_UID(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: CA_VSTREAM_POPEN_GID
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_VSTREAM_POPEN_GID(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    functionName: CA_VSTREAM_POPEN_ENV
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_VSTREAM_POPEN_ENV(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 219
    functionName: CA_VSTREAM_POPEN_SHELL
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_VSTREAM_POPEN_SHELL(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: CA_VSTREAM_POPEN_WAITPID_FN
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_VSTREAM_POPEN_WAITPID_FN(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: CA_VSTREAM_POPEN_EXPORT
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_VSTREAM_POPEN_EXPORT(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: vstream_peek
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstream_peek(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 256
    functionName: vstream_setjmp
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstream_setjmp(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stream
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: vstream_longjmp
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstream_longjmp(stream, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: vstream_setjmp
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstream_setjmp(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stream
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: vstream_longjmp
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstream_longjmp(stream, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 269
    functionName: vstream_flags
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstream_flags(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - string
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 275
    functionName: vstream_memopen
    functionSourceFile: /src/postfix/postfix/src/util/vstream.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstream_memopen(string, flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/postfix/postfix/src/util/unsafe.c:65,1
    - Dst: geteuid
      Src: /src/postfix/postfix/src/util/unsafe.c:65,1
    - Dst: geteuid
      Src: /src/postfix/postfix/src/util/unsafe.c:72,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/util/unsafe.c:72,1
    - Dst: issetugid
      Src: /src/postfix/postfix/src/util/unsafe.c:74,1
    - Dst: getgid
      Src: /src/postfix/postfix/src/util/unsafe.c:76,1
    - Dst: getegid
      Src: /src/postfix/postfix/src/util/unsafe.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 77
    functionName: unsafe
    functionSourceFile: /src/postfix/postfix/src/util/unsafe.c
    functionUses: 4
    functionsReached:
    - issetugid
    - getegid
    - geteuid
    - getgid
    - getuid
    linkageType: ''
    returnType: int
    signature: int unsafe(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: scan_fn
      Src: /src/postfix/postfix/src/util/argv_attr_scan.c:66,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/util/argv_attr_scan.c:67,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/argv_attr_scan.c:70,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/argv_attr_scan.c:72,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/argv_attr_scan.c:73,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/argv_attr_scan.c:76,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/util/argv_attr_scan.c:78,1
    - Dst: scan_fn
      Src: /src/postfix/postfix/src/util/argv_attr_scan.c:80,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/util/argv_attr_scan.c:81,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/argv_attr_scan.c:83,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/argv_attr_scan.c:83,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/util/argv_attr_scan.c:85,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/argv_attr_scan.c:86,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/argv_attr_scan.c:91,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - scan_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_PRINT_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 93
    functionName: argv_attr_scan
    functionSourceFile: /src/postfix/postfix/src/util/argv_attr_scan.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - argv_terminate
    - VSTREAM_PATH
    - vstring_alloc
    - RECV_ATTR_STR
    - msg_info
    - argv_alloc
    - argv_add
    - vstring_str
    - scan_fn
    - vstring_free
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: "int argv_attr_scan(ATTR_PRINT_COMMON_FN scan_fn, VSTREAM *fp,\n\t\t
      \              int flags, void *ptr)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getpwnam
      Src: /src/postfix/postfix/src/util/chroot_uid.c:54,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/chroot_uid.c:55,1
    - Dst: setgid
      Src: /src/postfix/postfix/src/util/chroot_uid.c:58,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/chroot_uid.c:59,1
    - Dst: initgroups
      Src: /src/postfix/postfix/src/util/chroot_uid.c:60,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/chroot_uid.c:61,1
    - Dst: chroot
      Src: /src/postfix/postfix/src/util/chroot_uid.c:68,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/chroot_uid.c:69,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/util/chroot_uid.c:70,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/chroot_uid.c:71,1
    - Dst: setuid
      Src: /src/postfix/postfix/src/util/chroot_uid.c:78,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/chroot_uid.c:79,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/chroot_uid.c:85,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - root_dir
    - user_name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 88
    functionName: chroot_uid
    functionSourceFile: /src/postfix/postfix/src/util/chroot_uid.c
    functionUses: 7
    functionsReached:
    - getpwnam
    - setuid
    - initgroups
    - chdir
    - msg_info
    - chroot
    - msg_fatal
    - setgid
    linkageType: ''
    returnType: void
    signature: void chroot_uid(const char *root_dir, const char *user_name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/postfix/postfix/src/util/stream_connect.c:73,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/util/stream_connect.c:80,1
    - Dst: pipe
      Src: /src/postfix/postfix/src/util/stream_connect.c:85,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_connect.c:86,1
    - Dst: ioctl
      Src: /src/postfix/postfix/src/util/stream_connect.c:87,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_connect.c:88,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/stream_connect.c:89,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/util/stream_connect.c:95,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/stream_connect.c:100,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_connect.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - path
    - block_mode
    - unused_timeout
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 109
    functionName: stream_connect
    functionSourceFile: /src/postfix/postfix/src/util/stream_connect.c
    functionUses: 0
    functionsReached:
    - ioctl
    - close
    - pipe
    - open
    - non_blocking
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int stream_connect(const char *path, int block_mode, int unused_timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - db
    - ','
    - key
    - ','
    - val
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: DICT_DB_GET
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_DB_GET(db, key, val, flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - db
    - ','
    - key
    - ','
    - val
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: DICT_DB_PUT
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_DB_PUT(db, key, val, flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - db
    - ','
    - key
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: DICT_DB_DEL
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_DB_DEL(db, key, flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - db
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: DICT_DB_SYNC
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_DB_SYNC(db, flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - db
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: DICT_DB_CLOSE
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_DB_CLOSE(db)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - db
    - ','
    - key
    - ','
    - val
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: DICT_DB_GET
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_DB_GET(db, key, val, flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - db
    - ','
    - key
    - ','
    - val
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: DICT_DB_PUT
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_DB_PUT(db, key, val, flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - db
    - ','
    - key
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: DICT_DB_DEL
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_DB_DEL(db, key, flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - db
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: DICT_DB_SYNC
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_DB_SYNC(db, flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - db
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: DICT_DB_CLOSE
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_DB_CLOSE(db)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - db
    - ','
    - curs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: DICT_DB_CURSOR
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_DB_CURSOR(db, curs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - db
    - ','
    - curs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: DICT_DB_CURSOR
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_DB_CURSOR(db, curs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf
    - ','
    - data
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: SCOPY
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCOPY(buf, data, size)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 173
    functionName: sanitize
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sanitize(int status)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_db.c:194,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/dict_db.c:196,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/dict_db.c:197,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_db.c:204,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_db.c:205,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_db.c:206,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_db.c:206,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_db.c:213,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:214,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_db.c:222,1
    - Dst: DICT_DB_GET
      Src: /src/postfix/postfix/src/util/dict_db.c:223,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:224,1
    - Dst: SCOPY
      Src: /src/postfix/postfix/src/util/dict_db.c:227,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_db.c:237,1
    - Dst: DICT_DB_GET
      Src: /src/postfix/postfix/src/util/dict_db.c:238,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:239,1
    - Dst: SCOPY
      Src: /src/postfix/postfix/src/util/dict_db.c:242,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_db.c:250,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:251,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 2
    argNames:
    - dict
    - name
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 254
    functionName: dict_db_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_fatal
    - myflock
    - strlen
    - vstring_alloc
    - SCOPY
    - vstring_strcpy
    - memset
    - DICT_DB_GET
    - vstring_str
    - lowercase
    linkageType: ''
    returnType: char
    signature: char *dict_db_lookup(DICT *dict, const char *name)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_db.c:272,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_db.c:279,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_db.c:280,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_db.c:281,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_db.c:281,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/dict_db.c:283,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/dict_db.c:284,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_db.c:287,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_db.c:288,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_db.c:315,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:316,1
    - Dst: DICT_DB_PUT
      Src: /src/postfix/postfix/src/util/dict_db.c:321,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:323,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_db.c:328,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:330,1
    - Dst: DICT_DB_SYNC
      Src: /src/postfix/postfix/src/util/dict_db.c:333,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:334,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_db.c:340,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:341,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 3
    argNames:
    - dict
    - name
    - value
    argTypes:
    - DICT*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 344
    functionName: dict_db_update
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_fatal
    - myflock
    - msg_warn
    - strlen
    - DICT_DB_SYNC
    - vstring_alloc
    - DICT_DB_PUT
    - vstring_strcpy
    - memset
    - vstring_str
    - lowercase
    linkageType: ''
    returnType: int
    signature: int dict_db_update(DICT *dict, const char *name, const char *value)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_db.c:362,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_db.c:369,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_db.c:370,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_db.c:371,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_db.c:371,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/dict_db.c:373,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_db.c:379,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:380,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_db.c:388,1
    - Dst: DICT_DB_DEL
      Src: /src/postfix/postfix/src/util/dict_db.c:389,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:390,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_db.c:401,1
    - Dst: DICT_DB_DEL
      Src: /src/postfix/postfix/src/util/dict_db.c:402,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:403,1
    - Dst: DICT_DB_SYNC
      Src: /src/postfix/postfix/src/util/dict_db.c:408,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:409,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_db.c:415,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:416,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 2
    argNames:
    - dict
    - name
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 419
    functionName: dict_db_delete
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_fatal
    - myflock
    - strlen
    - DICT_DB_DEL
    - DICT_DB_SYNC
    - vstring_alloc
    - vstring_strcpy
    - memset
    - vstring_str
    - lowercase
    linkageType: ''
    returnType: int
    signature: int dict_db_delete(DICT *dict, const char *name)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postfix/postfix/src/util/dict_db.c:441,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/dict_db.c:442,1
    - Dst: DICT_DB_CURSOR
      Src: /src/postfix/postfix/src/util/dict_db.c:450,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_db.c:455,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_db.c:459,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_db.c:466,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:467,1
    - Dst: DICT_DB*::cursor::c_get
      Src: /src/postfix/postfix/src/util/dict_db.c:473,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:475,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_db.c:481,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:482,1
    - Dst: SCOPY
      Src: /src/postfix/postfix/src/util/dict_db.c:489,1
    - Dst: SCOPY
      Src: /src/postfix/postfix/src/util/dict_db.c:490,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_db.c:506,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_db.c:513,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:514,1
    - Dst: DB*::seq
      Src: /src/postfix/postfix/src/util/dict_db.c:516,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:517,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_db.c:523,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:524,1
    - Dst: SCOPY
      Src: /src/postfix/postfix/src/util/dict_db.c:531,1
    - Dst: SCOPY
      Src: /src/postfix/postfix/src/util/dict_db.c:532,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 4
    argNames:
    - dict
    - function
    - key
    - value
    argTypes:
    - DICT*
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 536
    functionName: dict_db_sequence
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - myflock
    - DICT_DB*::cursor::c_get
    - DICT_DB_CURSOR
    - SCOPY
    - memset
    - DB*::seq
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: "int dict_db_sequence(DICT *dict, int function,\n\t\t\t            const
      char **key, const char **value)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DICT_DB*::cursor::c_close
      Src: /src/postfix/postfix/src/util/dict_db.c:546,1
    - Dst: DICT_DB_SYNC
      Src: /src/postfix/postfix/src/util/dict_db.c:548,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:549,1
    - Dst: DICT_DB_CLOSE
      Src: /src/postfix/postfix/src/util/dict_db.c:561,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_db.c:562,1
    - Dst: DICT_DB*::dbenv::close
      Src: /src/postfix/postfix/src/util/dict_db.c:565,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_db.c:568,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_db.c:570,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_db.c:572,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/util/dict_db.c:573,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 574
    functionName: dict_db_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 0
    functionsReached:
    - DICT_DB_CLOSE
    - DICT_DB_SYNC
    - dict_free
    - DICT_DB*::cursor::c_close
    - msg_info
    - DICT_DB*::dbenv::close
    - msg_fatal
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_db_close(DICT *dict)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: db_env_create
      Src: /src/postfix/postfix/src/util/dict_db.c:588,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:589,1
    - Dst: DB_ENV*::get_cachesize
      Src: /src/postfix/postfix/src/util/dict_db.c:591,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:593,1
    - Dst: DB_ENV*::set_cache_max
      Src: /src/postfix/postfix/src/util/dict_db.c:595,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:597,1
    - Dst: DB_ENV*::set_cachesize
      Src: /src/postfix/postfix/src/util/dict_db.c:598,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:600,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_db.c:604,1
    - Dst: DB_ENV*::open
      Src: /src/postfix/postfix/src/util/dict_db.c:605,1
    - Dst: sane_dirname
      Src: /src/postfix/postfix/src/util/dict_db.c:605,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:607,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_db.c:608,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - db_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 610
    functionName: dict_db_new_env
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 0
    functionsReached:
    - DB_ENV*::open
    - vstring_alloc
    - sane_dirname
    - DB_ENV*::set_cachesize
    - db_env_create
    - DB_ENV*::get_cachesize
    - msg_fatal
    - DB_ENV*::set_cache_max
    - vstring_free
    linkageType: ''
    returnType: DB_ENV
    signature: DB_ENV *dict_db_new_env(const char *db_path)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: db_version
      Src: /src/postfix/postfix/src/util/dict_db.c:645,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_db.c:647,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_db.c:653,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_db.c:655,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_db.c:660,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/util/dict_db.c:663,1
    - Dst: open
      Src: /src/postfix/postfix/src/util/dict_db.c:696,1
    - Dst: LOCK_OPEN_FLAGS
      Src: /src/postfix/postfix/src/util/dict_db.c:696,1
    - Dst: FREE_RETURN
      Src: /src/postfix/postfix/src/util/dict_db.c:698,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_db.c:698,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_db.c:701,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:702,1
    - Dst: dbopen
      Src: /src/postfix/postfix/src/util/dict_db.c:713,1
    - Dst: FREE_RETURN
      Src: /src/postfix/postfix/src/util/dict_db.c:714,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_db.c:714,1
    - Dst: DB*::fd
      Src: /src/postfix/postfix/src/util/dict_db.c:716,1
    - Dst: db_open
      Src: /src/postfix/postfix/src/util/dict_db.c:730,1
    - Dst: FREE_RETURN
      Src: /src/postfix/postfix/src/util/dict_db.c:731,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_db.c:731,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_db.c:734,1
    - Dst: DB*::fd
      Src: /src/postfix/postfix/src/util/dict_db.c:735,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:736,1
    - Dst: db_create
      Src: /src/postfix/postfix/src/util/dict_db.c:750,1
    - Dst: dict_db_new_env
      Src: /src/postfix/postfix/src/util/dict_db.c:750,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:751,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_db.c:753,1
    - Dst: DB*::set_h_nelem
      Src: /src/postfix/postfix/src/util/dict_db.c:754,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:755,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_db.c:756,1
    - Dst: DB*::open
      Src: /src/postfix/postfix/src/util/dict_db.c:759,1
    - Dst: sane_basename
      Src: /src/postfix/postfix/src/util/dict_db.c:759,1
    - Dst: FREE_RETURN
      Src: /src/postfix/postfix/src/util/dict_db.c:761,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_db.c:761,1
    - Dst: DB*::open
      Src: /src/postfix/postfix/src/util/dict_db.c:764,1
    - Dst: sane_basename
      Src: /src/postfix/postfix/src/util/dict_db.c:764,1
    - Dst: FREE_RETURN
      Src: /src/postfix/postfix/src/util/dict_db.c:766,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_db.c:766,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_db.c:771,1
    - Dst: DB*::fd
      Src: /src/postfix/postfix/src/util/dict_db.c:772,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:773,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_db.c:776,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:777,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/dict_db.c:778,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:779,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/util/dict_db.c:782,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/util/dict_db.c:790,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_db.c:791,1
    - Dst: stat
      Src: /src/postfix/postfix/src/util/dict_db.c:802,1
    - Dst: time
      Src: /src/postfix/postfix/src/util/dict_db.c:804,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_db.c:805,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/util/dict_db.c:807,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/util/dict_db.c:808,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_db.c:813,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_db.c:824,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 94
    argCount: 6
    argNames:
    - class
    - path
    - open_flags
    - type
    - tweak
    - dict_flags
    argTypes:
    - char*
    - char*
    - int
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 826
    functionName: dict_db_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 0
    functionsReached:
    - DB*::fd
    - msg_info
    - close_on_exec
    - dict_surrogate
    - open
    - dict_db_new_env
    - DB*::set_h_nelem
    - dict_alloc
    - msg_panic
    - vstring_alloc
    - dbopen
    - concatenate
    - db_create
    - myflock
    - time
    - close
    - myfree
    - fstat
    - sane_basename
    - vstring_free
    - DB*::open
    - db_open
    - stat
    - msg_warn
    - FREE_RETURN
    - LOCK_OPEN_FLAGS
    - db_version
    - msg_fatal
    linkageType: ''
    returnType: DICT
    signature: "DICT *dict_db_open(const char *class, const char *path, int open_flags,\n\t\t\t
      \         int type, void *tweak, int dict_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 677
    functionName: LOCK_OPEN_FLAGS
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOCK_OPEN_FLAGS(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 684
    functionName: FREE_RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_RETURN(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 693
    functionName: FREE_RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_RETURN(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postfix/postfix/src/util/dict_db.c:835,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/dict_db.c:842,1
    - Dst: dict_db_open
      Src: /src/postfix/postfix/src/util/dict_db.c:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - path
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 830
    functionDepth: 3
    functionLinenumber: 830
    functionLinenumberEnd: 853
    functionName: dict_hash_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 0
    functionsReached:
    - memset
    - dict_db_open
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_hash_open(const char *path, int open_flags, int dict_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postfix/postfix/src/util/dict_db.c:862,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/dict_db.c:868,1
    - Dst: dict_db_open
      Src: /src/postfix/postfix/src/util/dict_db.c:877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - path
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 857
    functionDepth: 3
    functionLinenumber: 857
    functionLinenumberEnd: 879
    functionName: dict_btree_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_db.c
    functionUses: 0
    functionsReached:
    - memset
    - dict_db_open
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_btree_open(const char *path, int open_flags, int dict_flags)
  - 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: UNSIG_CHAR_PTR
    functionSourceFile: /src/postfix/postfix/src/util/base64_code.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNSIG_CHAR_PTR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base64_encode_opt
      Src: /src/postfix/postfix/src/util/base64_code.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - result
    - in
    - len
    argTypes:
    - VSTRING*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: base64_encode
    functionSourceFile: /src/postfix/postfix/src/util/base64_code.c
    functionUses: 0
    functionsReached:
    - base64_encode_opt
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *base64_encode(VSTRING *result, const char *in, ssize_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/base64_code.c:105,1
    - Dst: UNSIG_CHAR_PTR
      Src: /src/postfix/postfix/src/util/base64_code.c:106,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base64_code.c:107,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base64_code.c:109,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base64_code.c:111,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base64_code.c:112,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base64_code.c:114,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base64_code.c:115,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base64_code.c:119,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base64_code.c:120,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base64_code.c:121,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/base64_code.c:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - result
    - in
    - len
    - flags
    argTypes:
    - VSTRING*
    - char*
    - ssize_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 127
    functionName: base64_encode_opt
    functionSourceFile: /src/postfix/postfix/src/util/base64_code.c
    functionUses: 2
    functionsReached:
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - UNSIG_CHAR_PTR
    - VSTRING_ADDCH
    linkageType: ''
    returnType: VSTRING
    signature: "VSTRING *base64_encode_opt(VSTRING *result, const char *in, ssize_t
      len,\n\t\t\t           int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base64_decode_opt
      Src: /src/postfix/postfix/src/util/base64_code.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - result
    - in
    - len
    argTypes:
    - VSTRING*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: base64_decode
    functionSourceFile: /src/postfix/postfix/src/util/base64_code.c
    functionUses: 2
    functionsReached:
    - base64_decode_opt
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *base64_decode(VSTRING *result, const char *in, ssize_t len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/base64_code.c:164,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/base64_code.c:165,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/base64_code.c:174,1
    - Dst: UNSIG_CHAR_PTR
      Src: /src/postfix/postfix/src/util/base64_code.c:175,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base64_code.c:179,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base64_code.c:184,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base64_code.c:189,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/base64_code.c:191,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 4
    argNames:
    - result
    - in
    - len
    - flags
    argTypes:
    - VSTRING*
    - char*
    - ssize_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 193
    functionName: base64_decode_opt
    functionSourceFile: /src/postfix/postfix/src/util/base64_code.c
    functionUses: 1
    functionsReached:
    - VSTRING_ADDCH
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - memset
    - mymalloc
    - UNSIG_CHAR_PTR
    linkageType: ''
    returnType: VSTRING
    signature: "VSTRING *base64_decode_opt(VSTRING *result, const char *in, ssize_t
      len,\n\t\t\t           int flags)"
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/util/base64_code.c
    functionUses: 468
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/util/base64_code.c
    functionUses: 127
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/base64_code.c:206,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/base64_code.c:207,1
    - Dst: base64_encode
      Src: /src/postfix/postfix/src/util/base64_code.c:213,1
    - Dst: base64_decode
      Src: /src/postfix/postfix/src/util/base64_code.c:214,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base64_code.c:214,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/base64_code.c:214,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/base64_code.c:215,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base64_code.c:215,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/base64_code.c:216,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/base64_code.c:217,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/base64_code.c:218,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base64_code.c:220,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/base64_code.c:221,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base64_code.c:222,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/base64_code.c:223,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/base64_code.c:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 226
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/base64_code.c
    functionUses: 40
    functionsReached:
    - msg_panic
    - base64_encode
    - LEN
    - vstring_alloc
    - base64_decode
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geteuid
      Src: /src/postfix/postfix/src/util/set_ugid.c:49,1
    - Dst: seteuid
      Src: /src/postfix/postfix/src/util/set_ugid.c:50,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/set_ugid.c:51,1
    - Dst: setgid
      Src: /src/postfix/postfix/src/util/set_ugid.c:52,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/set_ugid.c:53,1
    - Dst: setgroups
      Src: /src/postfix/postfix/src/util/set_ugid.c:54,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/set_ugid.c:55,1
    - Dst: setuid
      Src: /src/postfix/postfix/src/util/set_ugid.c:56,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/set_ugid.c:57,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/set_ugid.c:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - uid
    - gid
    argTypes:
    - uid_t
    - gid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: set_ugid
    functionSourceFile: /src/postfix/postfix/src/util/set_ugid.c
    functionUses: 7
    functionsReached:
    - geteuid
    - setuid
    - setgroups
    - msg_info
    - seteuid
    - msg_fatal
    - setgid
    linkageType: ''
    returnType: void
    signature: void set_ugid(uid_t uid, gid_t gid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/util/quote_for_json.c
    functionUses: 469
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/quote_for_json.c:82,1
    - Dst: UNEXPECTED
      Src: /src/postfix/postfix/src/util/quote_for_json.c:86,1
    - Dst: ISCNTRL
      Src: /src/postfix/postfix/src/util/quote_for_json.c:86,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/quote_for_json.c:89,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/quote_for_json.c:90,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/quote_for_json.c:93,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/quote_for_json.c:94,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/quote_for_json.c:97,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/quote_for_json.c:98,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/quote_for_json.c:101,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/quote_for_json.c:102,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/quote_for_json.c:105,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/quote_for_json.c:106,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/quote_for_json.c:110,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/quote_for_json.c:117,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/quote_for_json.c:121,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/quote_for_json.c:126,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/quote_for_json.c:127,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 3
    argNames:
    - result
    - text
    - len
    argTypes:
    - VSTRING*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 128
    functionName: quote_for_json_append
    functionSourceFile: /src/postfix/postfix/src/util/quote_for_json.c
    functionUses: 1
    functionsReached:
    - VSTRING_ADDCH
    - strlen
    - ISCNTRL
    - UNEXPECTED
    - VSTRING_TERMINATE
    - vstring_sprintf_append
    - STR
    linkageType: ''
    returnType: char
    signature: char *quote_for_json_append(VSTRING *result, const char *text, ssize_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/quote_for_json.c:134,1
    - Dst: quote_for_json_append
      Src: /src/postfix/postfix/src/util/quote_for_json.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - result
    - text
    - len
    argTypes:
    - VSTRING*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: quote_for_json
    functionSourceFile: /src/postfix/postfix/src/util/quote_for_json.c
    functionUses: 0
    functionsReached:
    - VSTRING_RESET
    - quote_for_json_append
    linkageType: ''
    returnType: char
    signature: char *quote_for_json(VSTRING *result, const char *text, ssize_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/quote_for_json.c:189,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/quote_for_json.c:191,1
    - Dst: sane_basename
      Src: /src/postfix/postfix/src/util/quote_for_json.c:191,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/quote_for_json.c:197,1
    - Dst: TEST_CASE*::fn
      Src: /src/postfix/postfix/src/util/quote_for_json.c:198,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/quote_for_json.c:199,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/quote_for_json.c:200,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/quote_for_json.c:206,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/quote_for_json.c:209,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/quote_for_json.c:213,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/quote_for_json.c:214,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/quote_for_json.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 216
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/quote_for_json.c
    functionUses: 40
    functionsReached:
    - msg_warn
    - TEST_CASE*::fn
    - exit
    - vstring_alloc
    - msg_info
    - msg_vstream_init
    - strcmp
    - sane_basename
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dir_forest.c:74,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dir_forest.c:76,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dir_forest.c:83,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/dir_forest.c:93,1
    - Dst: ISPRINT
      Src: /src/postfix/postfix/src/util/dir_forest.c:98,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dir_forest.c:99,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/dir_forest.c:102,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/dir_forest.c:103,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/dir_forest.c:105,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dir_forest.c:108,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dir_forest.c:108,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dir_forest.c:109,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - buf
    - path
    - depth
    argTypes:
    - VSTRING*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 110
    functionName: dir_forest
    functionSourceFile: /src/postfix/postfix/src/util/dir_forest.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - VSTRING_ADDCH
    - ISPRINT
    - vstring_alloc
    - msg_info
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - vstring_str
    linkageType: ''
    returnType: char
    signature: char *dir_forest(VSTRING *buf, const char *path, int depth)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/postfix/postfix/src/util/write_buf.c:66,1
    - Dst: write_wait
      Src: /src/postfix/postfix/src/util/write_buf.c:69,1
    - Dst: write
      Src: /src/postfix/postfix/src/util/write_buf.c:71,1
    - Dst: time
      Src: /src/postfix/postfix/src/util/write_buf.c:81,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - fd
    - buf
    - len
    - timeout
    argTypes:
    - int
    - char*
    - ssize_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 89
    functionName: write_buf
    functionSourceFile: /src/postfix/postfix/src/util/write_buf.c
    functionUses: 1
    functionsReached:
    - time
    - write
    - write_wait
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t write_buf(int fd, const char *buf, ssize_t len, int timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr.c:62,1
    - Dst: SOCK_ADDR_IN6_ADDR
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr.c:62,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr.c:63,1
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr.c:63,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr.c:64,1
    - Dst: SOCK_ADDR_IN6_PORT
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr.c:66,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr.c:67,1
    - Dst: SOCK_ADDR_IN6_ADDR
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - sa
    - sa_len
    argTypes:
    - struct sockaddr*
    - SOCKADDR_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 75
    functionName: normalize_v4mapped_sockaddr
    functionSourceFile: /src/postfix/postfix/src/util/normalize_v4mapped_addr.c
    functionUses: 2
    functionsReached:
    - inet_proto_info
    - strchr
    - IN6_IS_ADDR_V4MAPPED
    - memset
    - memcpy
    - SOCK_ADDR_IN6_ADDR
    - SOCK_ADDR_IN6_PORT
    linkageType: ''
    returnType: int
    signature: int normalize_v4mapped_sockaddr(struct sockaddr *sa, SOCKADDR_SIZE
      *sa_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr.c:83,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr.c:84,1
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr.c:84,1
    - Dst: memmove
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr.c:85,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - addr
    argTypes:
    - MAI_HOSTADDR_STR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: normalize_v4mapped_hostaddr
    functionSourceFile: /src/postfix/postfix/src/util/normalize_v4mapped_addr.c
    functionUses: 0
    functionsReached:
    - inet_proto_info
    - memmove
    - strchr
    - strlen
    - strncasecmp
    linkageType: ''
    returnType: int
    signature: int normalize_v4mapped_hostaddr(MAI_HOSTADDR_STR *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - RING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: ring_init
    functionSourceFile: /src/postfix/postfix/src/util/ring.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ring_init(RING *ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ring
    - entry
    argTypes:
    - RING*
    - RING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: ring_append
    functionSourceFile: /src/postfix/postfix/src/util/ring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ring_append(RING *ring, RING *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ring
    - entry
    argTypes:
    - RING*
    - RING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: ring_prepend
    functionSourceFile: /src/postfix/postfix/src/util/ring.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ring_prepend(RING *ring, RING *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - entry
    argTypes:
    - RING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: ring_detach
    functionSourceFile: /src/postfix/postfix/src/util/ring.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ring_detach(RING *entry)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getrlimit
      Src: /src/postfix/postfix/src/util/open_limit.c:69,1
    - Dst: sysctlbyname
      Src: /src/postfix/postfix/src/util/open_limit.c:81,1
    - Dst: setrlimit
      Src: /src/postfix/postfix/src/util/open_limit.c:91,1
    - Dst: getdtablesize
      Src: /src/postfix/postfix/src/util/open_limit.c:98,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 100
    functionName: open_limit
    functionSourceFile: /src/postfix/postfix/src/util/open_limit.c
    functionUses: 0
    functionsReached:
    - getrlimit
    - sysctlbyname
    - getdtablesize
    - setrlimit
    linkageType: ''
    returnType: int
    signature: int open_limit(int limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fifo_listen
      Src: /src/postfix/postfix/src/util/stream_listen.c:79,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_listen.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - path
    - unused_backlog
    - block_mode
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: stream_listen
    functionSourceFile: /src/postfix/postfix/src/util/stream_listen.c
    functionUses: 1
    functionsReached:
    - fifo_listen
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int stream_listen(const char *path, int unused_backlog, int block_mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/postfix/postfix/src/util/stream_listen.c:96,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_listen.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: stream_accept
    functionSourceFile: /src/postfix/postfix/src/util/stream_listen.c
    functionUses: 1
    functionsReached:
    - msg_fatal
    - ioctl
    linkageType: ''
    returnType: int
    signature: int stream_accept(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: inet_proto_info
    functionSourceFile: /src/postfix/postfix/src/util/inet_proto.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inet_proto_info()
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/util/dict_random.c
    functionUses: 470
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_random.c:69,1
    - Dst: myrand
      Src: /src/postfix/postfix/src/util/dict_random.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dict
    - unused_query
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: dict_random_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_random.c
    functionUses: 0
    functionsReached:
    - myrand
    - DICT_ERR_VAL_RETURN
    linkageType: ''
    returnType: char
    signature: char *dict_random_lookup(DICT *dict, const char *unused_query)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argv_free
      Src: /src/postfix/postfix/src/util/dict_random.c:80,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/util/dict_random.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: dict_random_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_random.c
    functionUses: 0
    functionsReached:
    - dict_free
    - argv_free
    linkageType: ''
    returnType: void
    signature: void dict_random_close(DICT *dict)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/util/dict_random.c:89,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/dict_random.c:90,1
    - Dst: mystrtokq
      Src: /src/postfix/postfix/src/util/dict_random.c:96,1
    - Dst: dict_file_to_b64
      Src: /src/postfix/postfix/src/util/dict_random.c:98,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/dict_random.c:99,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_random.c:99,1
    - Dst: dict_file_get_error
      Src: /src/postfix/postfix/src/util/dict_random.c:101,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/dict_random.c:105,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/util/dict_random.c:108,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_random.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - dict
    - argv
    - string
    - delim
    - parens
    argTypes:
    - DICT*
    - ARGV**
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 112
    functionName: dict_random_parse_name
    functionSourceFile: /src/postfix/postfix/src/util/dict_random.c
    functionUses: 0
    functionsReached:
    - dict_file_to_b64
    - myfree
    - argv_alloc
    - argv_add
    - mystrtokq
    - vstring_str
    - dict_file_get_error
    - mystrdup
    - argv_terminate
    linkageType: ''
    returnType: char
    signature: "char *dict_random_parse_name(DICT *dict, ARGV **argv,\n\t\t\t\t            const
      char *string,\n\t\t\t\t            const char *delim,\n\t\t\t\t            const
      char *parens)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DICT_RANDOM_RETURN
      Src: /src/postfix/postfix/src/util/dict_random.c:139,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_random.c:139,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/util/dict_random.c:148,1
    - Dst: balpar
      Src: /src/postfix/postfix/src/util/dict_random.c:159,1
    - Dst: mystrndup
      Src: /src/postfix/postfix/src/util/dict_random.c:160,1
    - Dst: dict_random_parse_name
      Src: /src/postfix/postfix/src/util/dict_random.c:161,1
    - Dst: dict_random_close
      Src: /src/postfix/postfix/src/util/dict_random.c:165,1
    - Dst: DICT_RANDOM_RETURN
      Src: /src/postfix/postfix/src/util/dict_random.c:166,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_random.c:167,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_random.c:173,1
    - Dst: dict_file_purge_buffers
      Src: /src/postfix/postfix/src/util/dict_random.c:177,1
    - Dst: DICT_RANDOM_RETURN
      Src: /src/postfix/postfix/src/util/dict_random.c:178,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - name
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 116
    functionDepth: 4
    functionLinenumber: 116
    functionLinenumberEnd: 179
    functionName: dict_random_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_random.c
    functionUses: 0
    functionsReached:
    - dict_random_parse_name
    - DICT_RANDOM_RETURN
    - dict_random_close
    - balpar
    - dict_file_purge_buffers
    - mystrndup
    - dict_surrogate
    - dict_alloc
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_random_open(const char *name, int open_flags, int dict_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: DICT_RANDOM_RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict_random.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_RANDOM_RETURN(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/postfix/postfix/src/util/mkmap_dbm.c:70,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/mkmap_dbm.c:71,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/mkmap_dbm.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - mp
    argTypes:
    - MKMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: mkmap_dbm_after_close
    functionSourceFile: /src/postfix/postfix/src/util/mkmap_dbm.c
    functionUses: 0
    functionsReached:
    - myfree
    - close
    - msg_warn
    linkageType: ''
    returnType: void
    signature: void mkmap_dbm_after_close(MKMAP *mp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/mkmap_dbm.c:79,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/util/mkmap_dbm.c:86,1
    - Dst: open
      Src: /src/postfix/postfix/src/util/mkmap_dbm.c:96,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/mkmap_dbm.c:97,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/util/mkmap_dbm.c:99,1
    - Dst: open
      Src: /src/postfix/postfix/src/util/mkmap_dbm.c:100,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/mkmap_dbm.c:101,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/mkmap_dbm.c:102,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/mkmap_dbm.c:103,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/mkmap_dbm.c:104,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/mkmap_dbm.c:110,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/mkmap_dbm.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 114
    functionName: mkmap_dbm_open
    functionSourceFile: /src/postfix/postfix/src/util/mkmap_dbm.c
    functionUses: 0
    functionsReached:
    - myflock
    - msg_warn
    - close
    - myfree
    - open
    - concatenate
    - mymalloc
    - msg_fatal
    linkageType: ''
    returnType: MKMAP
    signature: MKMAP *mkmap_dbm_open(const char *path)
  - 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: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: VA_COPY
    functionSourceFile: /src/postfix/postfix/src/util/compat_va_copy.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VA_COPY(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: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: VA_COPY
    functionSourceFile: /src/postfix/postfix/src/util/compat_va_copy.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VA_COPY(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: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: VA_COPY
    functionSourceFile: /src/postfix/postfix/src/util/compat_va_copy.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VA_COPY(dest, src)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/unescape.c:78,1
    - Dst: UCHAR
      Src: /src/postfix/postfix/src/util/unescape.c:80,1
    - Dst: UCHAR
      Src: /src/postfix/postfix/src/util/unescape.c:82,1
    - Dst: UCHAR
      Src: /src/postfix/postfix/src/util/unescape.c:115,1
    - Dst: ISOCTAL
      Src: /src/postfix/postfix/src/util/unescape.c:115,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/unescape.c:125,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/unescape.c:127,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 2
    argNames:
    - result
    - data
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 129
    functionName: unescape
    functionSourceFile: /src/postfix/postfix/src/util/unescape.c
    functionUses: 4
    functionsReached:
    - VSTRING_ADDCH
    - UCHAR
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - ISOCTAL
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *unescape(VSTRING *result, const char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: UCHAR
    functionSourceFile: /src/postfix/postfix/src/util/unescape.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UCHAR(cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: ISOCTAL
    functionSourceFile: /src/postfix/postfix/src/util/unescape.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISOCTAL(ch)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/unescape.c:137,1
    - Dst: UCHAR
      Src: /src/postfix/postfix/src/util/unescape.c:139,1
    - Dst: ISASCII
      Src: /src/postfix/postfix/src/util/unescape.c:140,1
    - Dst: ISPRINT
      Src: /src/postfix/postfix/src/util/unescape.c:141,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/unescape.c:143,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/unescape.c:144,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/util/unescape.c:147,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/util/unescape.c:150,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/util/unescape.c:153,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/util/unescape.c:156,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/util/unescape.c:159,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/util/unescape.c:162,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/util/unescape.c:165,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/unescape.c:169,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/unescape.c:171,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 3
    argNames:
    - result
    - data
    - len
    argTypes:
    - VSTRING*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 173
    functionName: escape
    functionSourceFile: /src/postfix/postfix/src/util/unescape.c
    functionUses: 10
    functionsReached:
    - VSTRING_ADDCH
    - ISPRINT
    - UCHAR
    - ISASCII
    - VSTRING_RESET
    - vstring_strcat
    - VSTRING_TERMINATE
    - vstring_sprintf_append
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *escape(VSTRING *result, const char *data, ssize_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/unescape.c:184,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/unescape.c:185,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/unescape.c:188,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unescape.c:189,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/util/unescape.c:192,1
    - Dst: unescape
      Src: /src/postfix/postfix/src/util/unescape.c:193,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/unescape.c:193,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/util/unescape.c:194,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/unescape.c:194,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/unescape.c:194,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/unescape.c:195,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/util/unescape.c:198,1
    - Dst: escape
      Src: /src/postfix/postfix/src/util/unescape.c:199,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/unescape.c:199,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/unescape.c:199,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/util/unescape.c:200,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/unescape.c:200,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/unescape.c:200,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/unescape.c:201,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/unescape.c:204,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/unescape.c:205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 206
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/unescape.c
    functionUses: 40
    functionsReached:
    - VSTREAM_PUTC
    - vstring_str
    - vstring_fgets_nonl
    - VSTRING_LEN
    - vstream_fflush
    - vstring_alloc
    - exit
    - vstream_fwrite
    - strcmp
    - unescape
    - msg_fatal
    - escape
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/postfix/postfix/src/util/split_at.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - string
    - delimiter
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: split_at
    functionSourceFile: /src/postfix/postfix/src/util/split_at.c
    functionUses: 42
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char
    signature: char *split_at(char *string, int delimiter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/postfix/postfix/src/util/split_at.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - string
    - delimiter
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: split_at_right
    functionSourceFile: /src/postfix/postfix/src/util/split_at.c
    functionUses: 7
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: char
    signature: char *split_at_right(char *string, int delimiter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/util/argv_split.c:65,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/argv_split.c:66,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/util/argv_split.c:70,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/argv_split.c:71,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/util/argv_split.c:72,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/argv_split.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - string
    - delim
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: argv_split
    functionSourceFile: /src/postfix/postfix/src/util/argv_split.c
    functionUses: 32
    functionsReached:
    - myfree
    - argv_alloc
    - argv_add
    - mystrtok
    - mystrdup
    - argv_terminate
    linkageType: ''
    returnType: ARGV
    signature: ARGV *argv_split(const char *string, const char *delim)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/util/argv_split.c:81,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/argv_split.c:82,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/argv_split.c:87,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/util/argv_split.c:88,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/argv_split.c:89,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/util/argv_split.c:91,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/argv_split.c:93,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/util/argv_split.c:94,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/argv_split.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - string
    - delim
    - count
    argTypes:
    - char*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 97
    functionName: argv_split_count
    functionSourceFile: /src/postfix/postfix/src/util/argv_split.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - strspn
    - myfree
    - argv_alloc
    - argv_add
    - mystrtok
    - mystrdup
    - argv_terminate
    linkageType: ''
    returnType: ARGV
    signature: ARGV *argv_split_count(const char *string, const char *delim, ssize_t
      count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/argv_split.c:103,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/util/argv_split.c:107,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/argv_split.c:108,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/util/argv_split.c:109,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/argv_split.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - argvp
    - string
    - delim
    argTypes:
    - ARGV*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: argv_split_append
    functionSourceFile: /src/postfix/postfix/src/util/argv_split.c
    functionUses: 2
    functionsReached:
    - myfree
    - argv_add
    - mystrtok
    - mystrdup
    - argv_terminate
    linkageType: ''
    returnType: ARGV
    signature: ARGV *argv_split_append(ARGV *argvp, const char *string, const char
      *delim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - tp
    argTypes:
    - struct ipv4addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: clone_ipv4addrinfo
    functionSourceFile: /src/postfix/postfix/src/util/myaddrinfo.c
    functionUses: 0
    functionsReached:
    - mymalloc
    linkageType: ''
    returnType: struct ipv4addrinfo
    signature: struct ipv4addrinfo *clone_ipv4addrinfo(struct ipv4addrinfo * tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - ip
    - socktype
    argTypes:
    - struct ipv4addrinfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 269
    functionName: init_ipv4addrinfo
    functionSourceFile: /src/postfix/postfix/src/util/myaddrinfo.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void init_ipv4addrinfo(struct ipv4addrinfo * ip, int socktype)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: filter_known_tcp_port
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:279,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:280,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:281,1
    - Dst: htons
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:282,1
    - Dst: getservbyname
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - service
    - socktype
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 296
    functionName: find_service
    functionSourceFile: /src/postfix/postfix/src/util/myaddrinfo.c
    functionUses: 0
    functionsReached:
    - htons
    - filter_known_tcp_port
    - getservbyname
    - alldig
    - atoi
    linkageType: ''
    returnType: int
    signature: int find_service(const char *service, int socktype)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: find_service
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:323,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:334,1
    - Dst: init_ipv4addrinfo
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:335,1
    - Dst: inet_pton
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:345,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:346,1
    - Dst: init_ipv4addrinfo
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:347,1
    - Dst: gethostbyname
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:357,1
    - Dst: clone_ipv4addrinfo
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:374,1
    - Dst: IN_ADDR
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:375,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:434,1
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:435,1
    - Dst: filter_known_tcp_port
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:455,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:456,1
    - Dst: getaddrinfo
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:459,1
    - Dst: SOCK_ADDR_PORTP
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:466,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 5
    argNames:
    - hostname
    - pf
    - service
    - socktype
    - res
    argTypes:
    - char*
    - int
    - char*
    - int
    - struct addrinfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 472
    functionName: hostname_to_sockaddr_pf
    functionSourceFile: /src/postfix/postfix/src/util/myaddrinfo.c
    functionUses: 1
    functionsReached:
    - inet_proto_info
    - find_service
    - init_ipv4addrinfo
    - clone_ipv4addrinfo
    - filter_known_tcp_port
    - getaddrinfo
    - IN_ADDR
    - alldig
    - gethostbyname
    - memset
    - mymalloc
    - SOCK_ADDR_PORTP
    - inet_pton
    linkageType: ''
    returnType: int
    signature: "int hostname_to_sockaddr_pf(const char *hostname, int pf,\n\t\t\t\t
      \       const char *service, int socktype,\n\t\t\t\t        struct addrinfo
      ** res)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: find_service
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:492,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:503,1
    - Dst: init_ipv4addrinfo
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:504,1
    - Dst: inet_pton
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:514,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:526,1
    - Dst: init_ipv4addrinfo
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:527,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:554,1
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:555,1
    - Dst: filter_known_tcp_port
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:576,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:577,1
    - Dst: getaddrinfo
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:580,1
    - Dst: SOCK_ADDR_PORTP
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:587,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 59
    argCount: 4
    argNames:
    - hostaddr
    - service
    - socktype
    - res
    argTypes:
    - char*
    - char*
    - int
    - struct addrinfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 593
    functionName: hostaddr_to_sockaddr
    functionSourceFile: /src/postfix/postfix/src/util/myaddrinfo.c
    functionUses: 10
    functionsReached:
    - inet_proto_info
    - find_service
    - init_ipv4addrinfo
    - filter_known_tcp_port
    - getaddrinfo
    - alldig
    - memset
    - mymalloc
    - SOCK_ADDR_PORTP
    - inet_pton
    linkageType: ''
    returnType: int
    signature: "int hostaddr_to_sockaddr(const char *hostaddr, const char *service,\n\t\t\t
      \            int socktype, struct addrinfo ** res)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:615,1
    - Dst: SOCK_ADDR_IN_ADDR
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:615,1
    - Dst: sprintf
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:620,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:620,1
    - Dst: SOCK_ADDR_IN_PORT
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:620,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:621,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:625,1
    - Dst: getnameinfo
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:634,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:641,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 5
    argNames:
    - sa
    - salen
    - hostaddr
    - portnum
    - unused_socktype
    argTypes:
    - struct sockaddr*
    - SOCKADDR_SIZE
    - MAI_HOSTADDR_STR*
    - MAI_SERVPORT_STR*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 644
    functionName: sockaddr_to_hostaddr
    functionSourceFile: /src/postfix/postfix/src/util/myaddrinfo.c
    functionUses: 10
    functionsReached:
    - SOCK_ADDR_IN_PORT
    - strlen
    - sprintf
    - SOCK_ADDR_IN_ADDR
    - ntohs
    - inet_ntop
    - memcpy
    - split_at
    - getnameinfo
    linkageType: ''
    returnType: int
    signature: "int sockaddr_to_hostaddr(const struct sockaddr *sa, SOCKADDR_SIZE
      salen,\n\t\t\t             MAI_HOSTADDR_STR *hostaddr,\n\t\t\t             MAI_SERVPORT_STR
      *portnum,\n\t\t\t             int unused_socktype)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gethostbyaddr
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:672,1
    - Dst: SOCK_ADDR_IN_ADDR
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:672,1
    - Dst: SOCK_ADDR_IN_ADDR
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:673,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:682,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:686,1
    - Dst: getservbyport
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:693,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:693,1
    - Dst: SOCK_ADDR_IN_PORT
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:693,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:701,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:705,1
    - Dst: getnameinfo
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:714,1
    - Dst: valid_hostaddr
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:729,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:730,1
    - Dst: valid_hostname
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:733,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 5
    argNames:
    - sa
    - salen
    - hostname
    - service
    - socktype
    argTypes:
    - struct sockaddr*
    - SOCKADDR_SIZE
    - MAI_HOSTNAME_STR*
    - MAI_SERVNAME_STR*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 737
    functionName: sockaddr_to_hostname
    functionSourceFile: /src/postfix/postfix/src/util/myaddrinfo.c
    functionUses: 2
    functionsReached:
    - msg_warn
    - SOCK_ADDR_IN_PORT
    - strlen
    - valid_hostaddr
    - valid_hostname
    - SOCK_ADDR_IN_ADDR
    - ntohs
    - memcpy
    - getservbyport
    - getnameinfo
    - gethostbyaddr
    linkageType: ''
    returnType: int
    signature: "int sockaddr_to_hostname(const struct sockaddr *sa, SOCKADDR_SIZE
      salen,\n\t\t\t             MAI_HOSTNAME_STR *hostname,\n\t\t\t             MAI_SERVNAME_STR
      *service,\n\t\t\t             int socktype)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:746,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:746,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:749,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 753
    functionName: myaddrinfo_control
    functionSourceFile: /src/postfix/postfix/src/util/myaddrinfo.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - va_arg
    - msg_panic
    linkageType: ''
    returnType: void
    signature: void myaddrinfo_control(int name,...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:770,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 774
    functionName: freeaddrinfo
    functionSourceFile: /src/postfix/postfix/src/util/myaddrinfo.c
    functionUses: 13
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void freeaddrinfo(struct addrinfo * ai)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ecode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 806
    functionName: gai_strerror
    functionSourceFile: /src/postfix/postfix/src/util/myaddrinfo.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gai_strerror(int ecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 827
    functionName: compare_family
    functionSourceFile: /src/postfix/postfix/src/util/myaddrinfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_family(const void *a, const void *b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:842,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:845,1
    - Dst: inet_proto_init
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:847,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:849,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:853,1
    - Dst: hostname_to_sockaddr
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:854,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:855,1
    - Dst: STR_OR_NULL
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:856,1
    - Dst: strerror
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:857,1
    - Dst: gai_strerror
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:857,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:861,1
    - Dst: qsort
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:864,1
    - Dst: sockaddr_to_hostaddr
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:867,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:869,1
    - Dst: strerror
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:870,1
    - Dst: gai_strerror
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:870,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:873,1
    - Dst: STR_OR_NULL
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:874,1
    - Dst: sockaddr_to_hostname
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:876,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:878,1
    - Dst: strerror
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:879,1
    - Dst: gai_strerror
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:879,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:882,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:884,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:885,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:888,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:890,1
    - Dst: hostaddr_to_sockaddr
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:891,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:892,1
    - Dst: STR_OR_NULL
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:893,1
    - Dst: strerror
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:894,1
    - Dst: gai_strerror
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:894,1
    - Dst: sockaddr_to_hostaddr
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:896,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:898,1
    - Dst: strerror
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:899,1
    - Dst: gai_strerror
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:899,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:901,1
    - Dst: STR_OR_NULL
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:901,1
    - Dst: sockaddr_to_hostname
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:903,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:905,1
    - Dst: strerror
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:906,1
    - Dst: gai_strerror
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:906,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:908,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:909,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/myaddrinfo.c:912,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 829
    functionDepth: 3
    functionLinenumber: 829
    functionLinenumberEnd: 913
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/myaddrinfo.c
    functionUses: 40
    functionsReached:
    - msg_warn
    - strerror
    - exit
    - hostaddr_to_sockaddr
    - msg_info
    - msg_vstream_init
    - STR_OR_NULL
    - qsort
    - inet_proto_init
    - sockaddr_to_hostaddr
    - gai_strerror
    - myfree
    - mymalloc
    - split_at
    - msg_fatal
    - hostname_to_sockaddr
    - freeaddrinfo
    - sockaddr_to_hostname
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 852
    functionName: STR_OR_NULL
    functionSourceFile: /src/postfix/postfix/src/util/myaddrinfo.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_OR_NULL(s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SOCK_ADDR_IN_ADDR
      Src: /src/postfix/postfix/src/util/sock_addr.c:123,1
    - Dst: SOCK_ADDR_IN_ADDR
      Src: /src/postfix/postfix/src/util/sock_addr.c:123,1
    - Dst: memcmp
      Src: /src/postfix/postfix/src/util/sock_addr.c:126,1
    - Dst: SOCK_ADDR_IN6_ADDR
      Src: /src/postfix/postfix/src/util/sock_addr.c:126,1
    - Dst: SOCK_ADDR_IN6_ADDR
      Src: /src/postfix/postfix/src/util/sock_addr.c:127,1
    - Dst: SOCK_ADDR_IN6_ADDR
      Src: /src/postfix/postfix/src/util/sock_addr.c:128,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/sock_addr.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - sa
    - sb
    argTypes:
    - struct sockaddr*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 134
    functionName: sock_addr_cmp_addr
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.c
    functionUses: 1
    functionsReached:
    - SOCK_ADDR_IN6_ADDR
    - SOCK_ADDR_IN_ADDR
    - memcmp
    - msg_panic
    linkageType: ''
    returnType: int
    signature: "int sock_addr_cmp_addr(const struct sockaddr *sa,\n\t\t\t           const
      struct sockaddr *sb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SOCK_ADDR_IN_PORT
      Src: /src/postfix/postfix/src/util/sock_addr.c:145,1
    - Dst: SOCK_ADDR_IN_PORT
      Src: /src/postfix/postfix/src/util/sock_addr.c:145,1
    - Dst: SOCK_ADDR_IN6_PORT
      Src: /src/postfix/postfix/src/util/sock_addr.c:148,1
    - Dst: SOCK_ADDR_IN6_PORT
      Src: /src/postfix/postfix/src/util/sock_addr.c:148,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/sock_addr.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - sa
    - sb
    argTypes:
    - struct sockaddr*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 154
    functionName: sock_addr_cmp_port
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - SOCK_ADDR_IN_PORT
    - SOCK_ADDR_IN6_PORT
    linkageType: ''
    returnType: int
    signature: "int sock_addr_cmp_port(const struct sockaddr *sa,\n\t\t\t           const
      struct sockaddr *sb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/postfix/postfix/src/util/sock_addr.c:163,1
    - Dst: SOCK_ADDR_IN_ADDR
      Src: /src/postfix/postfix/src/util/sock_addr.c:163,1
    - Dst: IN_CLASSA
      Src: /src/postfix/postfix/src/util/sock_addr.c:164,1
    - Dst: IN6_IS_ADDR_LOOPBACK
      Src: /src/postfix/postfix/src/util/sock_addr.c:169,1
    - Dst: SOCK_ADDR_IN6_ADDR
      Src: /src/postfix/postfix/src/util/sock_addr.c:169,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/sock_addr.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - sa
    argTypes:
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 175
    functionName: sock_addr_in_loopback
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - IN6_IS_ADDR_LOOPBACK
    - IN_CLASSA
    - SOCK_ADDR_IN6_ADDR
    - SOCK_ADDR_IN_ADDR
    - ntohl
    linkageType: ''
    returnType: int
    signature: int sock_addr_in_loopback(const struct sockaddr *sa)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/split_qnameval.c:66,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/split_qnameval.c:75,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/split_qnameval.c:86,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/split_qnameval.c:93,1
    - Dst: trimblanks
      Src: /src/postfix/postfix/src/util/split_qnameval.c:94,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 3
    argNames:
    - buf
    - pkey
    - pvalue
    argTypes:
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 98
    functionName: split_qnameval
    functionSourceFile: /src/postfix/postfix/src/util/split_qnameval.c
    functionUses: 0
    functionsReached:
    - trimblanks
    - ISSPACE
    linkageType: ''
    returnType: char
    signature: char *split_qnameval(char *buf, char **pkey, char **pvalue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/split_qnameval.c:112,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/split_qnameval.c:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - test_number
    - what
    - expect
    - real
    argTypes:
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 120
    functionName: compare
    functionSourceFile: /src/postfix/postfix/src/util/split_qnameval.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int compare(int test_number, const char *what,\n\t\t           const
      char *expect, const char *real)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/split_qnameval.c:156,1
    - Dst: split_qnameval
      Src: /src/postfix/postfix/src/util/split_qnameval.c:159,1
    - Dst: compare
      Src: /src/postfix/postfix/src/util/split_qnameval.c:160,1
    - Dst: compare
      Src: /src/postfix/postfix/src/util/split_qnameval.c:161,1
    - Dst: compare
      Src: /src/postfix/postfix/src/util/split_qnameval.c:162,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/split_qnameval.c:163,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/split_qnameval.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 166
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/split_qnameval.c
    functionUses: 40
    functionsReached:
    - exit
    - myfree
    - split_qnameval
    - mystrdup
    - compare
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/unix_dgram_connect.c:72,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_dgram_connect.c:73,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/unix_dgram_connect.c:74,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/unix_dgram_connect.c:79,1
    - Dst: socket
      Src: /src/postfix/postfix/src/util/unix_dgram_connect.c:84,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_dgram_connect.c:85,1
    - Dst: connect
      Src: /src/postfix/postfix/src/util/unix_dgram_connect.c:86,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/unix_dgram_connect.c:87,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/util/unix_dgram_connect.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - path
    - block_mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 92
    functionName: unix_dgram_connect
    functionSourceFile: /src/postfix/postfix/src/util/unix_dgram_connect.c
    functionUses: 0
    functionsReached:
    - strlen
    - close
    - socket
    - non_blocking
    - connect
    - memset
    - memcpy
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int unix_dgram_connect(const char *path, int block_mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read_wait
      Src: /src/postfix/postfix/src/util/timed_read.c:73,1
    - Dst: read
      Src: /src/postfix/postfix/src/util/timed_read.c:75,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/timed_read.c:76,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/timed_read.c:77,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/util/timed_read.c:78,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 5
    argNames:
    - fd
    - buf
    - len
    - timeout
    - unused_context
    argTypes:
    - int
    - void*
    - size_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 86
    functionName: timed_read
    functionSourceFile: /src/postfix/postfix/src/util/timed_read.c
    functionUses: 4
    functionsReached:
    - sleep
    - read
    - msg_warn
    - read_wait
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t timed_read(int fd, void *buf, size_t len,\n\t\t           int
      timeout, void *unused_context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strerror
      Src: /src/postfix/postfix/src/util/mystrerror.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: mystrerror
    functionSourceFile: /src/postfix/postfix/src/util/mystrerror.c
    functionUses: 1
    functionsReached:
    - strerror
    linkageType: ''
    returnType: char
    signature: char *mystrerror(int errnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geteuid
      Src: /src/postfix/postfix/src/util/open_as.c:50,1
    - Dst: getegid
      Src: /src/postfix/postfix/src/util/open_as.c:51,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/util/open_as.c:57,1
    - Dst: open
      Src: /src/postfix/postfix/src/util/open_as.c:62,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/util/open_as.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - path
    - flags
    - mode
    - euid
    - egid
    argTypes:
    - char*
    - int
    - int
    - uid_t
    - gid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 70
    functionName: open_as
    functionSourceFile: /src/postfix/postfix/src/util/open_as.c
    functionUses: 1
    functionsReached:
    - geteuid
    - open
    - getegid
    - set_eugid
    linkageType: ''
    returnType: int
    signature: int open_as(const char *path, int flags, int mode, uid_t euid, gid_t
      egid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_env.c:60,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_env.c:61,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_env.c:62,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_env.c:62,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/util/dict_env.c:64,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_env.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - dict
    - name
    - value
    argTypes:
    - DICT*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 68
    functionName: dict_env_update
    functionSourceFile: /src/postfix/postfix/src/util/dict_env.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - vstring_alloc
    - vstring_strcpy
    - vstring_str
    - lowercase
    - setenv
    linkageType: ''
    returnType: int
    signature: int dict_env_update(DICT *dict, const char *name, const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_env.c:81,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_env.c:82,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_env.c:83,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_env.c:83,1
    - Dst: safe_getenv
      Src: /src/postfix/postfix/src/util/dict_env.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - dict
    - name
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: dict_env_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_env.c
    functionUses: 0
    functionsReached:
    - vstring_alloc
    - safe_getenv
    - vstring_strcpy
    - vstring_str
    - lowercase
    linkageType: ''
    returnType: char
    signature: char *dict_env_lookup(DICT *dict, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_env.c:93,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/util/dict_env.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: dict_env_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_env.c
    functionUses: 0
    functionsReached:
    - dict_free
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_env_close(DICT *dict)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/util/dict_env.c:103,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_env.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - name
    - unused_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 112
    functionName: dict_env_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_env.c
    functionUses: 0
    functionsReached:
    - vstring_alloc
    - dict_alloc
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_env_open(const char *name, int unused_flags, int dict_flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/postfix/postfix/src/util/neuter.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - string
    - bad
    - replacement
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: neuter
    functionSourceFile: /src/postfix/postfix/src/util/neuter.c
    functionUses: 5
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char
    signature: char *neuter(char *string, const char *bad, int replacement)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/mvect.c:81,1
    - Dst: MVECT*::init_fn
      Src: /src/postfix/postfix/src/util/mvect.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - vect
    - elsize
    - nelm
    argTypes:
    - MVECT*
    - ssize_t
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: mvect_alloc
    functionSourceFile: /src/postfix/postfix/src/util/mvect.c
    functionUses: 1
    functionsReached:
    - mymalloc
    - MVECT*::init_fn
    linkageType: ''
    returnType: char
    signature: "char *mvect_alloc(MVECT *vect, ssize_t elsize, ssize_t nelm,\n        void
      (*init_fn) (char *, ssize_t), void (*wipe_fn) (char *, ssize_t))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: myrealloc
      Src: /src/postfix/postfix/src/util/mvect.c:101,1
    - Dst: MVECT*::init_fn
      Src: /src/postfix/postfix/src/util/mvect.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - vect
    - nelm
    argTypes:
    - MVECT*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 107
    functionName: mvect_realloc
    functionSourceFile: /src/postfix/postfix/src/util/mvect.c
    functionUses: 1
    functionsReached:
    - myrealloc
    - MVECT*::init_fn
    linkageType: ''
    returnType: char
    signature: char *mvect_realloc(MVECT *vect, ssize_t nelm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MVECT*::wipe_fn
      Src: /src/postfix/postfix/src/util/mvect.c:114,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/mvect.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vect
    argTypes:
    - MVECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: mvect_free
    functionSourceFile: /src/postfix/postfix/src/util/mvect.c
    functionUses: 0
    functionsReached:
    - myfree
    - MVECT*::wipe_fn
    linkageType: ''
    returnType: char
    signature: char *mvect_free(MVECT *vect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: normalize_v4mapped_sockaddr
      Src: /src/postfix/postfix/src/util/sane_sockaddr_to_hostaddr.c:63,1
    - Dst: sockaddr_to_hostaddr
      Src: /src/postfix/postfix/src/util/sane_sockaddr_to_hostaddr.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - addr_storage
    - addr_storage_len
    - addr_buf
    - port_buf
    - socktype
    argTypes:
    - struct sockaddr*
    - SOCKADDR_SIZE*
    - MAI_HOSTADDR_STR*
    - MAI_SERVPORT_STR*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: sane_sockaddr_to_hostaddr
    functionSourceFile: /src/postfix/postfix/src/util/sane_sockaddr_to_hostaddr.c
    functionUses: 2
    functionsReached:
    - sockaddr_to_hostaddr
    - normalize_v4mapped_sockaddr
    linkageType: ''
    returnType: int
    signature: "int sane_sockaddr_to_hostaddr(struct sockaddr *addr_storage,\n\t\t\t\t
      \         SOCKADDR_SIZE *addr_storage_len,\n\t\t\t\t          MAI_HOSTADDR_STR
      *addr_buf,\n\t\t\t\t          MAI_SERVPORT_STR *port_buf,\n\t\t\t\t          int
      socktype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/ip_match.c:146,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/ip_match.c:146,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/ip_match.c:147,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ip_match.c:147,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/ip_match.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - byte_codes
    argTypes:
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: ip_match_save
    functionSourceFile: /src/postfix/postfix/src/util/ip_match.c
    functionUses: 2
    functionsReached:
    - mymalloc
    - STR
    - LEN
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *ip_match_save(const VSTRING *byte_codes)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/ip_match.c:163,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/ip_match.c:170,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/ip_match.c:178,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/ip_match.c:186,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/ip_match.c:190,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/ip_match.c:195,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/ip_match.c:204,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ip_match.c:205,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/ip_match.c:209,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/ip_match.c:211,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/ip_match.c:218,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ip_match.c:219,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/ip_match.c:227,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ip_match.c:228,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ip_match.c:229,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/ip_match.c:232,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ip_match.c:233,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/ip_match.c:238,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - printable
    - byte_codes
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 240
    functionName: ip_match_dump
    functionSourceFile: /src/postfix/postfix/src/util/ip_match.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - VSTRING_RESET
    - vstring_sprintf_append
    - STR
    linkageType: ''
    returnType: char
    signature: char *ip_match_dump(VSTRING *printable, const char *byte_codes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/ip_match.c:255,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/ip_match.c:257,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/ip_match.c:265,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ip_match.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - byte_codes
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 268
    functionName: ip_match_print_code_prefix
    functionSourceFile: /src/postfix/postfix/src/util/ip_match.c
    functionUses: 0
    functionsReached:
    - VSTRING_RESET
    - vstring_sprintf_append
    - vstring_alloc
    - STR
    linkageType: ''
    returnType: char
    signature: char *ip_match_print_code_prefix(const char *byte_codes, size_t len)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/ip_match.c:285,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/ip_match.c:333,1
    - Dst: ip_match_print_code_prefix
      Src: /src/postfix/postfix/src/util/ip_match.c:335,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/ip_match.c:348,1
    - Dst: ip_match_print_code_prefix
      Src: /src/postfix/postfix/src/util/ip_match.c:349,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 2
    argNames:
    - byte_codes
    - addr_bytes
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 353
    functionName: ip_match_execute
    functionSourceFile: /src/postfix/postfix/src/util/ip_match.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - ip_match_print_code_prefix
    linkageType: ''
    returnType: int
    signature: int ip_match_execute(const char *byte_codes, const char *addr_bytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/util/ip_match.c:383,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/util/ip_match.c:386,1
    - Dst: IP_MATCH_RETURN_TOK_VAL
      Src: /src/postfix/postfix/src/util/ip_match.c:392,1
    - Dst: IP_MATCH_RETURN_TOK
      Src: /src/postfix/postfix/src/util/ip_match.c:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - pstart
    - psaved_start
    - poval
    argTypes:
    - char**
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 396
    functionName: ip_match_next_token
    functionSourceFile: /src/postfix/postfix/src/util/ip_match.c
    functionUses: 0
    functionsReached:
    - IP_MATCH_RETURN_TOK_VAL
    - ISDIGIT
    - IP_MATCH_RETURN_TOK
    linkageType: ''
    returnType: int
    signature: int ip_match_next_token(char **pstart, char **psaved_start, int *poval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - next
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 369
    functionName: IP_MATCH_RETURN_TOK
    functionSourceFile: /src/postfix/postfix/src/util/ip_match.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IP_MATCH_RETURN_TOK(next, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - next
    - ','
    - type
    - ','
    - oval
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: IP_MATCH_RETURN_TOK_VAL
    functionSourceFile: /src/postfix/postfix/src/util/ip_match.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IP_MATCH_RETURN_TOK_VAL(next, type, oval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/ip_match.c:413,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/util/ip_match.c:414,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/ip_match.c:415,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/ip_match.c:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - reply
    - start
    - here
    - next
    - fmt
    argTypes:
    - VSTRING*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 430
    functionName: ipmatch_print_parse_error
    functionSourceFile: /src/postfix/postfix/src/util/ip_match.c
    functionUses: 0
    functionsReached:
    - va_start
    - vstring_vsprintf
    - vstring_sprintf_append
    - va_end
    linkageType: ''
    returnType: void
    signature: "void ipmatch_print_parse_error(VSTRING *reply,\n\t\t\t\t\t\t               char
      *start,\n\t\t\t\t\t\t               char *here,\n\t\t\t\t\t\t               char
      *next,\n\t\t\t\t\t\t        const char *fmt,...)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: FIND_TERMINATOR
      Src: /src/postfix/postfix/src/util/ip_match.c:460,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/ip_match.c:462,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ip_match.c:463,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/ip_match.c:475,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ip_match.c:476,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/ip_match.c:483,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/ip_match.c:484,1
    - Dst: ip_match_next_token
      Src: /src/postfix/postfix/src/util/ip_match.c:495,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/ip_match.c:501,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/ip_match.c:502,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/ip_match.c:509,1
    - Dst: ip_match_next_token
      Src: /src/postfix/postfix/src/util/ip_match.c:512,1
    - Dst: ip_match_next_token
      Src: /src/postfix/postfix/src/util/ip_match.c:515,1
    - Dst: ip_match_next_token
      Src: /src/postfix/postfix/src/util/ip_match.c:519,1
    - Dst: ip_match_next_token
      Src: /src/postfix/postfix/src/util/ip_match.c:520,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/ip_match.c:523,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/ip_match.c:524,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/ip_match.c:525,1
    - Dst: ip_match_next_token
      Src: /src/postfix/postfix/src/util/ip_match.c:527,1
    - Dst: ipmatch_print_parse_error
      Src: /src/postfix/postfix/src/util/ip_match.c:529,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ip_match.c:532,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/ip_match.c:537,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/ip_match.c:538,1
    - Dst: ipmatch_print_parse_error
      Src: /src/postfix/postfix/src/util/ip_match.c:547,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ip_match.c:551,1
    - Dst: ipmatch_print_parse_error
      Src: /src/postfix/postfix/src/util/ip_match.c:554,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ip_match.c:556,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/ip_match.c:559,1
    - Dst: ipmatch_print_parse_error
      Src: /src/postfix/postfix/src/util/ip_match.c:566,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ip_match.c:569,1
    - Dst: ip_match_next_token
      Src: /src/postfix/postfix/src/util/ip_match.c:578,1
    - Dst: ipmatch_print_parse_error
      Src: /src/postfix/postfix/src/util/ip_match.c:579,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ip_match.c:581,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/ip_match.c:583,1
    - Dst: ip_match_next_token
      Src: /src/postfix/postfix/src/util/ip_match.c:590,1
    - Dst: ipmatch_print_parse_error
      Src: /src/postfix/postfix/src/util/ip_match.c:591,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ip_match.c:593,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 2
    argNames:
    - byte_codes
    - pattern
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 596
    functionName: ip_match_parse
    functionSourceFile: /src/postfix/postfix/src/util/ip_match.c
    functionUses: 2
    functionsReached:
    - VSTRING_ADDCH
    - vstring_sprintf
    - ip_match_next_token
    - ipmatch_print_parse_error
    - VSTRING_RESET
    - FIND_TERMINATOR
    - STR
    linkageType: ''
    returnType: char
    signature: char *ip_match_parse(VSTRING *byte_codes, char *pattern)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - start
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 455
    functionName: FIND_TERMINATOR
    functionSourceFile: /src/postfix/postfix/src/util/ip_match.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIND_TERMINATOR(start, cp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/ip_match.c:614,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/ip_match.c:615,1
    - Dst: isatty
      Src: /src/postfix/postfix/src/util/ip_match.c:620,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/util/ip_match.c:626,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ip_match.c:627,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/ip_match.c:629,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/ip_match.c:630,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/util/ip_match.c:634,1
    - Dst: ip_match_parse
      Src: /src/postfix/postfix/src/util/ip_match.c:640,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/ip_match.c:641,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/ip_match.c:643,1
    - Dst: ip_match_dump
      Src: /src/postfix/postfix/src/util/ip_match.c:644,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ip_match.c:644,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/ip_match.c:646,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/util/ip_match.c:651,1
    - Dst: inet_pton
      Src: /src/postfix/postfix/src/util/ip_match.c:654,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/ip_match.c:656,1
    - Dst: ip_match_execute
      Src: /src/postfix/postfix/src/util/ip_match.c:657,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ip_match.c:657,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/ip_match.c:662,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/ip_match.c:665,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/ip_match.c:668,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/ip_match.c:671,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/ip_match.c:672,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/ip_match.c:673,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 612
    functionDepth: 3
    functionLinenumber: 612
    functionLinenumberEnd: 674
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/ip_match.c
    functionUses: 40
    functionsReached:
    - inet_pton
    - ip_match_parse
    - vstring_fgets_nonl
    - vstream_fflush
    - vstring_alloc
    - ip_match_execute
    - exit
    - ip_match_dump
    - vstream_printf
    - mystrtok
    - isatty
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/postfix/postfix/src/util/sane_connect.c:61,1
    - Dst: connect
      Src: /src/postfix/postfix/src/util/sane_connect.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sock
    - sa
    - len
    argTypes:
    - int
    - struct sockaddr*
    - SOCKADDR_SIZE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 65
    functionName: sane_connect
    functionSourceFile: /src/postfix/postfix/src/util/sane_connect.c
    functionUses: 3
    functionsReached:
    - connect
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int sane_connect(int sock, struct sockaddr *sa, SOCKADDR_SIZE len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gethostname
      Src: /src/postfix/postfix/src/util/get_hostname.c:74,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/get_hostname.c:75,1
    - Dst: valid_hostname
      Src: /src/postfix/postfix/src/util/get_hostname.c:78,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/get_hostname.c:79,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/get_hostname.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 84
    functionName: get_hostname
    functionSourceFile: /src/postfix/postfix/src/util/get_hostname.c
    functionUses: 4
    functionsReached:
    - msg_fatal
    - mystrdup
    - gethostname
    - valid_hostname
    linkageType: ''
    returnType: char
    signature: char *get_hostname(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/myflock.c:105,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/myflock.c:106,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/myflock.c:108,1
    - Dst: str_name_mask_opt
      Src: /src/postfix/postfix/src/util/myflock.c:109,1
    - Dst: str_name_mask_opt
      Src: /src/postfix/postfix/src/util/myflock.c:112,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/myflock.c:114,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/myflock.c:115,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/myflock.c:122,1
    - Dst: flock
      Src: /src/postfix/postfix/src/util/myflock.c:137,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/util/myflock.c:139,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/myflock.c:157,1
    - Dst: fcntl
      Src: /src/postfix/postfix/src/util/myflock.c:160,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/util/myflock.c:162,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/myflock.c:167,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/myflock.c:170,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 3
    argNames:
    - fd
    - lock_style
    - operation
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 181
    functionName: myflock
    functionSourceFile: /src/postfix/postfix/src/util/myflock.c
    functionUses: 40
    functionsReached:
    - msg_panic
    - sleep
    - fcntl
    - vstring_alloc
    - msg_info
    - str_name_mask_opt
    - memset
    - flock
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int myflock(int fd, int lock_style, int operation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: select
      Src: /src/postfix/postfix/src/util/doze.c:52,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/doze.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - delay
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: doze
    functionSourceFile: /src/postfix/postfix/src/util/doze.c
    functionUses: 5
    functionsReached:
    - select
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void doze(unsigned delay)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atol
      Src: /src/postfix/postfix/src/util/doze.c:65,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/doze.c:66,1
    - Dst: doze
      Src: /src/postfix/postfix/src/util/doze.c:67,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/doze.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/doze.c
    functionUses: 40
    functionsReached:
    - exit
    - atol
    - doze
    - msg_fatal
    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: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: ring_succ
    functionSourceFile: /src/postfix/postfix/src/util/ring.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ring_succ(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: ring_pred
    functionSourceFile: /src/postfix/postfix/src/util/ring.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ring_pred(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - entry
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: RING_FOREACH
    functionSourceFile: /src/postfix/postfix/src/util/ring.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RING_FOREACH(entry, head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ring_ptr
    - ','
    - app_type
    - ','
    - ring_member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: RING_TO_APPL
    functionSourceFile: /src/postfix/postfix/src/util/ring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RING_TO_APPL(ring_ptr,app_type,ring_member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - np
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: NBBIO_OP_NAME
    functionSourceFile: /src/postfix/postfix/src/util/nbbio.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NBBIO_OP_NAME(np)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - np
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: NBBIO_BUFSIZE
    functionSourceFile: /src/postfix/postfix/src/util/nbbio.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NBBIO_BUFSIZE(np)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - np
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: NBBIO_READ_PEND
    functionSourceFile: /src/postfix/postfix/src/util/nbbio.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NBBIO_READ_PEND(np)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - np
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: NBBIO_READ_BUF
    functionSourceFile: /src/postfix/postfix/src/util/nbbio.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NBBIO_READ_BUF(np)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - np
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: NBBIO_WRITE_PEND
    functionSourceFile: /src/postfix/postfix/src/util/nbbio.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NBBIO_WRITE_PEND(np)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - np
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: NBBIO_WRITE_BUF
    functionSourceFile: /src/postfix/postfix/src/util/nbbio.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NBBIO_WRITE_BUF(np)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - np
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: NBBIO_ACTIVE_FLAGS
    functionSourceFile: /src/postfix/postfix/src/util/nbbio.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NBBIO_ACTIVE_FLAGS(np)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - np
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: NBBIO_ERROR_FLAGS
    functionSourceFile: /src/postfix/postfix/src/util/nbbio.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NBBIO_ERROR_FLAGS(np)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/postfix/postfix/src/util/dict_regexp.c:172,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_regexp.c:172,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_regexp.c:174,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_regexp.c:176,1
    - Dst: vstring_strncat
      Src: /src/postfix/postfix/src/util/dict_regexp.c:180,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/util/dict_regexp.c:190,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_regexp.c:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - type
    - buf
    - ptr
    argTypes:
    - int
    - VSTRING*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 193
    functionName: dict_regexp_expand
    functionSourceFile: /src/postfix/postfix/src/util/dict_regexp.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstring_strncat
    - atoi
    - vstring_strcat
    - vstring_str
    linkageType: ''
    returnType: int
    signature: int dict_regexp_expand(int type, VSTRING *buf, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: regerror
      Src: /src/postfix/postfix/src/util/dict_regexp.c:202,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_regexp.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - mapname
    - lineno
    - error
    - expr
    argTypes:
    - char*
    - int
    - int
    - regex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: dict_regexp_regerror
    functionSourceFile: /src/postfix/postfix/src/util/dict_regexp.c
    functionUses: 0
    functionsReached:
    - regerror
    - msg_warn
    linkageType: ''
    returnType: void
    signature: "void dict_regexp_regerror(const char *mapname, int lineno, int error,\n\t\t\t\t
      \        const regex_t *expr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - err
    - ','
    - map
    - ','
    - line
    - ','
    - expr
    - ','
    - match
    - ','
    - str
    - ','
    - nsub
    - ','
    - pmatch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: DICT_REGEXP_REGEXEC
    functionSourceFile: /src/postfix/postfix/src/util/dict_regexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_REGEXP_REGEXEC(err, map, line, expr, match, str, nsub, pmatch)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_regexp.c:229,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_regexp.c:236,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_regexp.c:237,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_regexp.c:238,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_regexp.c:238,1
    - Dst: DICT_REGEXP_REGEXEC
      Src: /src/postfix/postfix/src/util/dict_regexp.c:250,1
    - Dst: DICT_REGEXP_REGEXEC
      Src: /src/postfix/postfix/src/util/dict_regexp.c:259,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_regexp.c:282,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/dict_regexp.c:283,1
    - Dst: mac_parse
      Src: /src/postfix/postfix/src/util/dict_regexp.c:288,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_regexp.c:290,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/dict_regexp.c:292,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_regexp.c:293,1
    - Dst: DICT_REGEXP_REGEXEC
      Src: /src/postfix/postfix/src/util/dict_regexp.c:300,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_regexp.c:316,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 2
    argNames:
    - dict
    - lookup_string
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 320
    functionName: dict_regexp_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_regexp.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstring_alloc
    - DICT_REGEXP_REGEXEC
    - msg_info
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - vstring_strcpy
    - vstring_str
    - mac_parse
    - lowercase
    linkageType: ''
    returnType: char
    signature: char *dict_regexp_lookup(DICT *dict, const char *lookup_string)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: regfree
      Src: /src/postfix/postfix/src/util/dict_regexp.c:338,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_regexp.c:339,1
    - Dst: regfree
      Src: /src/postfix/postfix/src/util/dict_regexp.c:342,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_regexp.c:343,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_regexp.c:346,1
    - Dst: regfree
      Src: /src/postfix/postfix/src/util/dict_regexp.c:351,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_regexp.c:352,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_regexp.c:358,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_regexp.c:360,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_regexp.c:363,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_regexp.c:365,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_regexp.c:367,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/util/dict_regexp.c:368,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 369
    functionName: dict_regexp_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_regexp.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - dict_free
    - myfree
    - regfree
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_regexp_close(DICT *dict)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/dict_regexp.c:386,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_regexp.c:391,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_regexp.c:413,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/dict_regexp.c:423,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_regexp.c:435,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 4
    argNames:
    - mapname
    - lineno
    - bufp
    - pat
    argTypes:
    - char*
    - int
    - char**
    - DICT_REGEXP_PATTERN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 443
    functionName: dict_regexp_get_pat
    functionSourceFile: /src/postfix/postfix/src/util/dict_regexp.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - ISSPACE
    linkageType: ''
    returnType: int
    signature: "int dict_regexp_get_pat(const char *mapname, int lineno, char **bufp,\n\t\t\t
      \              DICT_REGEXP_PATTERN *pat)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dict_regexp_get_pat
      Src: /src/postfix/postfix/src/util/dict_regexp.c:455,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_regexp.c:462,1
    - Dst: dict_regexp_get_pat
      Src: /src/postfix/postfix/src/util/dict_regexp.c:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - mapname
    - lineno
    - p
    - first_pat
    - second_pat
    argTypes:
    - char*
    - int
    - char**
    - DICT_REGEXP_PATTERN*
    - DICT_REGEXP_PATTERN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 474
    functionName: dict_regexp_get_pats
    functionSourceFile: /src/postfix/postfix/src/util/dict_regexp.c
    functionUses: 0
    functionsReached:
    - dict_regexp_get_pat
    - msg_warn
    linkageType: ''
    returnType: int
    signature: "int dict_regexp_get_pats(const char *mapname, int lineno, char **p,\n\t\t\t\t
      \       DICT_REGEXP_PATTERN *first_pat,\n\t\t\t\t        DICT_REGEXP_PATTERN
      *second_pat)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_regexp.c:490,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/util/dict_regexp.c:493,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_regexp.c:493,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_regexp.c:494,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_regexp.c:495,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/util/dict_regexp.c:498,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_regexp.c:498,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_regexp.c:500,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_regexp.c:501,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_regexp.c:508,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/dict_regexp.c:510,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_regexp.c:510,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - type
    - buf
    - context
    argTypes:
    - int
    - VSTRING*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 478
    functionDepth: 3
    functionLinenumber: 478
    functionLinenumberEnd: 513
    functionName: dict_regexp_prescan
    functionSourceFile: /src/postfix/postfix/src/util/dict_regexp.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_warn
    - alldig
    - myfree
    - atoi
    - vstring_str
    - mystrdup
    linkageType: ''
    returnType: int
    signature: int dict_regexp_prescan(int type, VSTRING *buf, void *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/dict_regexp.c:523,1
    - Dst: regcomp
      Src: /src/postfix/postfix/src/util/dict_regexp.c:524,1
    - Dst: dict_regexp_regerror
      Src: /src/postfix/postfix/src/util/dict_regexp.c:526,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_regexp.c:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - mapname
    - lineno
    - pat
    argTypes:
    - char*
    - int
    - DICT_REGEXP_PATTERN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 531
    functionName: dict_regexp_compile_pat
    functionSourceFile: /src/postfix/postfix/src/util/dict_regexp.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - myfree
    - regcomp
    - dict_regexp_regerror
    linkageType: ''
    returnType: regex_t
    signature: "regex_t *dict_regexp_compile_pat(const char *mapname, int lineno,\n\t\t\t\t\t
      \       DICT_REGEXP_PATTERN *pat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/dict_regexp.c:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - op
    - lineno
    - size
    argTypes:
    - int
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 545
    functionName: dict_regexp_rule_alloc
    functionSourceFile: /src/postfix/postfix/src/util/dict_regexp.c
    functionUses: 0
    functionsReached:
    - mymalloc
    linkageType: ''
    returnType: DICT_REGEXP_RULE
    signature: DICT_REGEXP_RULE *dict_regexp_rule_alloc(int op, int lineno, size_t
      size)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ISALNUM
      Src: /src/postfix/postfix/src/util/dict_regexp.c:560,1
    - Dst: dict_regexp_get_pats
      Src: /src/postfix/postfix/src/util/dict_regexp.c:571,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/dict_regexp.c:577,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_regexp.c:580,1
    - Dst: dict_file_to_b64
      Src: /src/postfix/postfix/src/util/dict_regexp.c:614,1
    - Dst: dict_file_get_error
      Src: /src/postfix/postfix/src/util/dict_regexp.c:615,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_regexp.c:616,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_regexp.c:618,1
    - Dst: CREATE_MATCHOP_ERROR_RETURN
      Src: /src/postfix/postfix/src/util/dict_regexp.c:619,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_regexp.c:621,1
    - Dst: mac_parse
      Src: /src/postfix/postfix/src/util/dict_regexp.c:623,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_regexp.c:625,1
    - Dst: CREATE_MATCHOP_ERROR_RETURN
      Src: /src/postfix/postfix/src/util/dict_regexp.c:627,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_regexp.c:639,1
    - Dst: CREATE_MATCHOP_ERROR_RETURN
      Src: /src/postfix/postfix/src/util/dict_regexp.c:641,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_regexp.c:644,1
    - Dst: CREATE_MATCHOP_ERROR_RETURN
      Src: /src/postfix/postfix/src/util/dict_regexp.c:647,1
    - Dst: dict_regexp_compile_pat
      Src: /src/postfix/postfix/src/util/dict_regexp.c:649,1
    - Dst: CREATE_MATCHOP_ERROR_RETURN
      Src: /src/postfix/postfix/src/util/dict_regexp.c:651,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_regexp.c:653,1
    - Dst: CREATE_MATCHOP_ERROR_RETURN
      Src: /src/postfix/postfix/src/util/dict_regexp.c:656,1
    - Dst: dict_regexp_compile_pat
      Src: /src/postfix/postfix/src/util/dict_regexp.c:660,1
    - Dst: CREATE_MATCHOP_ERROR_RETURN
      Src: /src/postfix/postfix/src/util/dict_regexp.c:662,1
    - Dst: dict_regexp_rule_alloc
      Src: /src/postfix/postfix/src/util/dict_regexp.c:667,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/dict_regexp.c:677,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/util/dict_regexp.c:684,1
    - Dst: ISALNUM
      Src: /src/postfix/postfix/src/util/dict_regexp.c:684,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/dict_regexp.c:690,1
    - Dst: dict_regexp_get_pat
      Src: /src/postfix/postfix/src/util/dict_regexp.c:692,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/dict_regexp.c:694,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_regexp.c:697,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_regexp.c:699,1
    - Dst: dict_regexp_compile_pat
      Src: /src/postfix/postfix/src/util/dict_regexp.c:702,1
    - Dst: dict_regexp_rule_alloc
      Src: /src/postfix/postfix/src/util/dict_regexp.c:705,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/util/dict_regexp.c:716,1
    - Dst: ISALNUM
      Src: /src/postfix/postfix/src/util/dict_regexp.c:716,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_regexp.c:721,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/dict_regexp.c:725,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_regexp.c:728,1
    - Dst: dict_regexp_rule_alloc
      Src: /src/postfix/postfix/src/util/dict_regexp.c:730,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_regexp.c:739,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 97
    argCount: 5
    argNames:
    - dict
    - mapname
    - lineno
    - line
    - nesting
    argTypes:
    - DICT*
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 549
    functionDepth: 3
    functionLinenumber: 549
    functionLinenumberEnd: 743
    functionName: dict_regexp_parseline
    functionSourceFile: /src/postfix/postfix/src/util/dict_regexp.c
    functionUses: 0
    functionsReached:
    - dict_file_to_b64
    - msg_warn
    - CREATE_MATCHOP_ERROR_RETURN
    - ISSPACE
    - dict_regexp_get_pat
    - mac_parse
    - myfree
    - dict_regexp_compile_pat
    - ISALNUM
    - dict_regexp_rule_alloc
    - strncasecmp
    - vstring_str
    - dict_file_get_error
    - mystrdup
    - dict_regexp_get_pats
    linkageType: ''
    returnType: DICT_REGEXP_RULE
    signature: "DICT_REGEXP_RULE *dict_regexp_parseline(DICT *dict, const char *mapname,\n\t\t\t\t\t
      \            int lineno, char *line,\n\t\t\t\t\t               int nesting)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rval
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 609
    functionName: CREATE_MATCHOP_ERROR_RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict_regexp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CREATE_MATCHOP_ERROR_RETURN(rval)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DICT_REGEXP_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_regexp.c:783,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_regexp.c:783,1
    - Dst: dict_stream_open
      Src: /src/postfix/postfix/src/util/dict_regexp.c:791,1
    - Dst: DICT_REGEXP_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_regexp.c:793,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_regexp.c:793,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_regexp.c:795,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_regexp.c:796,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/util/dict_regexp.c:798,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_regexp.c:804,1
    - Dst: readllines
      Src: /src/postfix/postfix/src/util/dict_regexp.c:814,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_regexp.c:815,1
    - Dst: trimblanks
      Src: /src/postfix/postfix/src/util/dict_regexp.c:816,1
    - Dst: dict_regexp_parseline
      Src: /src/postfix/postfix/src/util/dict_regexp.c:819,1
    - Dst: mvect_alloc
      Src: /src/postfix/postfix/src/util/dict_regexp.c:828,1
    - Dst: mvect_realloc
      Src: /src/postfix/postfix/src/util/dict_regexp.c:833,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_regexp.c:841,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_regexp.c:843,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_regexp.c:856,1
    - Dst: mvect_free
      Src: /src/postfix/postfix/src/util/dict_regexp.c:860,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/dict_regexp.c:868,1
    - Dst: dict_file_purge_buffers
      Src: /src/postfix/postfix/src/util/dict_regexp.c:870,1
    - Dst: DICT_REGEXP_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_regexp.c:871,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 3
    argNames:
    - mapname
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 747
    functionDepth: 4
    functionLinenumber: 747
    functionLinenumberEnd: 872
    functionName: dict_regexp_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_regexp.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - dict_stream_open
    - msg_warn
    - DICT_REGEXP_OPEN_RETURN
    - dict_regexp_parseline
    - mvect_free
    - dict_file_purge_buffers
    - mvect_alloc
    - vstring_alloc
    - dict_surrogate
    - readllines
    - mvect_realloc
    - dict_alloc
    - mymalloc
    - vstring_str
    - trimblanks
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_regexp_open(const char *mapname, int open_flags, int dict_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 778
    functionName: DICT_REGEXP_OPEN_RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict_regexp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_REGEXP_OPEN_RETURN(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: MAI_STRERROR
    functionSourceFile: /src/postfix/postfix/src/util/myaddrinfo.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAI_STRERROR(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - host
    - ','
    - serv
    - ','
    - sock
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: hostname_to_sockaddr
    functionSourceFile: /src/postfix/postfix/src/util/myaddrinfo.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hostname_to_sockaddr(host, serv, sock, res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - host
    - ','
    - pf
    - ','
    - serv
    - ','
    - sock
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: HOSTNAME_TO_SOCKADDR_PF
    functionSourceFile: /src/postfix/postfix/src/util/myaddrinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HOSTNAME_TO_SOCKADDR_PF(host, pf, serv, sock, res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - host
    - ','
    - serv
    - ','
    - sock
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: HOSTNAME_TO_SOCKADDR
    functionSourceFile: /src/postfix/postfix/src/util/myaddrinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HOSTNAME_TO_SOCKADDR(host, serv, sock, res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - host
    - ','
    - serv
    - ','
    - sock
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: HOSTADDR_TO_SOCKADDR
    functionSourceFile: /src/postfix/postfix/src/util/myaddrinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HOSTADDR_TO_SOCKADDR(host, serv, sock, res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - sa
    - ','
    - salen
    - ','
    - host
    - ','
    - port
    - ','
    - sock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: SOCKADDR_TO_HOSTADDR
    functionSourceFile: /src/postfix/postfix/src/util/myaddrinfo.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCKADDR_TO_HOSTADDR(sa, salen, host, port, sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - sa
    - ','
    - salen
    - ','
    - host
    - ','
    - service
    - ','
    - sock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: SOCKADDR_TO_HOSTNAME
    functionSourceFile: /src/postfix/postfix/src/util/myaddrinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCKADDR_TO_HOSTNAME(sa, salen, host, service, sock)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/unix_listen.c:70,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_listen.c:77,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/unix_listen.c:78,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/unix_listen.c:83,1
    - Dst: socket
      Src: /src/postfix/postfix/src/util/unix_listen.c:89,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_listen.c:90,1
    - Dst: unlink
      Src: /src/postfix/postfix/src/util/unix_listen.c:91,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_listen.c:92,1
    - Dst: bind
      Src: /src/postfix/postfix/src/util/unix_listen.c:93,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_listen.c:94,1
    - Dst: fchmod
      Src: /src/postfix/postfix/src/util/unix_listen.c:96,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_listen.c:97,1
    - Dst: chmod
      Src: /src/postfix/postfix/src/util/unix_listen.c:99,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_listen.c:100,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/util/unix_listen.c:102,1
    - Dst: listen
      Src: /src/postfix/postfix/src/util/unix_listen.c:103,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_listen.c:104,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - addr
    - backlog
    - block_mode
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 106
    functionName: unix_listen
    functionSourceFile: /src/postfix/postfix/src/util/unix_listen.c
    functionUses: 0
    functionsReached:
    - strlen
    - bind
    - listen
    - socket
    - unlink
    - fchmod
    - non_blocking
    - memset
    - memcpy
    - msg_fatal
    - chmod
    linkageType: ''
    returnType: int
    signature: int unix_listen(const char *addr, int backlog, int block_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sane_accept
      Src: /src/postfix/postfix/src/util/unix_listen.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: unix_accept
    functionSourceFile: /src/postfix/postfix/src/util/unix_listen.c
    functionUses: 0
    functionsReached:
    - sane_accept
    linkageType: ''
    returnType: int
    signature: int unix_accept(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/util/hex_quote.c
    functionUses: 475
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/util/hex_quote.c
    functionUses: 130
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/hex_quote.c:68,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/hex_quote.c:70,1
    - Dst: ISPRINT
      Src: /src/postfix/postfix/src/util/hex_quote.c:70,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/hex_quote.c:71,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/hex_quote.c:73,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/hex_quote.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - hex
    - raw
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: hex_quote
    functionSourceFile: /src/postfix/postfix/src/util/hex_quote.c
    functionUses: 1
    functionsReached:
    - VSTRING_ADDCH
    - ISSPACE
    - ISPRINT
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - vstring_sprintf_append
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *hex_quote(VSTRING *hex, const char *raw)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/hex_quote.c:87,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/util/hex_quote.c:90,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/util/hex_quote.c:98,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/hex_quote.c:108,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/hex_quote.c:110,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - raw
    - hex
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 112
    functionName: hex_unquote
    functionSourceFile: /src/postfix/postfix/src/util/hex_quote.c
    functionUses: 1
    functionsReached:
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - VSTRING_ADDCH
    - ISDIGIT
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *hex_unquote(VSTRING *raw, const char *hex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fread_buf
      Src: /src/postfix/postfix/src/util/hex_quote.c:127,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/hex_quote.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fp
    - buf
    argTypes:
    - VSTREAM*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: read_buf
    functionSourceFile: /src/postfix/postfix/src/util/hex_quote.c
    functionUses: 11
    functionsReached:
    - VSTRING_TERMINATE
    - vstream_fread_buf
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t read_buf(VSTREAM *fp, VSTRING *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/hex_quote.c:134,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/hex_quote.c:135,1
    - Dst: read_buf
      Src: /src/postfix/postfix/src/util/hex_quote.c:138,1
    - Dst: hex_quote
      Src: /src/postfix/postfix/src/util/hex_quote.c:139,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/hex_quote.c:139,1
    - Dst: hex_unquote
      Src: /src/postfix/postfix/src/util/hex_quote.c:140,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/hex_quote.c:140,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/hex_quote.c:141,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/hex_quote.c:141,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/hex_quote.c:142,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/hex_quote.c:143,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/hex_quote.c:143,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/util/hex_quote.c:144,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/hex_quote.c:144,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/hex_quote.c:144,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/hex_quote.c:144,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/hex_quote.c:145,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/hex_quote.c:147,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/hex_quote.c:148,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/hex_quote.c:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 151
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/hex_quote.c
    functionUses: 40
    functionsReached:
    - hex_unquote
    - vstream_fflush
    - vstring_alloc
    - hex_quote
    - LEN
    - vstream_fwrite
    - msg_fatal
    - read_buf
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/postfix/postfix/src/util/myrand.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - seed
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: mysrand
    functionSourceFile: /src/postfix/postfix/src/util/myrand.c
    functionUses: 0
    functionsReached:
    - srand
    linkageType: ''
    returnType: void
    signature: void mysrand(int seed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mysrand
      Src: /src/postfix/postfix/src/util/myrand.c:61,1
    - Dst: getpid
      Src: /src/postfix/postfix/src/util/myrand.c:61,1
    - Dst: time
      Src: /src/postfix/postfix/src/util/myrand.c:61,1
    - Dst: rand
      Src: /src/postfix/postfix/src/util/myrand.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: myrand
    functionSourceFile: /src/postfix/postfix/src/util/myrand.c
    functionUses: 6
    functionsReached:
    - rand
    - time
    - getpid
    - mysrand
    linkageType: ''
    returnType: int
    signature: int myrand(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: UNSIG_CHAR_PTR
    functionSourceFile: /src/postfix/postfix/src/util/base32_code.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNSIG_CHAR_PTR(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/base32_code.c:76,1
    - Dst: UNSIG_CHAR_PTR
      Src: /src/postfix/postfix/src/util/base32_code.c:77,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base32_code.c:78,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base32_code.c:80,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base32_code.c:83,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base32_code.c:84,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base32_code.c:86,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base32_code.c:89,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base32_code.c:91,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base32_code.c:94,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base32_code.c:95,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base32_code.c:97,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base32_code.c:100,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base32_code.c:101,1
    - Dst: vstring_strncat
      Src: /src/postfix/postfix/src/util/base32_code.c:104,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/base32_code.c:105,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - result
    - in
    - len
    argTypes:
    - VSTRING*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 107
    functionName: base32_encode
    functionSourceFile: /src/postfix/postfix/src/util/base32_code.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - vstring_strncat
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - UNSIG_CHAR_PTR
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *base32_encode(VSTRING *result, const char *in, ssize_t len)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ENFORCE_LENGTH
      Src: /src/postfix/postfix/src/util/base32_code.c:140,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/base32_code.c:147,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/base32_code.c:148,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/base32_code.c:156,1
    - Dst: UNSIG_CHAR_PTR
      Src: /src/postfix/postfix/src/util/base32_code.c:157,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base32_code.c:161,1
    - Dst: ENFORCE_PADDING
      Src: /src/postfix/postfix/src/util/base32_code.c:163,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/base32_code.c:163,1
    - Dst: ENFORCE_NULL_BITS
      Src: /src/postfix/postfix/src/util/base32_code.c:164,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base32_code.c:170,1
    - Dst: ENFORCE_PADDING
      Src: /src/postfix/postfix/src/util/base32_code.c:172,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/base32_code.c:172,1
    - Dst: ENFORCE_NULL_BITS
      Src: /src/postfix/postfix/src/util/base32_code.c:173,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base32_code.c:177,1
    - Dst: ENFORCE_PADDING
      Src: /src/postfix/postfix/src/util/base32_code.c:179,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/base32_code.c:179,1
    - Dst: ENFORCE_NULL_BITS
      Src: /src/postfix/postfix/src/util/base32_code.c:180,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base32_code.c:186,1
    - Dst: ENFORCE_NULL_BITS
      Src: /src/postfix/postfix/src/util/base32_code.c:188,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base32_code.c:192,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/base32_code.c:194,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 41
    argCount: 3
    argNames:
    - result
    - in
    - len
    argTypes:
    - VSTRING*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 196
    functionName: base32_decode
    functionSourceFile: /src/postfix/postfix/src/util/base32_code.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - ENFORCE_PADDING
    - ENFORCE_NULL_BITS
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - strcmp
    - memset
    - mymalloc
    - ENFORCE_LENGTH
    - UNSIG_CHAR_PTR
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *base32_decode(VSTRING *result, const char *in, ssize_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: ENFORCE_LENGTH
    functionSourceFile: /src/postfix/postfix/src/util/base32_code.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENFORCE_LENGTH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: ENFORCE_PADDING
    functionSourceFile: /src/postfix/postfix/src/util/base32_code.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENFORCE_PADDING(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: ENFORCE_NULL_BITS
    functionSourceFile: /src/postfix/postfix/src/util/base32_code.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENFORCE_NULL_BITS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: ENFORCE_LENGTH
    functionSourceFile: /src/postfix/postfix/src/util/base32_code.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENFORCE_LENGTH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: ENFORCE_PADDING
    functionSourceFile: /src/postfix/postfix/src/util/base32_code.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENFORCE_PADDING(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: ENFORCE_NULL_BITS
    functionSourceFile: /src/postfix/postfix/src/util/base32_code.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENFORCE_NULL_BITS(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: STR
    functionSourceFile: /src/postfix/postfix/src/util/base32_code.c
    functionUses: 476
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/util/base32_code.c
    functionUses: 131
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/base32_code.c:209,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/base32_code.c:210,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/base32_code.c:211,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/base32_code.c:219,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/base32_code.c:220,1
    - Dst: base32_encode
      Src: /src/postfix/postfix/src/util/base32_code.c:235,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base32_code.c:235,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/base32_code.c:235,1
    - Dst: DECODE
      Src: /src/postfix/postfix/src/util/base32_code.c:236,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base32_code.c:236,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/base32_code.c:236,1
    - Dst: VERIFY
      Src: /src/postfix/postfix/src/util/base32_code.c:237,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base32_code.c:237,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base32_code.c:237,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/base32_code.c:237,1
    - Dst: base32_encode
      Src: /src/postfix/postfix/src/util/base32_code.c:239,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base32_code.c:239,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/base32_code.c:239,1
    - Dst: base32_encode
      Src: /src/postfix/postfix/src/util/base32_code.c:240,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base32_code.c:240,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/base32_code.c:240,1
    - Dst: base32_encode
      Src: /src/postfix/postfix/src/util/base32_code.c:241,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base32_code.c:241,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/base32_code.c:241,1
    - Dst: DECODE
      Src: /src/postfix/postfix/src/util/base32_code.c:242,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base32_code.c:242,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/base32_code.c:242,1
    - Dst: DECODE
      Src: /src/postfix/postfix/src/util/base32_code.c:243,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base32_code.c:243,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/base32_code.c:243,1
    - Dst: DECODE
      Src: /src/postfix/postfix/src/util/base32_code.c:244,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base32_code.c:244,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/base32_code.c:244,1
    - Dst: VERIFY
      Src: /src/postfix/postfix/src/util/base32_code.c:245,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base32_code.c:245,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base32_code.c:245,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/base32_code.c:245,1
    - Dst: base32_encode
      Src: /src/postfix/postfix/src/util/base32_code.c:247,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base32_code.c:247,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/base32_code.c:247,1
    - Dst: base32_encode
      Src: /src/postfix/postfix/src/util/base32_code.c:248,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base32_code.c:248,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/base32_code.c:248,1
    - Dst: base32_encode
      Src: /src/postfix/postfix/src/util/base32_code.c:249,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base32_code.c:249,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/base32_code.c:249,1
    - Dst: base32_encode
      Src: /src/postfix/postfix/src/util/base32_code.c:250,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base32_code.c:250,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/base32_code.c:250,1
    - Dst: base32_encode
      Src: /src/postfix/postfix/src/util/base32_code.c:251,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base32_code.c:251,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/base32_code.c:251,1
    - Dst: DECODE
      Src: /src/postfix/postfix/src/util/base32_code.c:252,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base32_code.c:252,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/base32_code.c:252,1
    - Dst: DECODE
      Src: /src/postfix/postfix/src/util/base32_code.c:253,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base32_code.c:253,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/base32_code.c:253,1
    - Dst: DECODE
      Src: /src/postfix/postfix/src/util/base32_code.c:254,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base32_code.c:254,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/base32_code.c:254,1
    - Dst: DECODE
      Src: /src/postfix/postfix/src/util/base32_code.c:255,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base32_code.c:255,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/base32_code.c:255,1
    - Dst: DECODE
      Src: /src/postfix/postfix/src/util/base32_code.c:256,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base32_code.c:256,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/base32_code.c:256,1
    - Dst: VERIFY
      Src: /src/postfix/postfix/src/util/base32_code.c:257,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base32_code.c:257,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/base32_code.c:257,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/base32_code.c:257,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/util/base32_code.c:258,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/base32_code.c:258,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/base32_code.c:260,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/base32_code.c:261,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/base32_code.c:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 264
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/base32_code.c
    functionUses: 40
    functionsReached:
    - DECODE
    - VSTRING_ADDCH
    - vstring_truncate
    - vstring_alloc
    - LEN
    - VERIFY
    - VSTRING_TERMINATE
    - base32_encode
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b
    - ','
    - x
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: DECODE
    functionSourceFile: /src/postfix/postfix/src/util/base32_code.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECODE(b,x,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b
    - ','
    - t
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: VERIFY
    functionSourceFile: /src/postfix/postfix/src/util/base32_code.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERIFY(b,t,l)
  - 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: LEN
    functionSourceFile: /src/postfix/postfix/src/util/dict_union_test.c
    functionUses: 132
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(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: STR
    functionSourceFile: /src/postfix/postfix/src/util/dict_union_test.c
    functionUses: 477
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_union_test.c:45,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/util/dict_union_test.c:46,1
    - Dst: dict_compose_spec
      Src: /src/postfix/postfix/src/util/dict_union_test.c:55,1
    - Dst: dict_open_and_capture_msg
      Src: /src/postfix/postfix/src/util/dict_union_test.c:57,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_union_test.c:57,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/dict_union_test.c:68,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_union_test.c:69,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_union_test.c:69,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/util/dict_union_test.c:70,1
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/util/dict_union_test.c:73,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_union_test.c:74,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/util/dict_union_test.c:75,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/util/dict_union_test.c:78,1
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/util/dict_union_test.c:81,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_union_test.c:82,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/util/dict_union_test.c:83,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/util/dict_union_test.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 87
    functionName: valid_refcounts_for_good_composite_syntax
    functionSourceFile: /src/postfix/postfix/src/util/dict_union_test.c
    functionUses: 0
    functionsReached:
    - dict_open_and_capture_msg
    - msg_warn
    - dict_handle
    - vstring_alloc
    - LEN
    - argv_alloc
    - dict_close
    - dict_compose_spec
    - RETURN
    - STR
    linkageType: ''
    returnType: int
    signature: int valid_refcounts_for_good_composite_syntax(void)
  - 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: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict_union_test.c
    functionUses: 85
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETURN(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_union_test.c:94,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/util/dict_union_test.c:95,1
    - Dst: dict_compose_spec
      Src: /src/postfix/postfix/src/util/dict_union_test.c:105,1
    - Dst: dict_open_and_capture_msg
      Src: /src/postfix/postfix/src/util/dict_union_test.c:107,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_union_test.c:107,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/dict_union_test.c:118,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_union_test.c:119,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/util/dict_union_test.c:120,1
    - Dst: strstr
      Src: /src/postfix/postfix/src/util/dict_union_test.c:122,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_union_test.c:122,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_union_test.c:123,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_union_test.c:124,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/util/dict_union_test.c:125,1
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/util/dict_union_test.c:128,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_union_test.c:129,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/util/dict_union_test.c:131,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/util/dict_union_test.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 135
    functionName: valid_refcounts_for_bad_composite_syntax
    functionSourceFile: /src/postfix/postfix/src/util/dict_union_test.c
    functionUses: 0
    functionsReached:
    - dict_open_and_capture_msg
    - msg_warn
    - dict_handle
    - vstring_alloc
    - LEN
    - argv_alloc
    - dict_compose_spec
    - strstr
    - RETURN
    - STR
    linkageType: ''
    returnType: int
    signature: int valid_refcounts_for_bad_composite_syntax(void)
  - 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: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict_union_test.c
    functionUses: 86
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETURN(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_open_and_capture_msg
      Src: /src/postfix/postfix/src/util/dict_union_test.c:151,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/dict_union_test.c:153,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_union_test.c:154,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_union_test.c:154,1
    - Dst: dict_get_and_verify_bulk
      Src: /src/postfix/postfix/src/util/dict_union_test.c:157,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/util/dict_union_test.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 161
    functionName: propagates_notfound_and_found
    functionSourceFile: /src/postfix/postfix/src/util/dict_union_test.c
    functionUses: 0
    functionsReached:
    - dict_open_and_capture_msg
    - msg_warn
    - LEN
    - dict_get_and_verify_bulk
    - dict_close
    - STR
    linkageType: ''
    returnType: int
    signature: int propagates_notfound_and_found(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_open_and_capture_msg
      Src: /src/postfix/postfix/src/util/dict_union_test.c:175,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/dict_union_test.c:177,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_union_test.c:178,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_union_test.c:178,1
    - Dst: dict_get_and_verify_bulk
      Src: /src/postfix/postfix/src/util/dict_union_test.c:181,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/util/dict_union_test.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 185
    functionName: propagates_error
    functionSourceFile: /src/postfix/postfix/src/util/dict_union_test.c
    functionUses: 0
    functionsReached:
    - dict_open_and_capture_msg
    - msg_warn
    - LEN
    - dict_get_and_verify_bulk
    - dict_close
    - STR
    linkageType: ''
    returnType: int
    signature: int propagates_error(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_open_and_capture_msg
      Src: /src/postfix/postfix/src/util/dict_union_test.c:202,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/dict_union_test.c:204,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_union_test.c:205,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_union_test.c:205,1
    - Dst: dict_get_and_verify_bulk
      Src: /src/postfix/postfix/src/util/dict_union_test.c:208,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/util/dict_union_test.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 187
    functionDepth: 4
    functionLinenumber: 187
    functionLinenumberEnd: 212
    functionName: no_comma_for_not_found
    functionSourceFile: /src/postfix/postfix/src/util/dict_union_test.c
    functionUses: 0
    functionsReached:
    - dict_open_and_capture_msg
    - msg_warn
    - LEN
    - dict_get_and_verify_bulk
    - dict_close
    - STR
    linkageType: ''
    returnType: int
    signature: int no_comma_for_not_found(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/dict_union_test.c:234,1
    - Dst: sane_basename
      Src: /src/postfix/postfix/src/util/dict_union_test.c:234,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_union_test.c:236,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_union_test.c:240,1
    - Dst: struct TEST_CASE*::action
      Src: /src/postfix/postfix/src/util/dict_union_test.c:241,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_union_test.c:242,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_union_test.c:245,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_union_test.c:249,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_union_test.c:251,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/dict_union_test.c:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 253
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/dict_union_test.c
    functionUses: 40
    functionsReached:
    - struct TEST_CASE*::action
    - exit
    - vstring_alloc
    - msg_info
    - msg_vstream_init
    - sane_basename
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lookup
      Src: /src/postfix/postfix/src/util/name_code.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - table
    - flags
    - name
    argTypes:
    - NAME_CODE*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: name_code
    functionSourceFile: /src/postfix/postfix/src/util/name_code.c
    functionUses: 37
    functionsReached:
    - lookup
    linkageType: ''
    returnType: int
    signature: int name_code(const NAME_CODE *table, int flags, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - table
    - code
    argTypes:
    - NAME_CODE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: str_name_code
    functionSourceFile: /src/postfix/postfix/src/util/name_code.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *str_name_code(const NAME_CODE *table, int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: cdb_fileno
    functionSourceFile: /src/postfix/postfix/src/util/dict_cdb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cdb_fileno(c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_cdb.c:109,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/dict_cdb.c:110,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/util/dict_cdb.c:111,1
    - Dst: cdb_read
      Src: /src/postfix/postfix/src/util/dict_cdb.c:113,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_cdb.c:113,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_cdb.c:114,1
    - Dst: vstring_set_payload_size
      Src: /src/postfix/postfix/src/util/dict_cdb.c:115,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/dict_cdb.c:116,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_cdb.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - dict_cdbq
    - bufp
    - len
    - pos
    argTypes:
    - DICT_CDBQ*
    - VSTRING**
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: dict_cdbq_get_data
    functionSourceFile: /src/postfix/postfix/src/util/dict_cdb.c
    functionUses: 0
    functionsReached:
    - VSTRING_SPACE
    - vstring_alloc
    - cdb_read
    - vstring_set_payload_size
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - vstring_str
    - msg_fatal
    linkageType: ''
    returnType: char
    signature: "char *dict_cdbq_get_data(DICT_CDBQ *dict_cdbq,\n\t\t\t         VSTRING
      **bufp, unsigned len, unsigned pos)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_cdb.c:137,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_cdb.c:138,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_cdb.c:139,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_cdb.c:139,1
    - Dst: cdb_find
      Src: /src/postfix/postfix/src/util/dict_cdb.c:147,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_cdb.c:147,1
    - Dst: cdb_find
      Src: /src/postfix/postfix/src/util/dict_cdb.c:157,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_cdb.c:157,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_cdb.c:162,1
    - Dst: dict_cdbq_get_data
      Src: /src/postfix/postfix/src/util/dict_cdb.c:165,1
    - Dst: cdb_datalen
      Src: /src/postfix/postfix/src/util/dict_cdb.c:166,1
    - Dst: cdb_datapos
      Src: /src/postfix/postfix/src/util/dict_cdb.c:166,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - dict
    - name
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 171
    functionName: dict_cdbq_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_cdb.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - strlen
    - vstring_alloc
    - cdb_find
    - dict_cdbq_get_data
    - vstring_strcpy
    - cdb_datalen
    - vstring_str
    - lowercase
    - cdb_datapos
    linkageType: ''
    returnType: char
    signature: char *dict_cdbq_lookup(DICT *dict, const char *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cdb_seqinit
      Src: /src/postfix/postfix/src/util/dict_cdb.c:186,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_cdb.c:190,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_cdb.c:193,1
    - Dst: cdb_seqnext
      Src: /src/postfix/postfix/src/util/dict_cdb.c:196,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_cdb.c:199,1
    - Dst: dict_cdbq_get_data
      Src: /src/postfix/postfix/src/util/dict_cdb.c:205,1
    - Dst: cdb_keylen
      Src: /src/postfix/postfix/src/util/dict_cdb.c:206,1
    - Dst: cdb_keypos
      Src: /src/postfix/postfix/src/util/dict_cdb.c:206,1
    - Dst: dict_cdbq_get_data
      Src: /src/postfix/postfix/src/util/dict_cdb.c:207,1
    - Dst: cdb_datalen
      Src: /src/postfix/postfix/src/util/dict_cdb.c:208,1
    - Dst: cdb_datapos
      Src: /src/postfix/postfix/src/util/dict_cdb.c:208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - dict
    - function
    - key
    - value
    argTypes:
    - DICT*
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 211
    functionName: dict_cdbq_sequence
    functionSourceFile: /src/postfix/postfix/src/util/dict_cdb.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - cdb_keylen
    - cdb_keypos
    - cdb_seqinit
    - dict_cdbq_get_data
    - cdb_seqnext
    - cdb_datalen
    - msg_fatal
    - cdb_datapos
    linkageType: ''
    returnType: int
    signature: "int dict_cdbq_sequence(DICT *dict, int function,\n\t\t\t              const
      char **key, const char **value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cdb_free
      Src: /src/postfix/postfix/src/util/dict_cdb.c:221,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/dict_cdb.c:222,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_cdb.c:224,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_cdb.c:226,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_cdb.c:229,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/util/dict_cdb.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 232
    functionName: dict_cdbq_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_cdb.c
    functionUses: 0
    functionsReached:
    - dict_free
    - close
    - vstring_free
    - cdb_free
    linkageType: ''
    returnType: void
    signature: void dict_cdbq_close(DICT *dict)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/util/dict_cdb.c:252,1
    - Dst: open
      Src: /src/postfix/postfix/src/util/dict_cdb.c:254,1
    - Dst: DICT_CDBQ_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_cdb.c:255,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_cdb.c:255,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/util/dict_cdb.c:259,1
    - Dst: cdb_init
      Src: /src/postfix/postfix/src/util/dict_cdb.c:265,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_cdb.c:266,1
    - Dst: cdb_init
      Src: /src/postfix/postfix/src/util/dict_cdb.c:269,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/util/dict_cdb.c:274,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_cdb.c:275,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/util/dict_cdb.c:279,1
    - Dst: stat
      Src: /src/postfix/postfix/src/util/dict_cdb.c:285,1
    - Dst: time
      Src: /src/postfix/postfix/src/util/dict_cdb.c:287,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_cdb.c:288,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_cdb.c:298,1
    - Dst: DICT_CDBQ_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_cdb.c:300,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - path
    - dict_flags
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 301
    functionName: dict_cdbq_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_cdb.c
    functionUses: 0
    functionsReached:
    - stat
    - msg_warn
    - time
    - vstring_alloc
    - DICT_CDBQ_OPEN_RETURN
    - close_on_exec
    - open
    - dict_surrogate
    - fstat
    - dict_alloc
    - concatenate
    - msg_fatal
    - cdb_init
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_cdbq_open(const char *path, int dict_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: DICT_CDBQ_OPEN_RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict_cdb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_CDBQ_OPEN_RETURN(d)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_cdb.c:318,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_cdb.c:319,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_cdb.c:320,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_cdb.c:320,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_cdb.c:322,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_cdb.c:323,1
    - Dst: cdb_make_put
      Src: /src/postfix/postfix/src/util/dict_cdb.c:346,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_cdb.c:348,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_cdb.c:353,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_cdb.c:356,1
    - Dst: cdb_make_add
      Src: /src/postfix/postfix/src/util/dict_cdb.c:361,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_cdb.c:362,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - dict
    - name
    - value
    argTypes:
    - DICT*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 365
    functionName: dict_cdbm_update
    functionSourceFile: /src/postfix/postfix/src/util/dict_cdb.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - msg_warn
    - strlen
    - vstring_alloc
    - cdb_make_put
    - vstring_strcpy
    - vstring_str
    - cdb_make_add
    - lowercase
    linkageType: ''
    returnType: int
    signature: int dict_cdbm_update(DICT *dict, const char *name, const char *value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cdb_fileno
      Src: /src/postfix/postfix/src/util/dict_cdb.c:372,1
    - Dst: cdb_make_finish
      Src: /src/postfix/postfix/src/util/dict_cdb.c:380,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_cdb.c:381,1
    - Dst: rename
      Src: /src/postfix/postfix/src/util/dict_cdb.c:382,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_cdb.c:383,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/dict_cdb.c:385,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_cdb.c:386,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_cdb.c:387,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_cdb.c:388,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_cdb.c:390,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/util/dict_cdb.c:391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 392
    functionName: dict_cdbm_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_cdb.c
    functionUses: 0
    functionsReached:
    - cdb_make_finish
    - rename
    - cdb_fileno
    - dict_free
    - close
    - myfree
    - msg_fatal
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_cdbm_close(DICT *dict)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/util/dict_cdb.c:416,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/util/dict_cdb.c:417,1
    - Dst: open
      Src: /src/postfix/postfix/src/util/dict_cdb.c:427,1
    - Dst: DICT_CDBM_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_cdb.c:428,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_cdb.c:428,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/util/dict_cdb.c:432,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_cdb.c:433,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_cdb.c:439,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_cdb.c:440,1
    - Dst: stat
      Src: /src/postfix/postfix/src/util/dict_cdb.c:442,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_cdb.c:443,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/dict_cdb.c:454,1
    - Dst: ftruncate
      Src: /src/postfix/postfix/src/util/dict_cdb.c:460,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/util/dict_cdb.c:463,1
    - Dst: cdb_make_start
      Src: /src/postfix/postfix/src/util/dict_cdb.c:465,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_cdb.c:466,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/util/dict_cdb.c:474,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_cdb.c:487,1
    - Dst: DICT_CDBM_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_cdb.c:489,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 2
    argNames:
    - path
    - dict_flags
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 490
    functionName: dict_cdbm_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_cdb.c
    functionUses: 0
    functionsReached:
    - stat
    - myflock
    - DICT_CDBM_OPEN_RETURN
    - dict_alloc
    - cdb_make_start
    - close
    - vstring_alloc
    - close_on_exec
    - open
    - dict_surrogate
    - fstat
    - concatenate
    - msg_fatal
    - ftruncate
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_cdbm_open(const char *path, int dict_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 415
    functionName: DICT_CDBM_OPEN_RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict_cdb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_CDBM_OPEN_RETURN(d)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dict_cdbq_open
      Src: /src/postfix/postfix/src/util/dict_cdb.c:498,1
    - Dst: dict_cdbm_open
      Src: /src/postfix/postfix/src/util/dict_cdb.c:501,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_cdb.c:505,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_cdb.c:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - path
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 494
    functionDepth: 3
    functionLinenumber: 494
    functionLinenumberEnd: 512
    functionName: dict_cdb_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_cdb.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - dict_cdbm_open
    - dict_surrogate
    - dict_cdbq_open
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_cdb_open(const char *path, int open_flags, int dict_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: perrorexit
    functionSourceFile: /src/postfix/postfix/src/util/fifo_open.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: perrorexit(s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postfix/postfix/src/util/fifo_open.c:37,1
    - Dst: unlink
      Src: /src/postfix/postfix/src/util/fifo_open.c:38,1
    - Dst: perrorexit
      Src: /src/postfix/postfix/src/util/fifo_open.c:39,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/fifo_open.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: cleanup
    functionSourceFile: /src/postfix/postfix/src/util/fifo_open.c
    functionUses: 27
    functionsReached:
    - printf
    - unlink
    - perrorexit
    linkageType: ''
    returnType: void
    signature: void cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postfix/postfix/src/util/fifo_open.c:45,1
    - Dst: cleanup
      Src: /src/postfix/postfix/src/util/fifo_open.c:46,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/fifo_open.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - unused_sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: stuck
    functionSourceFile: /src/postfix/postfix/src/util/fifo_open.c
    functionUses: 0
    functionsReached:
    - printf
    - exit
    - cleanup
    linkageType: ''
    returnType: void
    signature: void stuck(int unused_sig)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/postfix/postfix/src/util/fifo_open.c:52,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/fifo_open.c:53,1
    - Dst: mkfifo
      Src: /src/postfix/postfix/src/util/fifo_open.c:54,1
    - Dst: perrorexit
      Src: /src/postfix/postfix/src/util/fifo_open.c:55,1
    - Dst: signal
      Src: /src/postfix/postfix/src/util/fifo_open.c:56,1
    - Dst: alarm
      Src: /src/postfix/postfix/src/util/fifo_open.c:57,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/fifo_open.c:58,1
    - Dst: open
      Src: /src/postfix/postfix/src/util/fifo_open.c:59,1
    - Dst: perror
      Src: /src/postfix/postfix/src/util/fifo_open.c:60,1
    - Dst: cleanup
      Src: /src/postfix/postfix/src/util/fifo_open.c:61,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/fifo_open.c:62,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/fifo_open.c:64,1
    - Dst: cleanup
      Src: /src/postfix/postfix/src/util/fifo_open.c:65,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/fifo_open.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/fifo_open.c
    functionUses: 40
    functionsReached:
    - alarm
    - cleanup
    - exit
    - unlink
    - open
    - printf
    - mkfifo
    - perrorexit
    - signal
    - perror
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/postfix/postfix/src/util/line_wrap.c:100,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/line_wrap.c:104,1
    - Dst: output_fn
      Src: /src/postfix/postfix/src/util/line_wrap.c:106,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/line_wrap.c:107,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/line_wrap.c:118,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/line_wrap.c:119,1
    - Dst: output_fn
      Src: /src/postfix/postfix/src/util/line_wrap.c:121,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 5
    argNames:
    - str
    - len
    - indent
    - output_fn
    - context
    argTypes:
    - char*
    - int
    - int
    - LINE_WRAP_FN
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 122
    functionName: line_wrap
    functionSourceFile: /src/postfix/postfix/src/util/line_wrap.c
    functionUses: 2
    functionsReached:
    - strcspn
    - output_fn
    - ISSPACE
    - strlen
    linkageType: ''
    returnType: void
    signature: "void line_wrap(const char *str, int len, int indent, LINE_WRAP_FN
      output_fn,\n\t\t          void *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: nvtable_create
    functionSourceFile: /src/postfix/postfix/src/util/nvtable.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nvtable_create(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - table
    - ','
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: nvtable_locate
    functionSourceFile: /src/postfix/postfix/src/util/nvtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nvtable_locate(table, key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - table
    - ','
    - action
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: nvtable_walk
    functionSourceFile: /src/postfix/postfix/src/util/nvtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nvtable_walk(table, action, ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - table
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: nvtable_list
    functionSourceFile: /src/postfix/postfix/src/util/nvtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nvtable_list(table)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - table
    - ','
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: nvtable_find
    functionSourceFile: /src/postfix/postfix/src/util/nvtable.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nvtable_find(table, key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - table
    - ','
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: nvtable_delete
    functionSourceFile: /src/postfix/postfix/src/util/nvtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nvtable_delete(table, key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - table
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: nvtable_free
    functionSourceFile: /src/postfix/postfix/src/util/nvtable.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nvtable_free(table)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/util/attr_print64.c
    functionUses: 482
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/util/attr_print64.c
    functionUses: 137
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/attr_print64.c:115,1
    - Dst: base64_encode
      Src: /src/postfix/postfix/src/util/attr_print64.c:117,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/util/attr_print64.c:118,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_print64.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - fp
    - str
    - len
    argTypes:
    - VSTREAM*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: attr_print64_str
    functionSourceFile: /src/postfix/postfix/src/util/attr_print64.c
    functionUses: 0
    functionsReached:
    - base64_encode
    - vstring_alloc
    - STR
    - vstream_fputs
    linkageType: ''
    returnType: void
    signature: void attr_print64_str(VSTREAM *fp, const char *str, ssize_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/attr_print64.c:126,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/attr_print64.c:128,1
    - Dst: attr_print64_str
      Src: /src/postfix/postfix/src/util/attr_print64.c:129,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_print64.c:129,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/attr_print64.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - fp
    - num
    argTypes:
    - VSTREAM*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: attr_print64_num
    functionSourceFile: /src/postfix/postfix/src/util/attr_print64.c
    functionUses: 0
    functionsReached:
    - attr_print64_str
    - vstring_sprintf
    - vstring_alloc
    - LEN
    - STR
    linkageType: ''
    returnType: void
    signature: void attr_print64_num(VSTREAM *fp, unsigned num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/attr_print64.c:137,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/attr_print64.c:139,1
    - Dst: attr_print64_str
      Src: /src/postfix/postfix/src/util/attr_print64.c:140,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_print64.c:140,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/attr_print64.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - fp
    - long_num
    argTypes:
    - VSTREAM*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: attr_print64_long_num
    functionSourceFile: /src/postfix/postfix/src/util/attr_print64.c
    functionUses: 0
    functionsReached:
    - attr_print64_str
    - vstring_sprintf
    - vstring_alloc
    - LEN
    - STR
    linkageType: ''
    returnType: void
    signature: void attr_print64_long_num(VSTREAM *fp, unsigned long long_num)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/attr_print64.c:163,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print64.c:169,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print64.c:172,1
    - Dst: attr_print64_str
      Src: /src/postfix/postfix/src/util/attr_print64.c:173,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/attr_print64.c:173,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print64.c:174,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/attr_print64.c:175,1
    - Dst: attr_print64_num
      Src: /src/postfix/postfix/src/util/attr_print64.c:176,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/attr_print64.c:177,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_print64.c:179,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print64.c:182,1
    - Dst: attr_print64_str
      Src: /src/postfix/postfix/src/util/attr_print64.c:183,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/attr_print64.c:183,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print64.c:184,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/attr_print64.c:185,1
    - Dst: attr_print64_long_num
      Src: /src/postfix/postfix/src/util/attr_print64.c:186,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/attr_print64.c:187,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_print64.c:189,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print64.c:192,1
    - Dst: attr_print64_str
      Src: /src/postfix/postfix/src/util/attr_print64.c:193,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/attr_print64.c:193,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print64.c:194,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/attr_print64.c:195,1
    - Dst: attr_print64_str
      Src: /src/postfix/postfix/src/util/attr_print64.c:196,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/attr_print64.c:196,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/attr_print64.c:197,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_print64.c:199,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print64.c:202,1
    - Dst: attr_print64_str
      Src: /src/postfix/postfix/src/util/attr_print64.c:203,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/attr_print64.c:203,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print64.c:204,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print64.c:205,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/attr_print64.c:206,1
    - Dst: attr_print64_str
      Src: /src/postfix/postfix/src/util/attr_print64.c:207,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/attr_print64.c:208,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_print64.c:210,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print64.c:214,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print64.c:215,1
    - Dst: print_fn
      Src: /src/postfix/postfix/src/util/attr_print64.c:216,1
    - Dst: attr_print64_str
      Src: /src/postfix/postfix/src/util/attr_print64.c:219,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/attr_print64.c:220,1
    - Dst: htable_list
      Src: /src/postfix/postfix/src/util/attr_print64.c:221,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print64.c:221,1
    - Dst: attr_print64_str
      Src: /src/postfix/postfix/src/util/attr_print64.c:223,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/attr_print64.c:223,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/attr_print64.c:224,1
    - Dst: attr_print64_str
      Src: /src/postfix/postfix/src/util/attr_print64.c:225,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/attr_print64.c:225,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/attr_print64.c:226,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_print64.c:228,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/attr_print64.c:231,1
    - Dst: attr_print64_str
      Src: /src/postfix/postfix/src/util/attr_print64.c:232,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/attr_print64.c:233,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/attr_print64.c:236,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/attr_print64.c:240,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/util/attr_print64.c:241,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 74
    argCount: 3
    argNames:
    - fp
    - flags
    - ap
    argTypes:
    - VSTREAM*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 145
    functionDepth: 3
    functionLinenumber: 145
    functionLinenumberEnd: 242
    functionName: attr_vprint64
    functionSourceFile: /src/postfix/postfix/src/util/attr_print64.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - attr_print64_str
    - VSTREAM_PUTC
    - print_fn
    - attr_print64_long_num
    - strlen
    - va_arg
    - vstream_ferror
    - msg_info
    - myfree
    - htable_list
    - attr_print64_num
    linkageType: ''
    returnType: int
    signature: int attr_vprint64(VSTREAM *fp, int flags, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/attr_print64.c:249,1
    - Dst: attr_vprint64
      Src: /src/postfix/postfix/src/util/attr_print64.c:250,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/attr_print64.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fp
    - flags
    argTypes:
    - VSTREAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 244
    functionDepth: 4
    functionLinenumber: 244
    functionLinenumberEnd: 253
    functionName: attr_print64
    functionSourceFile: /src/postfix/postfix/src/util/attr_print64.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - attr_vprint64
    linkageType: ''
    returnType: int
    signature: int attr_print64(VSTREAM *fp, int flags,...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htable_create
      Src: /src/postfix/postfix/src/util/attr_print64.c:265,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/attr_print64.c:267,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/util/attr_print64.c:269,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/attr_print64.c:269,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/util/attr_print64.c:270,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/attr_print64.c:270,1
    - Dst: attr_print64
      Src: /src/postfix/postfix/src/util/attr_print64.c:271,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/util/attr_print64.c:272,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/util/attr_print64.c:273,1
    - Dst: SEND_ATTR_LONG
      Src: /src/postfix/postfix/src/util/attr_print64.c:274,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/util/attr_print64.c:275,1
    - Dst: SEND_ATTR_DATA
      Src: /src/postfix/postfix/src/util/attr_print64.c:276,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/attr_print64.c:276,1
    - Dst: SEND_ATTR_HASH
      Src: /src/postfix/postfix/src/util/attr_print64.c:277,1
    - Dst: SEND_ATTR_LONG
      Src: /src/postfix/postfix/src/util/attr_print64.c:278,1
    - Dst: attr_print64
      Src: /src/postfix/postfix/src/util/attr_print64.c:280,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/util/attr_print64.c:281,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/util/attr_print64.c:282,1
    - Dst: SEND_ATTR_LONG
      Src: /src/postfix/postfix/src/util/attr_print64.c:283,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/util/attr_print64.c:284,1
    - Dst: SEND_ATTR_DATA
      Src: /src/postfix/postfix/src/util/attr_print64.c:285,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/attr_print64.c:285,1
    - Dst: attr_print64
      Src: /src/postfix/postfix/src/util/attr_print64.c:287,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/util/attr_print64.c:288,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/attr_print64.c:290,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/attr_print64.c:291,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/util/attr_print64.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - unused_argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 263
    functionDepth: 5
    functionLinenumber: 263
    functionLinenumberEnd: 295
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/attr_print64.c
    functionUses: 40
    functionsReached:
    - SEND_ATTR_HASH
    - strlen
    - SEND_ATTR_DATA
    - htable_create
    - SEND_ATTR_STR
    - SEND_ATTR_INT
    - vstream_fflush
    - htable_free
    - msg_vstream_init
    - htable_enter
    - attr_print64
    - SEND_ATTR_LONG
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/mkmap_cdb.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - unused_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: mkmap_cdb_open
    functionSourceFile: /src/postfix/postfix/src/util/mkmap_cdb.c
    functionUses: 0
    functionsReached:
    - mymalloc
    linkageType: ''
    returnType: MKMAP
    signature: MKMAP *mkmap_cdb_open(const char *unused_path)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:54,1
    - Dst: CMSG_SPACE
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:71,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:75,1
    - Dst: CMSG_LEN
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:78,1
    - Dst: recvmsg
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:102,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:106,1
    - Dst: CMSG_LEN
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:107,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:109,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:112,1
    - Dst: CMSG_DATA
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:114,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 124
    functionName: unix_recv_fd
    functionSourceFile: /src/postfix/postfix/src/util/unix_recv_fd.c
    functionUses: 0
    functionsReached:
    - CMSG_LEN
    - msg_warn
    - recvmsg
    - CMSG_SPACE
    - CMSG_FIRSTHDR
    - memset
    - CMSG_DATA
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int unix_recv_fd(int fd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: split_at
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:149,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:151,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:153,1
    - Dst: unix_listen
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:154,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:156,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:159,1
    - Dst: accept
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:161,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:163,1
    - Dst: set_unix_pass_fd_fix
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:165,1
    - Dst: unix_recv_fd
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:167,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:168,1
    - Dst: read
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:169,1
    - Dst: write
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:170,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:172,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:173,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/unix_recv_fd.c:175,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 176
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/unix_recv_fd.c
    functionUses: 40
    functionsReached:
    - accept
    - unix_listen
    - read
    - close
    - exit
    - msg_info
    - strcmp
    - split_at
    - msg_fatal
    - unix_recv_fd
    - set_unix_pass_fd_fix
    - write
    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: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/util/strcasecmp_utf8.c
    functionUses: 486
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:93,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: strcasecmp_utf8_init
    functionSourceFile: /src/postfix/postfix/src/util/strcasecmp_utf8.c
    functionUses: 0
    functionsReached:
    - vstring_alloc
    linkageType: ''
    returnType: void
    signature: void strcasecmp_utf8_init(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: allascii
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:107,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:107,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:108,1
    - Dst: strcasecmp_utf8_init
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:111,1
    - Dst: casefoldx
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:118,1
    - Dst: casefoldx
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:119,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:120,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:120,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - flags
    - s1
    - s2
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 121
    functionName: strcasecmp_utf8x
    functionSourceFile: /src/postfix/postfix/src/util/strcasecmp_utf8.c
    functionUses: 0
    functionsReached:
    - casefoldx
    - STR
    - strcasecmp
    - strcmp
    - allascii
    - strcasecmp_utf8_init
    linkageType: ''
    returnType: int
    signature: int strcasecmp_utf8x(int flags, const char *s1, const char *s2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp_utf8_init
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:133,1
    - Dst: allascii_len
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:140,1
    - Dst: allascii_len
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:140,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:141,1
    - Dst: casefoldx
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:148,1
    - Dst: casefoldx
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:149,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:150,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:150,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - flags
    - s1
    - s2
    - len
    argTypes:
    - int
    - char*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 151
    functionName: strncasecmp_utf8x
    functionSourceFile: /src/postfix/postfix/src/util/strcasecmp_utf8.c
    functionUses: 0
    functionsReached:
    - allascii_len
    - casefoldx
    - STR
    - strcmp
    - strncasecmp
    - strcasecmp_utf8_init
    linkageType: ''
    returnType: int
    signature: "int strncasecmp_utf8x(int flags, const char *s1, const char *s2,\n\t\t\t
      \         ssize_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:163,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:170,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:173,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:174,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:174,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:175,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:175,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:183,1
    - Dst: strcasecmp_utf8x
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:184,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:185,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:194,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:195,1
    - Dst: strncasecmp_utf8x
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:196,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:197,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:207,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:210,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:211,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/strcasecmp_utf8.c:213,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 161
    functionDepth: 4
    functionLinenumber: 161
    functionLinenumberEnd: 214
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/strcasecmp_utf8.c
    functionUses: 40
    functionsReached:
    - strcasecmp_utf8x
    - vstring_fgets_nonl
    - strncasecmp_utf8x
    - vstream_fflush
    - vstring_alloc
    - argv_free
    - msg_vstream_init
    - sscanf
    - exit
    - strcmp
    - vstream_printf
    - argv_split
    - STR
    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: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/util/dict_stream.c
    functionUses: 489
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/util/dict_stream.c
    functionUses: 140
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/dict_stream.c:92,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/dict_stream.c:97,1
    - Dst: extpar
      Src: /src/postfix/postfix/src/util/dict_stream.c:99,1
    - Dst: mystrtokq
      Src: /src/postfix/postfix/src/util/dict_stream.c:101,1
    - Dst: extpar
      Src: /src/postfix/postfix/src/util/dict_stream.c:102,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/dict_stream.c:104,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/dict_stream.c:105,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_stream.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - vp
    - mapname
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 108
    functionName: dict_inline_to_multiline
    functionSourceFile: /src/postfix/postfix/src/util/dict_stream.c
    functionUses: 0
    functionsReached:
    - extpar
    - myfree
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - mystrtokq
    - vstring_sprintf_append
    - mystrdup
    linkageType: ''
    returnType: char
    signature: char *dict_inline_to_multiline(VSTRING *vp, const char *mapname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_stream.c:132,1
    - Dst: dict_inline_to_multiline
      Src: /src/postfix/postfix/src/util/dict_stream.c:133,1
    - Dst: RETURN_0_WITH_REASON
      Src: /src/postfix/postfix/src/util/dict_stream.c:134,1
    - Dst: vstream_memopen
      Src: /src/postfix/postfix/src/util/dict_stream.c:135,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/util/dict_stream.c:136,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/util/dict_stream.c:137,1
    - Dst: getgid
      Src: /src/postfix/postfix/src/util/dict_stream.c:138,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/util/dict_stream.c:141,1
    - Dst: RETURN_0_WITH_REASON
      Src: /src/postfix/postfix/src/util/dict_stream.c:142,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/util/dict_stream.c:143,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/dict_stream.c:143,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_stream.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - dict_type
    - mapname
    - open_flags
    - dict_flags
    - st
    - why
    argTypes:
    - char*
    - char*
    - int
    - int
    - struct stat*
    - VSTRING**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 112
    functionDepth: 4
    functionLinenumber: 112
    functionLinenumberEnd: 147
    functionName: dict_stream_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_stream.c
    functionUses: 1
    functionsReached:
    - dict_inline_to_multiline
    - RETURN_0_WITH_REASON
    - vstring_alloc
    - vstream_memopen
    - getgid
    - vstream_control
    - fstat
    - vstream_fileno
    - msg_fatal
    - vstream_fopen
    - getuid
    linkageType: ''
    returnType: VSTREAM
    signature: "VSTREAM *dict_stream_open(const char *dict_type, const char *mapname,\n\t\t\t
      \         int open_flags, int dict_flags,\n\t\t\t          struct stat * st,
      VSTRING **why)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: RETURN_0_WITH_REASON
    functionSourceFile: /src/postfix/postfix/src/util/dict_stream.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETURN_0_WITH_REASON(...)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_stream.c:195,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_stream.c:206,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_stream.c:209,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_stream.c:210,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_stream.c:211,1
    - Dst: STRING_OR_NULL
      Src: /src/postfix/postfix/src/util/dict_stream.c:211,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_stream.c:212,1
    - Dst: STRINGOR_NULL
      Src: /src/postfix/postfix/src/util/dict_stream.c:212,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/dict_stream.c:216,1
    - Dst: dict_stream_open
      Src: /src/postfix/postfix/src/util/dict_stream.c:217,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_stream.c:221,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/dict_stream.c:222,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_stream.c:223,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_stream.c:224,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_stream.c:226,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_stream.c:229,1
    - Dst: vstream_fread_buf
      Src: /src/postfix/postfix/src/util/dict_stream.c:230,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_stream.c:231,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/dict_stream.c:233,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_stream.c:234,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_stream.c:234,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_stream.c:235,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_stream.c:236,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_stream.c:244,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_stream.c:247,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_stream.c:249,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_stream.c:249,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_stream.c:250,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_stream.c:251,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_stream.c:258,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_stream.c:261,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/dict_stream.c:265,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_stream.c:268,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_stream.c:269,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_stream.c:270,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 153
    functionDepth: 5
    functionLinenumber: 153
    functionLinenumberEnd: 272
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/dict_stream.c
    functionUses: 40
    functionsReached:
    - STRING_OR_NULL
    - dict_stream_open
    - STRINGOR_NULL
    - msg_warn
    - strlen
    - vstring_alloc
    - LEN
    - msg_info
    - vstream_fclose
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - strcmp
    - vstream_fread_buf
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - text_if_null
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: STRING_OR
    functionSourceFile: /src/postfix/postfix/src/util/dict_stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRING_OR(s, text_if_null)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/postfix/postfix/src/util/peekfd.c:80,1
    - Dst: shutdown
      Src: /src/postfix/postfix/src/util/peekfd.c:81,1
    - Dst: ioctl
      Src: /src/postfix/postfix/src/util/peekfd.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 92
    functionName: peekfd
    functionSourceFile: /src/postfix/postfix/src/util/peekfd.c
    functionUses: 10
    functionsReached:
    - shutdown
    - ioctl
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t peekfd(int fd)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/util/attr_print0.c
    functionUses: 490
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/util/attr_print0.c
    functionUses: 141
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/attr_print0.c:129,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print0.c:135,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print0.c:138,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/util/attr_print0.c:139,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/attr_print0.c:139,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print0.c:140,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/attr_print0.c:141,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/attr_print0.c:142,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_print0.c:144,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print0.c:147,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/util/attr_print0.c:148,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/attr_print0.c:148,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print0.c:149,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/attr_print0.c:150,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/attr_print0.c:151,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_print0.c:153,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print0.c:156,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/util/attr_print0.c:157,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/attr_print0.c:157,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print0.c:158,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/util/attr_print0.c:159,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/attr_print0.c:159,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_print0.c:161,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print0.c:164,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/util/attr_print0.c:165,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/attr_print0.c:165,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print0.c:166,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print0.c:167,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/attr_print0.c:169,1
    - Dst: base64_encode
      Src: /src/postfix/postfix/src/util/attr_print0.c:170,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/util/attr_print0.c:171,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_print0.c:171,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/attr_print0.c:171,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_print0.c:173,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print0.c:177,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print0.c:178,1
    - Dst: print_fn
      Src: /src/postfix/postfix/src/util/attr_print0.c:179,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/util/attr_print0.c:182,1
    - Dst: htable_list
      Src: /src/postfix/postfix/src/util/attr_print0.c:183,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print0.c:183,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/util/attr_print0.c:185,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/attr_print0.c:185,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/util/attr_print0.c:186,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/attr_print0.c:186,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_print0.c:188,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/attr_print0.c:191,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/util/attr_print0.c:192,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/attr_print0.c:195,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/attr_print0.c:199,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/util/attr_print0.c:200,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 67
    argCount: 3
    argNames:
    - fp
    - flags
    - ap
    argTypes:
    - VSTREAM*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 201
    functionName: attr_vprint0
    functionSourceFile: /src/postfix/postfix/src/util/attr_print0.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - VSTREAM_PUTC
    - print_fn
    - vstream_fprintf
    - strlen
    - base64_encode
    - va_arg
    - vstring_alloc
    - LEN
    - msg_info
    - vstream_fwrite
    - myfree
    - vstream_ferror
    - htable_list
    - STR
    linkageType: ''
    returnType: int
    signature: int attr_vprint0(VSTREAM *fp, int flags, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/attr_print0.c:208,1
    - Dst: attr_vprint0
      Src: /src/postfix/postfix/src/util/attr_print0.c:209,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/attr_print0.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fp
    - flags
    argTypes:
    - VSTREAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 212
    functionName: attr_print0
    functionSourceFile: /src/postfix/postfix/src/util/attr_print0.c
    functionUses: 0
    functionsReached:
    - va_start
    - attr_vprint0
    - va_end
    linkageType: ''
    returnType: int
    signature: int attr_print0(VSTREAM *fp, int flags,...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htable_create
      Src: /src/postfix/postfix/src/util/attr_print0.c:224,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/attr_print0.c:226,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/util/attr_print0.c:228,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/attr_print0.c:228,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/util/attr_print0.c:229,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/attr_print0.c:229,1
    - Dst: attr_print0
      Src: /src/postfix/postfix/src/util/attr_print0.c:230,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/util/attr_print0.c:231,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/util/attr_print0.c:232,1
    - Dst: SEND_ATTR_LONG
      Src: /src/postfix/postfix/src/util/attr_print0.c:233,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/util/attr_print0.c:234,1
    - Dst: SEND_ATTR_DATA
      Src: /src/postfix/postfix/src/util/attr_print0.c:235,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/attr_print0.c:235,1
    - Dst: SEND_ATTR_HASH
      Src: /src/postfix/postfix/src/util/attr_print0.c:236,1
    - Dst: SEND_ATTR_LONG
      Src: /src/postfix/postfix/src/util/attr_print0.c:237,1
    - Dst: attr_print0
      Src: /src/postfix/postfix/src/util/attr_print0.c:239,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/util/attr_print0.c:240,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/util/attr_print0.c:241,1
    - Dst: SEND_ATTR_LONG
      Src: /src/postfix/postfix/src/util/attr_print0.c:242,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/util/attr_print0.c:243,1
    - Dst: SEND_ATTR_DATA
      Src: /src/postfix/postfix/src/util/attr_print0.c:244,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/attr_print0.c:244,1
    - Dst: attr_print0
      Src: /src/postfix/postfix/src/util/attr_print0.c:246,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/util/attr_print0.c:247,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/attr_print0.c:249,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/attr_print0.c:250,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/util/attr_print0.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - unused_argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 254
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/attr_print0.c
    functionUses: 40
    functionsReached:
    - SEND_ATTR_HASH
    - strlen
    - SEND_ATTR_DATA
    - htable_create
    - SEND_ATTR_STR
    - SEND_ATTR_INT
    - vstream_fflush
    - htable_free
    - msg_vstream_init
    - htable_enter
    - SEND_ATTR_LONG
    - attr_print0
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: HAS_IPV6_COL
    functionSourceFile: /src/postfix/postfix/src/util/host_port.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAS_IPV6_COL(str)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: HAS_IPV6_COL
      Src: /src/postfix/postfix/src/util/host_port.c:127,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/util/host_port.c:130,1
    - Dst: valid_ipv6_hostaddr
      Src: /src/postfix/postfix/src/util/host_port.c:134,1
    - Dst: split_at_right
      Src: /src/postfix/postfix/src/util/host_port.c:143,1
    - Dst: valid_utf8_hostname
      Src: /src/postfix/postfix/src/util/host_port.c:161,1
    - Dst: valid_hostaddr
      Src: /src/postfix/postfix/src/util/host_port.c:162,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/util/host_port.c:164,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/util/host_port.c:164,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 5
    argNames:
    - buf
    - host
    - def_host
    - port
    - def_service
    argTypes:
    - char*
    - char**
    - char*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 167
    functionName: host_port
    functionSourceFile: /src/postfix/postfix/src/util/host_port.c
    functionUses: 2
    functionsReached:
    - valid_hostaddr
    - alldig
    - valid_ipv6_hostaddr
    - valid_utf8_hostname
    - split_at_right
    - ISDIGIT
    - HAS_IPV6_COL
    - split_at
    linkageType: ''
    returnType: char
    signature: "char *host_port(char *buf, char **host, char *def_host,\n\t\t              char
      **port, char *def_service)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/util/host_port.c
    functionUses: 492
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/host_port.c:179,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/host_port.c:180,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/util/host_port.c:185,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/host_port.c:186,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/host_port.c:186,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/host_port.c:187,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/host_port.c:188,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/host_port.c:190,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/host_port.c:190,1
    - Dst: host_port
      Src: /src/postfix/postfix/src/util/host_port.c:191,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/host_port.c:191,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/host_port.c:192,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/host_port.c:192,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/host_port.c:194,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/host_port.c:195,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/host_port.c:198,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/host_port.c:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 201
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/host_port.c
    functionUses: 40
    functionsReached:
    - msg_warn
    - vstring_fgets_nonl
    - vstream_fflush
    - vstring_alloc
    - vstring_strcpy
    - vstream_printf
    - host_port
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/fullname.c:61,1
    - Dst: safe_getenv
      Src: /src/postfix/postfix/src/util/fullname.c:66,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/fullname.c:67,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/fullname.c:67,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/util/fullname.c:72,1
    - Dst: getpwuid
      Src: /src/postfix/postfix/src/util/fullname.c:73,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/fullname.c:82,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/fullname.c:88,1
    - Dst: TOUPPER
      Src: /src/postfix/postfix/src/util/fullname.c:88,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/util/fullname.c:89,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/fullname.c:92,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/fullname.c:95,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/fullname.c:96,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 97
    functionName: fullname
    functionSourceFile: /src/postfix/postfix/src/util/fullname.c
    functionUses: 1
    functionsReached:
    - VSTRING_ADDCH
    - getpwuid
    - vstring_alloc
    - safe_getenv
    - VSTRING_RESET
    - vstring_strcat
    - VSTRING_TERMINATE
    - vstring_strcpy
    - vstring_str
    - TOUPPER
    - getuid
    linkageType: ''
    returnType: char
    signature: char *fullname(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fullname
      Src: /src/postfix/postfix/src/util/fullname.c:105,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/fullname.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/fullname.c
    functionUses: 40
    functionsReached:
    - fullname
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: safe_open
      Src: /src/postfix/postfix/src/util/open_lock.c:67,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/open_lock.c:69,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/open_lock.c:69,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/open_lock.c:71,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/open_lock.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - path
    - flags
    - mode
    - why
    argTypes:
    - char*
    - int
    - mode_t
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 76
    functionName: open_lock
    functionSourceFile: /src/postfix/postfix/src/util/open_lock.c
    functionUses: 1
    functionsReached:
    - myflock
    - vstring_sprintf
    - vstream_fclose
    - vstream_fileno
    - safe_open
    linkageType: ''
    returnType: VSTREAM
    signature: VSTREAM *open_lock(const char *path, int flags, mode_t mode, VSTRING
      *why)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: MSG_LOGGER_NEED_SOCKET
    functionSourceFile: /src/postfix/postfix/src/util/msg_logger.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MSG_LOGGER_NEED_SOCKET()
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/util/msg_logger.c
    functionUses: 493
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/util/msg_logger.c
    functionUses: 142
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unix_dgram_connect
      Src: /src/postfix/postfix/src/util/msg_logger.c:150,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/util/msg_logger.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: msg_logger_connect
    functionSourceFile: /src/postfix/postfix/src/util/msg_logger.c
    functionUses: 0
    functionsReached:
    - unix_dgram_connect
    - close_on_exec
    linkageType: ''
    returnType: void
    signature: void msg_logger_connect(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/postfix/postfix/src/util/msg_logger.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: msg_logger_disconnect
    functionSourceFile: /src/postfix/postfix/src/util/msg_logger.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void msg_logger_disconnect(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/postfix/postfix/src/util/msg_logger.c:200,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/msg_logger.c:201,1
    - Dst: localtime
      Src: /src/postfix/postfix/src/util/msg_logger.c:202,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/msg_logger.c:203,1
    - Dst: strftime
      Src: /src/postfix/postfix/src/util/msg_logger.c:204,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/msg_logger.c:204,1
    - Dst: vstring_avail
      Src: /src/postfix/postfix/src/util/msg_logger.c:205,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/msg_logger.c:207,1
    - Dst: vstring_set_payload_size
      Src: /src/postfix/postfix/src/util/msg_logger.c:208,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/msg_logger.c:213,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/util/msg_logger.c:214,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/msg_logger.c:221,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/msg_logger.c:224,1
    - Dst: getpid
      Src: /src/postfix/postfix/src/util/msg_logger.c:225,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/msg_logger.c:228,1
    - Dst: getpid
      Src: /src/postfix/postfix/src/util/msg_logger.c:229,1
    - Dst: MSG_LOGGER_NEED_SOCKET
      Src: /src/postfix/postfix/src/util/msg_logger.c:238,1
    - Dst: msg_logger_connect
      Src: /src/postfix/postfix/src/util/msg_logger.c:239,1
    - Dst: send
      Src: /src/postfix/postfix/src/util/msg_logger.c:241,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/msg_logger.c:241,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/msg_logger.c:241,1
    - Dst: msg_logger_fallback_fn
      Src: /src/postfix/postfix/src/util/msg_logger.c:243,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/msg_logger.c:243,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - level
    - text
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 245
    functionName: msg_logger_print
    functionSourceFile: /src/postfix/postfix/src/util/msg_logger.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstring_sprintf_append
    - send
    - vstring_str
    - msg_logger_fallback_fn
    - localtime
    - strftime
    - time
    - getpid
    - vstring_set_payload_size
    - LEN
    - VSTRING_RESET
    - vstring_avail
    - strcspn
    - msg_logger_connect
    - msg_fatal
    - MSG_LOGGER_NEED_SOCKET
    - STR
    linkageType: ''
    returnType: void
    signature: void msg_logger_print(int level, const char *text)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unsafe
      Src: /src/postfix/postfix/src/util/msg_logger.c:260,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/util/msg_logger.c:261,1
    - Dst: unsetenv
      Src: /src/postfix/postfix/src/util/msg_logger.c:262,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/msg_logger.c:264,1
    - Dst: tzset
      Src: /src/postfix/postfix/src/util/msg_logger.c:266,1
    - Dst: UPDATE_AND_FREE
      Src: /src/postfix/postfix/src/util/msg_logger.c:281,1
    - Dst: UPDATE_AND_FREE
      Src: /src/postfix/postfix/src/util/msg_logger.c:282,1
    - Dst: UPDATE_AND_FREE
      Src: /src/postfix/postfix/src/util/msg_logger.c:283,1
    - Dst: msg_output
      Src: /src/postfix/postfix/src/util/msg_logger.c:291,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/msg_logger.c:292,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - progname
    - hostname
    - unix_path
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 300
    functionName: msg_logger_init
    functionSourceFile: /src/postfix/postfix/src/util/msg_logger.c
    functionUses: 1
    functionsReached:
    - msg_output
    - getenv
    - UPDATE_AND_FREE
    - unsetenv
    - vstring_alloc
    - tzset
    - msg_fatal
    - unsafe
    linkageType: ''
    returnType: void
    signature: "void msg_logger_init(const char *progname, const char *hostname,\n\t
      \            const char *unix_path, void (*fallback) (const char *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: UPDATE_AND_FREE
    functionSourceFile: /src/postfix/postfix/src/util/msg_logger.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_AND_FREE(dst, src)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/msg_logger.c:313,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/msg_logger.c:313,1
    - Dst: msg_logger_disconnect
      Src: /src/postfix/postfix/src/util/msg_logger.c:317,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/msg_logger.c:320,1
    - Dst: msg_logger_disconnect
      Src: /src/postfix/postfix/src/util/msg_logger.c:326,1
    - Dst: MSG_LOGGER_NEED_SOCKET
      Src: /src/postfix/postfix/src/util/msg_logger.c:327,1
    - Dst: msg_logger_connect
      Src: /src/postfix/postfix/src/util/msg_logger.c:328,1
    - Dst: msg_logger_fallback_fn
      Src: /src/postfix/postfix/src/util/msg_logger.c:331,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/msg_logger.c:334,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/msg_logger.c:337,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - name
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 304
    functionDepth: 3
    functionLinenumber: 304
    functionLinenumberEnd: 338
    functionName: msg_logger_control
    functionSourceFile: /src/postfix/postfix/src/util/msg_logger.c
    functionUses: 2
    functionsReached:
    - va_start
    - msg_panic
    - va_end
    - msg_logger_fallback_fn
    - va_arg
    - msg_logger_connect
    - MSG_LOGGER_NEED_SOCKET
    - msg_logger_disconnect
    linkageType: ''
    returnType: void
    signature: void msg_logger_control(int name,...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: logwriter_one_shot
      Src: /src/postfix/postfix/src/util/msg_logger.c:351,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/msg_logger.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 354
    functionName: fallback
    functionSourceFile: /src/postfix/postfix/src/util/msg_logger.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - logwriter_one_shot
    linkageType: ''
    returnType: void
    signature: void fallback(const char *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/msg_logger.c:358,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/msg_logger.c:361,1
    - Dst: msg_logger_init
      Src: /src/postfix/postfix/src/util/msg_logger.c:362,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/util/msg_logger.c:367,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/util/msg_logger.c:369,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/msg_logger.c:371,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/msg_logger.c:372,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/msg_logger.c:372,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/msg_logger.c:373,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/msg_logger.c:374,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/msg_logger.c:375,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/msg_logger.c:375,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/msg_logger.c:376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 378
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/msg_logger.c
    functionUses: 40
    functionsReached:
    - msg_warn
    - vstring_str
    - vstring_alloc
    - msg_logger_init
    - vstring_strcat
    - msg_fatal
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: CA_MSG_LOGGER_CTL_FALLBACK_FN
    functionSourceFile: /src/postfix/postfix/src/util/msg_logger.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_MSG_LOGGER_CTL_FALLBACK_FN(v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/logwriter.c:93,1
    - Dst: safe_open
      Src: /src/postfix/postfix/src/util/logwriter.c:99,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/logwriter.c:102,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/logwriter.c:102,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/util/logwriter.c:103,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/logwriter.c:103,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/logwriter.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 106
    functionName: logwriter_open_or_die
    functionSourceFile: /src/postfix/postfix/src/util/logwriter.c
    functionUses: 2
    functionsReached:
    - vstring_str
    - vstring_alloc
    - close_on_exec
    - vstream_fileno
    - msg_fatal
    - safe_open
    - vstring_free
    linkageType: ''
    returnType: VSTREAM
    signature: VSTREAM *logwriter_open_or_die(const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/logwriter.c:113,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/util/logwriter.c:114,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/logwriter.c:116,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/logwriter.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - fp
    - buf
    - len
    argTypes:
    - VSTREAM*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: logwriter_write
    functionSourceFile: /src/postfix/postfix/src/util/logwriter.c
    functionUses: 3
    functionsReached:
    - msg_panic
    - vstream_fwrite
    - vstream_fflush
    - VSTREAM_PUTC
    linkageType: ''
    returnType: int
    signature: int logwriter_write(VSTREAM *fp, const char *buf, ssize_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/logwriter.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: logwriter_close
    functionSourceFile: /src/postfix/postfix/src/util/logwriter.c
    functionUses: 0
    functionsReached:
    - vstream_fclose
    linkageType: ''
    returnType: int
    signature: int logwriter_close(VSTREAM *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logwriter_open_or_die
      Src: /src/postfix/postfix/src/util/logwriter.c:134,1
    - Dst: logwriter_write
      Src: /src/postfix/postfix/src/util/logwriter.c:135,1
    - Dst: logwriter_close
      Src: /src/postfix/postfix/src/util/logwriter.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - path
    - buf
    - len
    argTypes:
    - char*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: logwriter_one_shot
    functionSourceFile: /src/postfix/postfix/src/util/logwriter.c
    functionUses: 1
    functionsReached:
    - logwriter_write
    - logwriter_open_or_die
    - logwriter_close
    linkageType: ''
    returnType: int
    signature: int logwriter_one_shot(const char *path, const char *buf, ssize_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: name_code
      Src: /src/postfix/postfix/src/util/logwriter.c:152,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/util/logwriter.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mode_str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 156
    functionName: set_logwriter_create_perms
    functionSourceFile: /src/postfix/postfix/src/util/logwriter.c
    functionUses: 1
    functionsReached:
    - name_code
    - strspn
    linkageType: ''
    returnType: int
    signature: int set_logwriter_create_perms(const char *mode_str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/inet_trigger.c:81,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/util/inet_trigger.c:82,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/util/inet_trigger.c:83,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/inet_trigger.c:84,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/inet_trigger.c:85,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/inet_trigger.c:86,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/inet_trigger.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: inet_trigger_event
    functionSourceFile: /src/postfix/postfix/src/util/inet_trigger.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - close
    - myfree
    - event_disable_readwrite
    - event_cancel_timer
    linkageType: ''
    returnType: void
    signature: void inet_trigger_event(int event, void *context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/inet_trigger.c:100,1
    - Dst: inet_connect
      Src: /src/postfix/postfix/src/util/inet_trigger.c:105,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/inet_trigger.c:107,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/util/inet_trigger.c:110,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/inet_trigger.c:111,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/inet_trigger.c:113,1
    - Dst: write_buf
      Src: /src/postfix/postfix/src/util/inet_trigger.c:118,1
    - Dst: write_buf
      Src: /src/postfix/postfix/src/util/inet_trigger.c:119,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/inet_trigger.c:121,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/util/inet_trigger.c:127,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/util/inet_trigger.c:128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - service
    - buf
    - len
    - timeout
    argTypes:
    - char*
    - char*
    - ssize_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 130
    functionName: inet_trigger
    functionSourceFile: /src/postfix/postfix/src/util/inet_trigger.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - event_request_timer
    - event_enable_read
    - close_on_exec
    - msg_info
    - inet_connect
    - mymalloc
    - mystrdup
    - write_buf
    linkageType: ''
    returnType: int
    signature: int inet_trigger(const char *service, const char *buf, ssize_t len,
      int timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name_mask
      Src: /src/postfix/postfix/src/util/unix_pass_fd_fix.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - workarounds
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: set_unix_pass_fd_fix
    functionSourceFile: /src/postfix/postfix/src/util/unix_pass_fd_fix.c
    functionUses: 1
    functionsReached:
    - name_mask
    linkageType: ''
    returnType: void
    signature: void set_unix_pass_fd_fix(const char *workarounds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/postfix/postfix/src/util/stream_test.c:24,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_test.c:25,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/stream_test.c:26,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/stream_test.c:27,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/stream_test.c:28,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/stream_test.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 30
    functionName: print_fstat
    functionSourceFile: /src/postfix/postfix/src/util/stream_test.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - vstream_fflush
    - vstream_printf
    - fstat
    linkageType: ''
    returnType: void
    signature: void print_fstat(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_test.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/util/stream_test.c
    functionUses: 35
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/stream_test.c:48,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/util/stream_test.c:53,1
    - Dst: usage
      Src: /src/postfix/postfix/src/util/stream_test.c:56,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/util/stream_test.c:61,1
    - Dst: usage
      Src: /src/postfix/postfix/src/util/stream_test.c:62,1
    - Dst: stream_listen
      Src: /src/postfix/postfix/src/util/stream_test.c:69,1
    - Dst: readable
      Src: /src/postfix/postfix/src/util/stream_test.c:70,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_test.c:71,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/stream_test.c:77,1
    - Dst: stream_connect
      Src: /src/postfix/postfix/src/util/stream_test.c:78,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_test.c:79,1
    - Dst: readable
      Src: /src/postfix/postfix/src/util/stream_test.c:80,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/stream_test.c:81,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/stream_test.c:82,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_test.c:83,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/stream_test.c:90,1
    - Dst: readable
      Src: /src/postfix/postfix/src/util/stream_test.c:91,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/stream_test.c:92,1
    - Dst: read_wait
      Src: /src/postfix/postfix/src/util/stream_test.c:93,1
    - Dst: stream_accept
      Src: /src/postfix/postfix/src/util/stream_test.c:95,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_test.c:96,1
    - Dst: print_fstat
      Src: /src/postfix/postfix/src/util/stream_test.c:98,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/stream_test.c:99,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_test.c:100,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/stream_test.c:102,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_test.c:103,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 105
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/stream_test.c
    functionUses: 40
    functionsReached:
    - readable
    - read_wait
    - close
    - stream_listen
    - print_fstat
    - msg_vstream_init
    - msg_info
    - atoi
    - stream_connect
    - usage
    - GETOPT
    - stream_accept
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/stream_test.c
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISASCII
      Src: /src/postfix/postfix/src/util/allprint.c:47,1
    - Dst: ISPRINT
      Src: /src/postfix/postfix/src/util/allprint.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: allprint
    functionSourceFile: /src/postfix/postfix/src/util/allprint.c
    functionUses: 4
    functionsReached:
    - ISASCII
    - ISPRINT
    linkageType: ''
    returnType: int
    signature: int allprint(const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/postfix/postfix/src/util/basename.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: basename
    functionSourceFile: /src/postfix/postfix/src/util/basename.c
    functionUses: 28
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: char
    signature: char *basename(const char *path)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_hostname.c:105,1
    - Dst: ISALNUM
      Src: /src/postfix/postfix/src/util/valid_hostname.c:113,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_hostname.c:119,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/util/valid_hostname.c:122,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_hostname.c:127,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_hostname.c:136,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_hostname.c:145,1
    - Dst: valid_ipv6_hostaddr
      Src: /src/postfix/postfix/src/util/valid_hostname.c:150,1
    - Dst: if
      Src: /src/postfix/postfix/src/util/valid_hostname.c:156,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_hostname.c:157,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 52
    argCount: 2
    argNames:
    - name
    - flags
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 161
    functionName: valid_hostname
    functionSourceFile: /src/postfix/postfix/src/util/valid_hostname.c
    functionUses: 15
    functionsReached:
    - msg_warn
    - if
    - ISALNUM
    - ISDIGIT
    - valid_ipv6_hostaddr
    linkageType: ''
    returnType: int
    signature: int valid_hostname(const char *name, int flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_hostname.c:190,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/util/valid_hostname.c:197,1
    - Dst: valid_ipv6_hostaddr
      Src: /src/postfix/postfix/src/util/valid_hostname.c:198,1
    - Dst: valid_ipv4_hostaddr
      Src: /src/postfix/postfix/src/util/valid_hostname.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - addr
    - gripe
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 201
    functionName: valid_hostaddr
    functionSourceFile: /src/postfix/postfix/src/util/valid_hostname.c
    functionUses: 10
    functionsReached:
    - valid_ipv6_hostaddr
    - msg_warn
    - valid_ipv4_hostaddr
    - strchr
    linkageType: ''
    returnType: int
    signature: int valid_hostaddr(const char *addr, int gripe)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/util/valid_hostname.c:223,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_hostname.c:233,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_hostname.c:239,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/util/valid_hostname.c:243,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_hostname.c:245,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_hostname.c:251,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_hostname.c:259,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 2
    argNames:
    - addr
    - gripe
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 263
    functionName: valid_ipv4_hostaddr
    functionSourceFile: /src/postfix/postfix/src/util/valid_hostname.c
    functionUses: 3
    functionsReached:
    - strspn
    - msg_warn
    - ISDIGIT
    linkageType: ''
    returnType: int
    signature: int valid_ipv4_hostaddr(const char *addr, int gripe)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_hostname.c:294,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_hostname.c:299,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_hostname.c:308,1
    - Dst: valid_ipv4_hostaddr
      Src: /src/postfix/postfix/src/util/valid_hostname.c:313,1
    - Dst: ISALNUM
      Src: /src/postfix/postfix/src/util/valid_hostname.c:316,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_hostname.c:318,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_hostname.c:325,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_hostname.c:334,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/util/valid_hostname.c:343,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_hostname.c:346,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_hostname.c:352,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 2
    argNames:
    - addr
    - gripe
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 360
    functionName: valid_ipv6_hostaddr
    functionSourceFile: /src/postfix/postfix/src/util/valid_hostname.c
    functionUses: 6
    functionsReached:
    - strspn
    - ISALNUM
    - msg_warn
    - valid_ipv4_hostaddr
    linkageType: ''
    returnType: int
    signature: int valid_ipv6_hostaddr(const char *addr, int gripe)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_hostname.c:371,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/util/valid_hostname.c:374,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_hostname.c:376,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/valid_hostname.c:379,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/valid_hostname.c:379,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/util/valid_hostname.c:380,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_hostname.c:382,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - str
    - gripe
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 386
    functionName: valid_hostport
    functionSourceFile: /src/postfix/postfix/src/util/valid_hostname.c
    functionUses: 2
    functionsReached:
    - atoi
    - msg_warn
    - alldig
    - strlen
    linkageType: ''
    returnType: int
    signature: int valid_hostport(const char *str, int gripe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/valid_hostname.c:403,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/valid_hostname.c:405,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/util/valid_hostname.c:408,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/valid_hostname.c:409,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/valid_hostname.c:409,1
    - Dst: valid_hostname
      Src: /src/postfix/postfix/src/util/valid_hostname.c:410,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/valid_hostname.c:410,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/util/valid_hostname.c:411,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/valid_hostname.c:411,1
    - Dst: valid_hostaddr
      Src: /src/postfix/postfix/src/util/valid_hostname.c:412,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/valid_hostname.c:412,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/valid_hostname.c:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - unused_argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 415
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/valid_hostname.c
    functionUses: 40
    functionsReached:
    - strchr
    - vstring_fgets_nonl
    - valid_hostname
    - valid_hostaddr
    - exit
    - vstring_alloc
    - msg_info
    - msg_vstream_init
    - vstring_str
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - len
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: binhash_hash
    functionSourceFile: /src/postfix/postfix/src/util/binhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: binhash_hash(key, len, size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - key
    - len
    - size
    argTypes:
    - void*
    - ssize_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 168
    functionName: binhash_hash
    functionSourceFile: /src/postfix/postfix/src/util/binhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t binhash_hash(const void *key, ssize_t len, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - table
    - ','
    - elm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: binhash_link
    functionSourceFile: /src/postfix/postfix/src/util/binhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: binhash_link(table, elm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/binhash.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - table
    - size
    argTypes:
    - BINHASH*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 197
    functionName: binhash_size
    functionSourceFile: /src/postfix/postfix/src/util/binhash.c
    functionUses: 0
    functionsReached:
    - mymalloc
    linkageType: ''
    returnType: void
    signature: void binhash_size(BINHASH *table, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/binhash.c:205,1
    - Dst: binhash_size
      Src: /src/postfix/postfix/src/util/binhash.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: binhash_create
    functionSourceFile: /src/postfix/postfix/src/util/binhash.c
    functionUses: 3
    functionsReached:
    - mymalloc
    - binhash_size
    linkageType: ''
    returnType: BINHASH
    signature: BINHASH *binhash_create(ssize_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binhash_size
      Src: /src/postfix/postfix/src/util/binhash.c:221,1
    - Dst: binhash_link
      Src: /src/postfix/postfix/src/util/binhash.c:226,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/binhash.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - table
    argTypes:
    - BINHASH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 230
    functionName: binhash_grow
    functionSourceFile: /src/postfix/postfix/src/util/binhash.c
    functionUses: 0
    functionsReached:
    - myfree
    - binhash_link
    - binhash_size
    linkageType: ''
    returnType: void
    signature: void binhash_grow(BINHASH *table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: binhash_grow
      Src: /src/postfix/postfix/src/util/binhash.c:239,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/binhash.c:240,1
    - Dst: mymemdup
      Src: /src/postfix/postfix/src/util/binhash.c:241,1
    - Dst: binhash_link
      Src: /src/postfix/postfix/src/util/binhash.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - table
    - key
    - key_len
    - value
    argTypes:
    - BINHASH*
    - void*
    - ssize_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 234
    functionDepth: 4
    functionLinenumber: 234
    functionLinenumberEnd: 246
    functionName: binhash_enter
    functionSourceFile: /src/postfix/postfix/src/util/binhash.c
    functionUses: 3
    functionsReached:
    - mymalloc
    - binhash_grow
    - mymemdup
    - binhash_link
    linkageType: ''
    returnType: BINHASH_INFO
    signature: BINHASH_INFO *binhash_enter(BINHASH *table, const void *key, ssize_t
      key_len, void *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: binhash_hash
      Src: /src/postfix/postfix/src/util/binhash.c:257,1
    - Dst: KEY_EQ
      Src: /src/postfix/postfix/src/util/binhash.c:258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - table
    - key
    - key_len
    argTypes:
    - BINHASH*
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 261
    functionName: binhash_find
    functionSourceFile: /src/postfix/postfix/src/util/binhash.c
    functionUses: 3
    functionsReached:
    - binhash_hash
    - KEY_EQ
    linkageType: ''
    returnType: void
    signature: void *binhash_find(BINHASH *table, const void *key, ssize_t key_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 255
    functionName: KEY_EQ
    functionSourceFile: /src/postfix/postfix/src/util/binhash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KEY_EQ(x,y,l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: binhash_hash
      Src: /src/postfix/postfix/src/util/binhash.c:270,1
    - Dst: KEY_EQ
      Src: /src/postfix/postfix/src/util/binhash.c:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - table
    - key
    - key_len
    argTypes:
    - BINHASH*
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 274
    functionName: binhash_locate
    functionSourceFile: /src/postfix/postfix/src/util/binhash.c
    functionUses: 3
    functionsReached:
    - binhash_hash
    - KEY_EQ
    linkageType: ''
    returnType: BINHASH_INFO
    signature: BINHASH_INFO *binhash_locate(BINHASH *table, const void *key, ssize_t
      key_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: binhash_hash
      Src: /src/postfix/postfix/src/util/binhash.c:282,1
    - Dst: KEY_EQ
      Src: /src/postfix/postfix/src/util/binhash.c:285,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/binhash.c:293,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/binhash.c:296,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/binhash.c:300,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - table
    - key
    - key_len
    argTypes:
    - BINHASH*
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 302
    functionName: binhash_delete
    functionSourceFile: /src/postfix/postfix/src/util/binhash.c
    functionUses: 3
    functionsReached:
    - myfree
    - binhash_hash
    - msg_panic
    - KEY_EQ
    linkageType: ''
    returnType: void
    signature: void binhash_delete(BINHASH *table, const void *key, ssize_t key_len,
      void (*free_fn) (void *))
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/binhash.c:317,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/binhash.c:320,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/binhash.c:323,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/binhash.c:326,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/binhash.c:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - table
    argTypes:
    - BINHASH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 330
    functionName: binhash_free
    functionSourceFile: /src/postfix/postfix/src/util/binhash.c
    functionUses: 0
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void binhash_free(BINHASH *table, void (*free_fn) (void *))
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - table
    - ptr
    argTypes:
    - BINHASH*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 345
    functionName: binhash_walk
    functionSourceFile: /src/postfix/postfix/src/util/binhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void binhash_walk(BINHASH *table, void (*action) (BINHASH_INFO *,
      void *),\n\t\t             void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/binhash.c:357,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/binhash.c:362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 366
    functionName: binhash_list
    functionSourceFile: /src/postfix/postfix/src/util/binhash.c
    functionUses: 1
    functionsReached:
    - mymalloc
    linkageType: ''
    returnType: BINHASH_INFO
    signature: BINHASH_INFO **binhash_list(BINHASH *table)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/binhash.c:378,1
    - Dst: binhash_list
      Src: /src/postfix/postfix/src/util/binhash.c:379,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/binhash.c:388,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - table
    - how
    argTypes:
    - BINHASH*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 393
    functionName: binhash_sequence
    functionSourceFile: /src/postfix/postfix/src/util/binhash.c
    functionUses: 0
    functionsReached:
    - myfree
    - binhash_list
    linkageType: ''
    returnType: BINHASH_INFO
    signature: BINHASH_INFO *binhash_sequence(BINHASH *table, int how)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/binhash.c:401,1
    - Dst: binhash_create
      Src: /src/postfix/postfix/src/util/binhash.c:415,1
    - Dst: vstring_get
      Src: /src/postfix/postfix/src/util/binhash.c:416,1
    - Dst: binhash_enter
      Src: /src/postfix/postfix/src/util/binhash.c:417,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/binhash.c:417,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/binhash.c:417,1
    - Dst: CAST_INT_TO_VOID_PTR
      Src: /src/postfix/postfix/src/util/binhash.c:418,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/binhash.c:420,1
    - Dst: binhash_sequence
      Src: /src/postfix/postfix/src/util/binhash.c:422,1
    - Dst: memchr
      Src: /src/postfix/postfix/src/util/binhash.c:424,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/binhash.c:425,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/binhash.c:427,1
    - Dst: binhash_list
      Src: /src/postfix/postfix/src/util/binhash.c:429,1
    - Dst: myrand
      Src: /src/postfix/postfix/src/util/binhash.c:431,1
    - Dst: binhash_delete
      Src: /src/postfix/postfix/src/util/binhash.c:437,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/binhash.c:439,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/binhash.c:440,1
    - Dst: binhash_free
      Src: /src/postfix/postfix/src/util/binhash.c:441,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/binhash.c:442,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 399
    functionDepth: 5
    functionLinenumber: 399
    functionLinenumberEnd: 444
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/binhash.c
    functionUses: 40
    functionsReached:
    - msg_panic
    - binhash_free
    - VSTRING_LEN
    - vstring_get
    - CAST_INT_TO_VOID_PTR
    - myrand
    - binhash_sequence
    - vstring_alloc
    - binhash_enter
    - binhash_delete
    - memchr
    - myfree
    - binhash_list
    - vstring_str
    - binhash_create
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: htable_hash
    functionSourceFile: /src/postfix/postfix/src/util/htable.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htable_hash(s, size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - s
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 160
    functionName: htable_hash
    functionSourceFile: /src/postfix/postfix/src/util/htable.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t htable_hash(const char *s, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - table
    - ','
    - element
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: htable_link
    functionSourceFile: /src/postfix/postfix/src/util/htable.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htable_link(table, element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/htable.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - table
    - size
    argTypes:
    - HTABLE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 189
    functionName: htable_size
    functionSourceFile: /src/postfix/postfix/src/util/htable.c
    functionUses: 0
    functionsReached:
    - mymalloc
    linkageType: ''
    returnType: void
    signature: void htable_size(HTABLE *table, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/htable.c:197,1
    - Dst: htable_size
      Src: /src/postfix/postfix/src/util/htable.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: htable_create
    functionSourceFile: /src/postfix/postfix/src/util/htable.c
    functionUses: 41
    functionsReached:
    - mymalloc
    - htable_size
    linkageType: ''
    returnType: HTABLE
    signature: HTABLE *htable_create(ssize_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htable_size
      Src: /src/postfix/postfix/src/util/htable.c:213,1
    - Dst: htable_link
      Src: /src/postfix/postfix/src/util/htable.c:218,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/htable.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - table
    argTypes:
    - HTABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 222
    functionName: htable_grow
    functionSourceFile: /src/postfix/postfix/src/util/htable.c
    functionUses: 0
    functionsReached:
    - myfree
    - htable_size
    - htable_link
    linkageType: ''
    returnType: void
    signature: void htable_grow(HTABLE *table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htable_grow
      Src: /src/postfix/postfix/src/util/htable.c:231,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/htable.c:232,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/htable.c:233,1
    - Dst: htable_link
      Src: /src/postfix/postfix/src/util/htable.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - table
    - key
    - value
    argTypes:
    - HTABLE*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 226
    functionDepth: 4
    functionLinenumber: 226
    functionLinenumberEnd: 237
    functionName: htable_enter
    functionSourceFile: /src/postfix/postfix/src/util/htable.c
    functionUses: 45
    functionsReached:
    - mymalloc
    - htable_grow
    - mystrdup
    - htable_link
    linkageType: ''
    returnType: HTABLE_INFO
    signature: HTABLE_INFO *htable_enter(HTABLE *table, const char *key, void *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htable_hash
      Src: /src/postfix/postfix/src/util/htable.c:248,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/util/htable.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - table
    - key
    argTypes:
    - HTABLE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 252
    functionName: htable_find
    functionSourceFile: /src/postfix/postfix/src/util/htable.c
    functionUses: 54
    functionsReached:
    - STREQ
    - htable_hash
    linkageType: ''
    returnType: void
    signature: void *htable_find(HTABLE *table, const char *key)
  - 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: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/util/htable.c
    functionUses: 50
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x,y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htable_hash
      Src: /src/postfix/postfix/src/util/htable.c:263,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/util/htable.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - table
    - key
    argTypes:
    - HTABLE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: htable_locate
    functionSourceFile: /src/postfix/postfix/src/util/htable.c
    functionUses: 20
    functionsReached:
    - STREQ
    - htable_hash
    linkageType: ''
    returnType: HTABLE_INFO
    signature: HTABLE_INFO *htable_locate(HTABLE *table, const char *key)
  - 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: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/util/htable.c
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x,y)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: htable_hash
      Src: /src/postfix/postfix/src/util/htable.c:275,1
    - Dst: STREQ
      Src: /src/postfix/postfix/src/util/htable.c:280,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/htable.c:288,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/htable.c:291,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/htable.c:303,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - table
    - key
    argTypes:
    - HTABLE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 305
    functionName: htable_delete
    functionSourceFile: /src/postfix/postfix/src/util/htable.c
    functionUses: 16
    functionsReached:
    - myfree
    - STREQ
    - msg_panic
    - htable_hash
    linkageType: ''
    returnType: void
    signature: void htable_delete(HTABLE *table, const char *key, void (*free_fn)
      (void *))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 278
    functionName: STREQ
    functionSourceFile: /src/postfix/postfix/src/util/htable.c
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(x,y)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/htable.c:320,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/htable.c:323,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/htable.c:326,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/htable.c:329,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/htable.c:331,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - table
    argTypes:
    - HTABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 333
    functionName: htable_free
    functionSourceFile: /src/postfix/postfix/src/util/htable.c
    functionUses: 23
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void htable_free(HTABLE *table, void (*free_fn) (void *))
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - table
    - ptr
    argTypes:
    - HTABLE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 348
    functionName: htable_walk
    functionSourceFile: /src/postfix/postfix/src/util/htable.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void htable_walk(HTABLE *table, void (*action) (HTABLE_INFO *, void
      *),\n\t\t            void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/htable.c:360,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/htable.c:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 369
    functionName: htable_list
    functionSourceFile: /src/postfix/postfix/src/util/htable.c
    functionUses: 8
    functionsReached:
    - mymalloc
    linkageType: ''
    returnType: HTABLE_INFO
    signature: HTABLE_INFO **htable_list(HTABLE *table)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/htable.c:381,1
    - Dst: htable_list
      Src: /src/postfix/postfix/src/util/htable.c:382,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/htable.c:391,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - table
    - how
    argTypes:
    - HTABLE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 373
    functionDepth: 3
    functionLinenumber: 373
    functionLinenumberEnd: 396
    functionName: htable_sequence
    functionSourceFile: /src/postfix/postfix/src/util/htable.c
    functionUses: 1
    functionsReached:
    - myfree
    - htable_list
    linkageType: ''
    returnType: HTABLE_INFO
    signature: HTABLE_INFO *htable_sequence(HTABLE *table, int how)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/htable.c:404,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/util/htable.c:417,1
    - Dst: vstring_get
      Src: /src/postfix/postfix/src/util/htable.c:418,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/util/htable.c:419,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/htable.c:419,1
    - Dst: CAST_INT_TO_VOID_PTR
      Src: /src/postfix/postfix/src/util/htable.c:419,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/htable.c:421,1
    - Dst: htable_sequence
      Src: /src/postfix/postfix/src/util/htable.c:423,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/htable.c:427,1
    - Dst: htable_list
      Src: /src/postfix/postfix/src/util/htable.c:429,1
    - Dst: myrand
      Src: /src/postfix/postfix/src/util/htable.c:431,1
    - Dst: htable_delete
      Src: /src/postfix/postfix/src/util/htable.c:437,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/htable.c:439,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/htable.c:440,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/util/htable.c:441,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/htable.c:442,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 402
    functionDepth: 5
    functionLinenumber: 402
    functionLinenumberEnd: 444
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/htable.c
    functionUses: 40
    functionsReached:
    - msg_panic
    - htable_delete
    - htable_create
    - vstring_get
    - CAST_INT_TO_VOID_PTR
    - myrand
    - vstring_alloc
    - htable_free
    - myfree
    - htable_enter
    - htable_sequence
    - htable_list
    - vstring_str
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - list
    argTypes:
    - INET_ADDR_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: inet_addr_list_init
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_list.c
    functionUses: 5
    functionsReached:
    - mymalloc
    linkageType: ''
    returnType: void
    signature: void inet_addr_list_init(INET_ADDR_LIST *list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SOCKADDR_TO_HOSTADDR
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:88,1
    - Dst: SOCK_ADDR_LEN
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:88,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:90,1
    - Dst: myrealloc
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:95,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:98,1
    - Dst: SOCK_ADDR_LEN
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - list
    - addr
    argTypes:
    - INET_ADDR_LIST*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 99
    functionName: inet_addr_list_append
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_list.c
    functionUses: 5
    functionsReached:
    - SOCK_ADDR_LEN
    - msg_info
    - myrealloc
    - memcpy
    - SOCKADDR_TO_HOSTADDR
    linkageType: ''
    returnType: void
    signature: "void inet_addr_list_append(INET_ADDR_LIST *list,\n\t\t\t              struct
      sockaddr *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sock_addr_cmp_addr
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:109,1
    - Dst: SOCK_ADDR_PTR
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:109,1
    - Dst: SOCK_ADDR_PTR
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: inet_addr_list_comp
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_list.c
    functionUses: 0
    functionsReached:
    - sock_addr_cmp_addr
    - SOCK_ADDR_PTR
    linkageType: ''
    returnType: int
    signature: int inet_addr_list_comp(const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:122,1
    - Dst: inet_addr_list_comp
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - list
    argTypes:
    - INET_ADDR_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 138
    functionName: inet_addr_list_uniq
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_list.c
    functionUses: 3
    functionsReached:
    - inet_addr_list_comp
    - qsort
    linkageType: ''
    returnType: void
    signature: void inet_addr_list_uniq(INET_ADDR_LIST *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - INET_ADDR_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: inet_addr_list_free
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_list.c
    functionUses: 3
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void inet_addr_list_free(INET_ADDR_LIST *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SOCKADDR_TO_HOSTADDR
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:161,1
    - Dst: SOCK_ADDR_PTR
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:161,1
    - Dst: SOCK_ADDR_LEN
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:161,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - INET_ADDR_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: inet_addr_list_print
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_list.c
    functionUses: 1
    functionsReached:
    - SOCKADDR_TO_HOSTADDR
    - SOCK_ADDR_PTR
    - SOCK_ADDR_LEN
    - msg_info
    linkageType: ''
    returnType: void
    signature: void inet_addr_list_print(INET_ADDR_LIST *list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inet_proto_init
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:172,1
    - Dst: inet_addr_list_init
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:173,1
    - Dst: inet_addr_host
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:175,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:176,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:177,1
    - Dst: inet_addr_list_print
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:178,1
    - Dst: inet_addr_list_uniq
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:179,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:180,1
    - Dst: inet_addr_list_print
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:181,1
    - Dst: inet_addr_list_free
      Src: /src/postfix/postfix/src/util/inet_addr_list.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 167
    functionDepth: 4
    functionLinenumber: 167
    functionLinenumberEnd: 184
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_list.c
    functionUses: 40
    functionsReached:
    - inet_addr_list_print
    - inet_addr_list_uniq
    - inet_addr_host
    - msg_info
    - inet_addr_list_init
    - inet_proto_init
    - inet_addr_list_free
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf
    - ','
    - data
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: SCOPY
    functionSourceFile: /src/postfix/postfix/src/util/dict_lmdb.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCOPY(buf, data, size)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:143,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:149,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:156,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:157,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:158,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:158,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:165,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:166,1
    - Dst: slmdb_get
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:175,1
    - Dst: SCOPY
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:178,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:181,1
    - Dst: mdb_strerror
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:183,1
    - Dst: slmdb_get
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:194,1
    - Dst: SCOPY
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:197,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:200,1
    - Dst: mdb_strerror
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:202,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:210,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:211,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - dict
    - name
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 214
    functionName: dict_lmdb_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_lmdb.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_fatal
    - myflock
    - strlen
    - vstring_alloc
    - SCOPY
    - vstring_strcpy
    - slmdb_get
    - vstring_str
    - mdb_strerror
    - lowercase
    linkageType: ''
    returnType: char
    signature: char *dict_lmdb_lookup(DICT *dict, const char *name)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:231,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:238,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:239,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:240,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:240,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:244,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:245,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:272,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:273,1
    - Dst: slmdb_put
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:278,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:285,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:288,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:291,1
    - Dst: mdb_strerror
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:293,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:301,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:302,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 3
    argNames:
    - dict
    - name
    - value
    argTypes:
    - DICT*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 305
    functionName: dict_lmdb_update
    functionSourceFile: /src/postfix/postfix/src/util/dict_lmdb.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_fatal
    - myflock
    - msg_warn
    - slmdb_put
    - strlen
    - vstring_alloc
    - vstring_strcpy
    - vstring_str
    - mdb_strerror
    - lowercase
    linkageType: ''
    returnType: int
    signature: int dict_lmdb_update(DICT *dict, const char *name, const char *value)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:317,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:323,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:330,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:331,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:332,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:332,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:339,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:340,1
    - Dst: slmdb_del
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:349,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:354,1
    - Dst: mdb_strerror
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:356,1
    - Dst: slmdb_del
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:369,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:374,1
    - Dst: mdb_strerror
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:376,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:386,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:387,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - dict
    - name
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 390
    functionName: dict_lmdb_delete
    functionSourceFile: /src/postfix/postfix/src/util/dict_lmdb.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_fatal
    - myflock
    - strlen
    - vstring_alloc
    - slmdb_del
    - vstring_strcpy
    - vstring_str
    - mdb_strerror
    - lowercase
    linkageType: ''
    returnType: int
    signature: int dict_lmdb_delete(DICT *dict, const char *name)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:417,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:424,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:425,1
    - Dst: slmdb_cursor_get
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:430,1
    - Dst: SCOPY
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:438,1
    - Dst: SCOPY
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:440,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:458,1
    - Dst: mdb_strerror
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:460,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:467,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:468,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 4
    argNames:
    - dict
    - function
    - key
    - value
    argTypes:
    - DICT*
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 471
    functionName: dict_lmdb_sequence
    functionSourceFile: /src/postfix/postfix/src/util/dict_lmdb.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - myflock
    - SCOPY
    - msg_fatal
    - slmdb_cursor_get
    - mdb_strerror
    linkageType: ''
    returnType: int
    signature: "int dict_lmdb_sequence(DICT *dict, int function,\n\t\t\t              const
      char **key, const char **value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: slmdb_close
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:479,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:481,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:483,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:485,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 487
    functionName: dict_lmdb_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_lmdb.c
    functionUses: 0
    functionsReached:
    - dict_free
    - slmdb_close
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_lmdb_close(DICT *dict)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_longjmp
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - val
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 496
    functionName: dict_lmdb_longjmp
    functionSourceFile: /src/postfix/postfix/src/util/dict_lmdb.c
    functionUses: 0
    functionsReached:
    - dict_longjmp
    linkageType: ''
    returnType: void
    signature: void dict_lmdb_longjmp(void *context, int val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:505,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:508,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:510,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:513,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:515,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:518,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:520,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:523,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:527,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:530,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - context
    - error_code
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 531
    functionName: dict_lmdb_notify
    functionSourceFile: /src/postfix/postfix/src/util/dict_lmdb.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - msg_warn
    - va_arg
    - msg_info
    linkageType: ''
    returnType: void
    signature: void dict_lmdb_notify(void *context, int error_code,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - text
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 541
    functionName: dict_lmdb_assert
    functionSourceFile: /src/postfix/postfix/src/util/dict_lmdb.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void dict_lmdb_assert(void *context, const char *text)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:564,1
    - Dst: slmdb_init
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:614,1
    - Dst: slmdb_open
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:616,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:619,1
    - Dst: mdb_strerror
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:620,1
    - Dst: DICT_LMDB_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:621,1
    - Dst: slmdb_fd
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:633,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:635,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:636,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:637,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:638,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:644,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:652,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:653,1
    - Dst: stat
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:669,1
    - Dst: time
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:671,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:672,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:680,1
    - Dst: dict_jmp_alloc
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:683,1
    - Dst: slmdb_control
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:689,1
    - Dst: CA_SLMDB_CTL_API_RETRY_LIMIT
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:690,1
    - Dst: CA_SLMDB_CTL_BULK_RETRY_LIMIT
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:691,1
    - Dst: CA_SLMDB_CTL_LONGJMP_FN
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:692,1
    - Dst: CA_SLMDB_CTL_NOTIFY_FN
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:693,1
    - Dst: CA_SLMDB_CTL_ASSERT_FN
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:695,1
    - Dst: CA_SLMDB_CTL_CB_CONTEXT
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:696,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:698,1
    - Dst: dict_lmdb_notify
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:701,1
    - Dst: slmdb_curr_limit
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:702,1
    - Dst: DICT_LMDB_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_lmdb.c:704,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 3
    argNames:
    - path
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 705
    functionName: dict_lmdb_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_lmdb.c
    functionUses: 0
    functionsReached:
    - slmdb_fd
    - CA_SLMDB_CTL_ASSERT_FN
    - dict_lmdb_notify
    - CA_SLMDB_CTL_NOTIFY_FN
    - slmdb_curr_limit
    - dict_surrogate
    - dict_alloc
    - CA_SLMDB_CTL_LONGJMP_FN
    - slmdb_open
    - CA_SLMDB_CTL_BULK_RETRY_LIMIT
    - msg_panic
    - vstring_alloc
    - concatenate
    - myflock
    - dict_jmp_alloc
    - time
    - slmdb_control
    - DICT_LMDB_OPEN_RETURN
    - fstat
    - mdb_strerror
    - CA_SLMDB_CTL_API_RETRY_LIMIT
    - stat
    - msg_warn
    - CA_SLMDB_CTL_CB_CONTEXT
    - slmdb_init
    - msg_fatal
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_lmdb_open(const char *path, int open_flags, int dict_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 563
    functionName: DICT_LMDB_OPEN_RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict_lmdb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_LMDB_OPEN_RETURN(d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: yp_get_default_domain
      Src: /src/postfix/postfix/src/util/dict_nis.c:81,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/util/dict_nis.c:83,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_nis.c:85,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_nis.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: dict_nis_init
    functionSourceFile: /src/postfix/postfix/src/util/dict_nis.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - msg_warn
    - yp_get_default_domain
    - msg_info
    linkageType: ''
    returnType: void
    signature: void dict_nis_init(void)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 135
    functionName: dict_nis_strerror
    functionSourceFile: /src/postfix/postfix/src/util/dict_nis.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *dict_nis_strerror(int err)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_nis.c:153,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_nis.c:163,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_nis.c:164,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_nis.c:165,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_nis.c:165,1
    - Dst: yp_match
      Src: /src/postfix/postfix/src/util/dict_nis.c:173,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_nis.c:174,1
    - Dst: yp_match
      Src: /src/postfix/postfix/src/util/dict_nis.c:187,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_nis.c:188,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_nis.c:193,1
    - Dst: vstring_strncpy
      Src: /src/postfix/postfix/src/util/dict_nis.c:194,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_nis.c:195,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_nis.c:205,1
    - Dst: dict_nis_strerror
      Src: /src/postfix/postfix/src/util/dict_nis.c:207,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - dict
    - key
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 211
    functionName: dict_nis_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_nis.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_warn
    - strlen
    - dict_nis_strerror
    - vstring_strncpy
    - vstring_alloc
    - yp_match
    - vstring_strcpy
    - vstring_str
    - lowercase
    linkageType: ''
    returnType: char
    signature: char *dict_nis_lookup(DICT *dict, const char *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_nis.c:218,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/util/dict_nis.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: dict_nis_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_nis.c
    functionUses: 0
    functionsReached:
    - dict_free
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_nis_close(DICT *dict)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_nis.c:229,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/util/dict_nis.c:233,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_nis.c:240,1
    - Dst: dict_nis_init
      Src: /src/postfix/postfix/src/util/dict_nis.c:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - map
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 245
    functionName: dict_nis_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_nis.c
    functionUses: 0
    functionsReached:
    - dict_nis_init
    - dict_surrogate
    - vstring_alloc
    - dict_alloc
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_nis_open(const char *map, int open_flags, int dict_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tag
    - ','
    - table
    - ','
    - str
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: name_mask_opt
    functionSourceFile: /src/postfix/postfix/src/util/name_mask.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: name_mask_opt(tag, table, str, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - table
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: name_mask
    functionSourceFile: /src/postfix/postfix/src/util/name_mask.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: name_mask(tag, table, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - table
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: str_name_mask
    functionSourceFile: /src/postfix/postfix/src/util/name_mask.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: str_name_mask(tag, table, mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tag
    - ','
    - table
    - ','
    - str
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: long_name_mask_opt
    functionSourceFile: /src/postfix/postfix/src/util/name_mask.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: long_name_mask_opt(tag, table, str, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - table
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: long_name_mask
    functionSourceFile: /src/postfix/postfix/src/util/name_mask.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: long_name_mask(tag, table, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - table
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: str_long_name_mask
    functionSourceFile: /src/postfix/postfix/src/util/name_mask.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: str_long_name_mask(tag, table, mask)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/postfix/postfix/src/util/fifo_listen.c:72,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/fifo_listen.c:73,1
    - Dst: mkfifo
      Src: /src/postfix/postfix/src/util/fifo_listen.c:74,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/fifo_listen.c:75,1
    - Dst: open
      Src: /src/postfix/postfix/src/util/fifo_listen.c:78,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/fifo_listen.c:79,1
    - Dst: readable
      Src: /src/postfix/postfix/src/util/fifo_listen.c:80,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/fifo_listen.c:86,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/fifo_listen.c:87,1
    - Dst: open
      Src: /src/postfix/postfix/src/util/fifo_listen.c:91,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/fifo_listen.c:92,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/util/fifo_listen.c:100,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/fifo_listen.c:101,1
    - Dst: S_ISFIFO
      Src: /src/postfix/postfix/src/util/fifo_listen.c:102,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/fifo_listen.c:103,1
    - Dst: fchmod
      Src: /src/postfix/postfix/src/util/fifo_listen.c:104,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/fifo_listen.c:105,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/util/fifo_listen.c:106,1
    - Dst: peekfd
      Src: /src/postfix/postfix/src/util/fifo_listen.c:107,1
    - Dst: read
      Src: /src/postfix/postfix/src/util/fifo_listen.c:108,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 3
    argNames:
    - path
    - permissions
    - block_mode
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 111
    functionName: fifo_listen
    functionSourceFile: /src/postfix/postfix/src/util/fifo_listen.c
    functionUses: 2
    functionsReached:
    - readable
    - read
    - close
    - S_ISFIFO
    - unlink
    - msg_info
    - fchmod
    - open
    - mkfifo
    - non_blocking
    - fstat
    - peekfd
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int fifo_listen(const char *path, int permissions, int block_mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: link
      Src: /src/postfix/postfix/src/util/sane_link.c:51,1
    - Dst: stat
      Src: /src/postfix/postfix/src/util/sane_link.c:59,1
    - Dst: stat
      Src: /src/postfix/postfix/src/util/sane_link.c:59,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/sane_link.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 72
    functionName: sane_link
    functionSourceFile: /src/postfix/postfix/src/util/sane_link.c
    functionUses: 2
    functionsReached:
    - stat
    - msg_info
    - link
    linkageType: ''
    returnType: int
    signature: int sane_link(const char *from, const char *to)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/warn_stat.c:59,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/warn_stat.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 65
    functionName: diagnose_stat
    functionSourceFile: /src/postfix/postfix/src/util/warn_stat.c
    functionUses: 0
    functionsReached:
    - msg_warn
    linkageType: ''
    returnType: void
    signature: void diagnose_stat(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/postfix/postfix/src/util/warn_stat.c:73,1
    - Dst: diagnose_stat
      Src: /src/postfix/postfix/src/util/warn_stat.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - path
    - st
    argTypes:
    - char*
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: warn_stat
    functionSourceFile: /src/postfix/postfix/src/util/warn_stat.c
    functionUses: 0
    functionsReached:
    - stat
    - diagnose_stat
    linkageType: ''
    returnType: int
    signature: int warn_stat(const char *path, struct stat * st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lstat
      Src: /src/postfix/postfix/src/util/warn_stat.c:85,1
    - Dst: diagnose_stat
      Src: /src/postfix/postfix/src/util/warn_stat.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - path
    - st
    argTypes:
    - char*
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: warn_lstat
    functionSourceFile: /src/postfix/postfix/src/util/warn_stat.c
    functionUses: 0
    functionsReached:
    - diagnose_stat
    - lstat
    linkageType: ''
    returnType: int
    signature: int warn_lstat(const char *path, struct stat * st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/postfix/postfix/src/util/warn_stat.c:97,1
    - Dst: diagnose_stat
      Src: /src/postfix/postfix/src/util/warn_stat.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - fd
    - st
    argTypes:
    - int
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: warn_fstat
    functionSourceFile: /src/postfix/postfix/src/util/warn_stat.c
    functionUses: 0
    functionsReached:
    - diagnose_stat
    - fstat
    linkageType: ''
    returnType: int
    signature: int warn_fstat(int fd, struct stat * st)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getsockname
      Src: /src/postfix/postfix/src/util/vstream_tweak.c:76,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/vstream_tweak.c:76,1
    - Dst: vstream_tweak_tcp
      Src: /src/postfix/postfix/src/util/vstream_tweak.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - fp
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 87
    functionName: vstream_tweak_sock
    functionSourceFile: /src/postfix/postfix/src/util/vstream_tweak.c
    functionUses: 1
    functionsReached:
    - vstream_fileno
    - getsockname
    - vstream_tweak_tcp
    linkageType: ''
    returnType: int
    signature: int vstream_tweak_sock(VSTREAM *fp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/postfix/postfix/src/util/vstream_tweak.c:113,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/vstream_tweak.c:113,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/vstream_tweak.c:116,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/vstream_tweak.c:120,1
    - Dst: EFF_BUFFER_SIZE
      Src: /src/postfix/postfix/src/util/vstream_tweak.c:143,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/util/vstream_tweak.c:148,1
    - Dst: CA_VSTREAM_CTL_BUFSIZE
      Src: /src/postfix/postfix/src/util/vstream_tweak.c:149,1
    - Dst: setsockopt
      Src: /src/postfix/postfix/src/util/vstream_tweak.c:161,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/vstream_tweak.c:161,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/vstream_tweak.c:164,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - fp
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 168
    functionName: vstream_tweak_tcp
    functionSourceFile: /src/postfix/postfix/src/util/vstream_tweak.c
    functionUses: 4
    functionsReached:
    - msg_warn
    - EFF_BUFFER_SIZE
    - CA_VSTREAM_CTL_BUFSIZE
    - setsockopt
    - msg_info
    - getsockopt
    - vstream_control
    - vstream_fileno
    linkageType: ''
    returnType: int
    signature: int vstream_tweak_tcp(VSTREAM *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: EFF_BUFFER_SIZE
    functionSourceFile: /src/postfix/postfix/src/util/vstream_tweak.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EFF_BUFFER_SIZE(fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: HTABLE_ACTION_FN_CAST
    functionSourceFile: /src/postfix/postfix/src/util/htable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTABLE_ACTION_FN_CAST(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: HTABLE_FREE_FN_CAST
    functionSourceFile: /src/postfix/postfix/src/util/htable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTABLE_FREE_FN_CAST(f)
  - 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: LEN
    functionSourceFile: /src/postfix/postfix/src/util/dict_pipe_test.c
    functionUses: 146
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(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: STR
    functionSourceFile: /src/postfix/postfix/src/util/dict_pipe_test.c
    functionUses: 494
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:45,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:46,1
    - Dst: dict_compose_spec
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:55,1
    - Dst: dict_open_and_capture_msg
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:57,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:57,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:68,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:69,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:69,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:70,1
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:73,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:74,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:75,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:78,1
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:81,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:82,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:83,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 87
    functionName: valid_refcounts_for_good_composite_syntax
    functionSourceFile: /src/postfix/postfix/src/util/dict_pipe_test.c
    functionUses: 0
    functionsReached:
    - dict_open_and_capture_msg
    - msg_warn
    - dict_handle
    - vstring_alloc
    - LEN
    - argv_alloc
    - dict_close
    - dict_compose_spec
    - RETURN
    - STR
    linkageType: ''
    returnType: int
    signature: int valid_refcounts_for_good_composite_syntax(void)
  - 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: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict_pipe_test.c
    functionUses: 90
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETURN(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:94,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:95,1
    - Dst: dict_compose_spec
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:105,1
    - Dst: dict_open_and_capture_msg
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:107,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:107,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:118,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:119,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:120,1
    - Dst: strstr
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:122,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:122,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:123,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:124,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:125,1
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:128,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:129,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:131,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 135
    functionName: valid_refcounts_for_bad_composite_syntax
    functionSourceFile: /src/postfix/postfix/src/util/dict_pipe_test.c
    functionUses: 0
    functionsReached:
    - dict_open_and_capture_msg
    - msg_warn
    - dict_handle
    - vstring_alloc
    - LEN
    - argv_alloc
    - dict_compose_spec
    - strstr
    - RETURN
    - STR
    linkageType: ''
    returnType: int
    signature: int valid_refcounts_for_bad_composite_syntax(void)
  - 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: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict_pipe_test.c
    functionUses: 91
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETURN(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_open_and_capture_msg
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:151,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:153,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:154,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:154,1
    - Dst: dict_get_and_verify_bulk
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:157,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 161
    functionName: propagates_notfound_and_found
    functionSourceFile: /src/postfix/postfix/src/util/dict_pipe_test.c
    functionUses: 0
    functionsReached:
    - dict_open_and_capture_msg
    - msg_warn
    - LEN
    - dict_get_and_verify_bulk
    - dict_close
    - STR
    linkageType: ''
    returnType: int
    signature: int propagates_notfound_and_found(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_open_and_capture_msg
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:176,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:178,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:179,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:179,1
    - Dst: dict_get_and_verify_bulk
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:182,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 186
    functionName: propagates_notfound_and_error
    functionSourceFile: /src/postfix/postfix/src/util/dict_pipe_test.c
    functionUses: 0
    functionsReached:
    - dict_open_and_capture_msg
    - msg_warn
    - LEN
    - dict_get_and_verify_bulk
    - dict_close
    - STR
    linkageType: ''
    returnType: int
    signature: int propagates_notfound_and_error(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:207,1
    - Dst: sane_basename
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:207,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:209,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:213,1
    - Dst: struct TEST_CASE*::action
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:214,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:215,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:218,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:222,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:224,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/dict_pipe_test.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 226
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/dict_pipe_test.c
    functionUses: 41
    functionsReached:
    - struct TEST_CASE*::action
    - exit
    - vstring_alloc
    - msg_info
    - msg_vstream_init
    - sane_basename
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/util/dict_file.c
    functionUses: 498
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/util/dict_file.c
    functionUses: 150
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_file.c:109,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/util/dict_file.c:117,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/dict_file.c:119,1
    - Dst: DICT_FILE_RETURN
      Src: /src/postfix/postfix/src/util/dict_file.c:121,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/dict_file.c:123,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/util/dict_file.c:125,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/util/dict_file.c:126,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/dict_file.c:126,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/dict_file.c:127,1
    - Dst: DICT_FILE_RETURN
      Src: /src/postfix/postfix/src/util/dict_file.c:128,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/dict_file.c:130,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/dict_file.c:131,1
    - Dst: DICT_FILE_RETURN
      Src: /src/postfix/postfix/src/util/dict_file.c:132,1
    - Dst: vstream_fread_app
      Src: /src/postfix/postfix/src/util/dict_file.c:134,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/dict_file.c:135,1
    - Dst: DICT_FILE_RETURN
      Src: /src/postfix/postfix/src/util/dict_file.c:136,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/dict_file.c:138,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/dict_file.c:141,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/dict_file.c:143,1
    - Dst: DICT_FILE_RETURN
      Src: /src/postfix/postfix/src/util/dict_file.c:144,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - dict
    - pathnames
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 100
    functionDepth: 4
    functionLinenumber: 100
    functionLinenumberEnd: 145
    functionName: dict_file_to_buf
    functionSourceFile: /src/postfix/postfix/src/util/dict_file.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - vstring_sprintf
    - vstream_fread_app
    - DICT_FILE_RETURN
    - vstring_alloc
    - LEN
    - vstream_fclose
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - argv_split
    - fstat
    - vstream_fileno
    - vstream_fopen
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *dict_file_to_buf(DICT *dict, const char *pathnames)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - retval
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: DICT_FILE_RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict_file.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_FILE_RETURN(retval)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dict_file_to_buf
      Src: /src/postfix/postfix/src/util/dict_file.c:153,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_file.c:156,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/dict_file.c:157,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/dict_file.c:159,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/dict_file.c:162,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/util/dict_file.c:163,1
    - Dst: base64_encode
      Src: /src/postfix/postfix/src/util/dict_file.c:164,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_file.c:164,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/dict_file.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - dict
    - pathnames
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 149
    functionDepth: 5
    functionLinenumber: 149
    functionLinenumberEnd: 166
    functionName: dict_file_to_b64
    functionSourceFile: /src/postfix/postfix/src/util/dict_file.c
    functionUses: 5
    functionsReached:
    - vstring_sprintf
    - dict_file_to_buf
    - base64_encode
    - vstring_alloc
    - LEN
    - VSTRING_SPACE
    - VSTRING_RESET
    - STR
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *dict_file_to_b64(DICT *dict, const char *pathnames)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_file.c:176,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_file.c:177,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/dict_file.c:178,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/util/dict_file.c:179,1
    - Dst: base64_decode
      Src: /src/postfix/postfix/src/util/dict_file.c:180,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_file.c:180,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/dict_file.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - dict
    - value
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 184
    functionName: dict_file_from_b64
    functionSourceFile: /src/postfix/postfix/src/util/dict_file.c
    functionUses: 2
    functionsReached:
    - vstring_sprintf
    - strlen
    - VSTRING_SPACE
    - vstring_alloc
    - VSTRING_RESET
    - base64_decode
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *dict_file_from_b64(DICT *dict, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_file.c:191,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/dict_file.c:192,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_file.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: dict_file_get_error
    functionSourceFile: /src/postfix/postfix/src/util/dict_file.c
    functionUses: 7
    functionsReached:
    - msg_panic
    - mystrdup
    - STR
    linkageType: ''
    returnType: char
    signature: char *dict_file_get_error(DICT *dict)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_file.c:200,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_file.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 207
    functionName: dict_file_purge_buffers
    functionSourceFile: /src/postfix/postfix/src/util/dict_file.c
    functionUses: 3
    functionsReached:
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_file_purge_buffers(DICT *dict)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_file.c:219,1
    - Dst: DICT*::lookup
      Src: /src/postfix/postfix/src/util/dict_file.c:221,1
    - Dst: dict_file_from_b64
      Src: /src/postfix/postfix/src/util/dict_file.c:223,1
    - Dst: dict_file_get_error
      Src: /src/postfix/postfix/src/util/dict_file.c:224,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_file.c:225,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_file.c:226,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_file.c:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - dict
    - key
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 211
    functionDepth: 4
    functionLinenumber: 211
    functionLinenumberEnd: 231
    functionName: dict_file_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_file.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_warn
    - myfree
    - dict_file_from_b64
    - dict_file_get_error
    - DICT*::lookup
    - STR
    linkageType: ''
    returnType: char
    signature: char *dict_file_lookup(DICT *dict, const char *key)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - string
    - parens
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 56
    functionName: balpar
    functionSourceFile: /src/postfix/postfix/src/util/balpar.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t balpar(const char *string, const char *parens)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/util/sane_basename.c
    functionUses: 501
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/sane_basename.c:81,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/sane_basename.c:88,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/sane_basename.c:88,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/sane_basename.c:94,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/sane_basename.c:97,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/sane_basename.c:97,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/sane_basename.c:108,1
    - Dst: vstring_strncpy
      Src: /src/postfix/postfix/src/util/sane_basename.c:108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - bp
    - path
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 109
    functionName: sane_basename
    functionSourceFile: /src/postfix/postfix/src/util/sane_basename.c
    functionUses: 14
    functionsReached:
    - strlen
    - vstring_strncpy
    - vstring_alloc
    - vstring_strcpy
    - STR
    linkageType: ''
    returnType: char
    signature: char *sane_basename(VSTRING *bp, const char *path)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/sane_basename.c:124,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/sane_basename.c:131,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/sane_basename.c:131,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/sane_basename.c:137,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/sane_basename.c:140,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/sane_basename.c:140,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/sane_basename.c:150,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/sane_basename.c:150,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/sane_basename.c:158,1
    - Dst: vstring_strncpy
      Src: /src/postfix/postfix/src/util/sane_basename.c:158,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - bp
    - path
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 159
    functionName: sane_dirname
    functionSourceFile: /src/postfix/postfix/src/util/sane_basename.c
    functionUses: 3
    functionsReached:
    - strlen
    - vstring_strncpy
    - vstring_alloc
    - vstring_strcpy
    - STR
    linkageType: ''
    returnType: char
    signature: char *sane_dirname(VSTRING *bp, const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/sane_basename.c:166,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/util/sane_basename.c:170,1
    - Dst: sane_dirname
      Src: /src/postfix/postfix/src/util/sane_basename.c:171,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/sane_basename.c:171,1
    - Dst: sane_basename
      Src: /src/postfix/postfix/src/util/sane_basename.c:172,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/sane_basename.c:172,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/sane_basename.c:173,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/sane_basename.c:174,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/sane_basename.c:176,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/sane_basename.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 179
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/sane_basename.c
    functionUses: 41
    functionsReached:
    - vstring_get_nonl
    - vstream_fflush
    - vstring_alloc
    - sane_dirname
    - vstream_printf
    - sane_basename
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/concatenate.c:53,1
    - Dst: VA_COPY
      Src: /src/postfix/postfix/src/util/concatenate.c:54,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/concatenate.c:59,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/concatenate.c:60,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/concatenate.c:61,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/concatenate.c:62,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/concatenate.c:67,1
    - Dst: strcpy
      Src: /src/postfix/postfix/src/util/concatenate.c:68,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/concatenate.c:69,1
    - Dst: strcat
      Src: /src/postfix/postfix/src/util/concatenate.c:70,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/concatenate.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - arg0
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 73
    functionName: concatenate
    functionSourceFile: /src/postfix/postfix/src/util/concatenate.c
    functionUses: 94
    functionsReached:
    - va_start
    - va_end
    - strlen
    - va_arg
    - strcat
    - mymalloc
    - VA_COPY
    - strcpy
    linkageType: ''
    returnType: char
    signature: char *concatenate(const char *arg0,...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/util/clean_env.c:75,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/util/clean_env.c:77,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/clean_env.c:78,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/util/clean_env.c:79,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/clean_env.c:81,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/clean_env.c:82,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/clean_env.c:83,1
    - Dst: safe_getenv
      Src: /src/postfix/postfix/src/util/clean_env.c:84,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/clean_env.c:85,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/util/clean_env.c:100,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/clean_env.c:101,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/util/clean_env.c:106,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - preserve_list
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 107
    functionName: clean_env
    functionSourceFile: /src/postfix/postfix/src/util/clean_env.c
    functionUses: 8
    functionsReached:
    - strchr
    - split_nameval
    - argv_free
    - safe_getenv
    - myfree
    - argv_alloc
    - argv_add
    - msg_fatal
    - mystrdup
    - setenv
    linkageType: ''
    returnType: void
    signature: void clean_env(char **preserve_list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/util/clean_env.c:123,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/util/clean_env.c:125,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/clean_env.c:126,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/util/clean_env.c:127,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/clean_env.c:129,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/clean_env.c:130,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/clean_env.c:131,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/util/clean_env.c:139,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/clean_env.c:140,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/util/clean_env.c:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - preserve_list
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 146
    functionName: update_env
    functionSourceFile: /src/postfix/postfix/src/util/clean_env.c
    functionUses: 7
    functionsReached:
    - strchr
    - split_nameval
    - argv_free
    - myfree
    - argv_alloc
    - argv_add
    - msg_fatal
    - mystrdup
    - setenv
    linkageType: ''
    returnType: void
    signature: void update_env(char **preserve_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clean_env
      Src: /src/postfix/postfix/src/util/clean_env.c:158,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/clean_env.c:160,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/clean_env.c:161,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/clean_env.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 163
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/clean_env.c
    functionUses: 41
    functionsReached:
    - clean_env
    - vstream_fflush
    - exit
    - vstream_printf
    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: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: DICT_PCRE_FREE_STUDY
    functionSourceFile: /src/postfix/postfix/src/util/dict_pcre.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_PCRE_FREE_STUDY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: DICT_PCRE_FREE_STUDY
    functionSourceFile: /src/postfix/postfix/src/util/dict_pcre.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_PCRE_FREE_STUDY(x)
  - 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: DICT_PCRE_CODE_FREE
    functionSourceFile: /src/postfix/postfix/src/util/dict_pcre.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_PCRE_CODE_FREE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: DICT_PCRE_MATCH_HINT
    functionSourceFile: /src/postfix/postfix/src/util/dict_pcre.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_PCRE_MATCH_HINT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: DICT_PCRE_MATCH_HINT_FREE
    functionSourceFile: /src/postfix/postfix/src/util/dict_pcre.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_PCRE_MATCH_HINT_FREE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: DICT_PCRE_CODE_FREE
    functionSourceFile: /src/postfix/postfix/src/util/dict_pcre.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_PCRE_CODE_FREE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: DICT_PCRE_MATCH_HINT
    functionSourceFile: /src/postfix/postfix/src/util/dict_pcre.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_PCRE_MATCH_HINT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: DICT_PCRE_MATCH_HINT_FREE
    functionSourceFile: /src/postfix/postfix/src/util/dict_pcre.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_PCRE_MATCH_HINT_FREE(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/postfix/postfix/src/util/dict_pcre.c:277,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_pcre.c:277,1
    - Dst: pcre_get_substring
      Src: /src/postfix/postfix/src/util/dict_pcre.c:279,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_pcre.c:285,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_pcre.c:289,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/util/dict_pcre.c:292,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_pcre.c:293,1
    - Dst: vstring_strncat
      Src: /src/postfix/postfix/src/util/dict_pcre.c:300,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/util/dict_pcre.c:309,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_pcre.c:309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - type
    - buf
    - ptr
    argTypes:
    - int
    - VSTRING*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 312
    functionName: dict_pcre_expand
    functionSourceFile: /src/postfix/postfix/src/util/dict_pcre.c
    functionUses: 0
    functionsReached:
    - vstring_strncat
    - pcre_get_substring
    - myfree
    - atoi
    - vstring_strcat
    - vstring_str
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int dict_pcre_expand(int type, VSTRING *buf, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/util/dict_pcre.c:324,1
    - Dst: pcre2_get_error_message
      Src: /src/postfix/postfix/src/util/dict_pcre.c:325,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_pcre.c:326,1
    - Dst: vstring_set_payload_size
      Src: /src/postfix/postfix/src/util/dict_pcre.c:328,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/dict_pcre.c:330,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_pcre.c:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - errval
    argTypes:
    - VSTRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 332
    functionName: dict_pcre_get_error
    functionSourceFile: /src/postfix/postfix/src/util/dict_pcre.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - vstring_set_payload_size
    - VSTRING_SPACE
    - vstring_str
    - pcre2_get_error_message
    linkageType: ''
    returnType: char
    signature: char *dict_pcre_get_error(VSTRING *buf, int errval)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:343,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:348,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:353,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:358,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:364,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:370,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:376,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:381,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_pcre.c:386,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:388,1
    - Dst: dict_pcre_get_error
      Src: /src/postfix/postfix/src/util/dict_pcre.c:389,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_pcre.c:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 3
    argNames:
    - mapname
    - lineno
    - errval
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 392
    functionName: dict_pcre_exec_error
    functionSourceFile: /src/postfix/postfix/src/util/dict_pcre.c
    functionUses: 0
    functionsReached:
    - dict_pcre_get_error
    - msg_warn
    - vstring_alloc
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_pcre_exec_error(const char *mapname, int lineno, int errval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - ctxt
    - ','
    - map
    - ','
    - line
    - ','
    - pattern
    - ','
    - hints
    - ','
    - match
    - ','
    - str
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 405
    functionName: DICT_PCRE_EXEC
    functionSourceFile: /src/postfix/postfix/src/util/dict_pcre.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_PCRE_EXEC(ctxt, map, line, pattern, hints, match, str, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - ctxt
    - ','
    - map
    - ','
    - line
    - ','
    - pattern
    - ','
    - match_data
    - ','
    - match
    - ','
    - str
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 413
    functionName: DICT_PCRE_EXEC
    functionSourceFile: /src/postfix/postfix/src/util/dict_pcre.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_PCRE_EXEC(ctxt, map, line, pattern, match_data, match, str, len)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_pcre.c:423,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_pcre.c:429,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_pcre.c:436,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_pcre.c:437,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_pcre.c:438,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_pcre.c:438,1
    - Dst: DICT_PCRE_EXEC
      Src: /src/postfix/postfix/src/util/dict_pcre.c:449,1
    - Dst: DICT_PCRE_MATCH_HINT
      Src: /src/postfix/postfix/src/util/dict_pcre.c:451,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_pcre.c:467,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/dict_pcre.c:468,1
    - Dst: pcre2_get_ovector_pointer
      Src: /src/postfix/postfix/src/util/dict_pcre.c:473,1
    - Dst: mac_parse
      Src: /src/postfix/postfix/src/util/dict_pcre.c:477,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_pcre.c:479,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/dict_pcre.c:482,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_pcre.c:483,1
    - Dst: DICT_PCRE_EXEC
      Src: /src/postfix/postfix/src/util/dict_pcre.c:493,1
    - Dst: DICT_PCRE_MATCH_HINT
      Src: /src/postfix/postfix/src/util/dict_pcre.c:495,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_pcre.c:510,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 2
    argNames:
    - dict
    - lookup_string
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 514
    functionName: dict_pcre_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_pcre.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - msg_panic
    - pcre2_get_ovector_pointer
    - strlen
    - DICT_PCRE_EXEC
    - vstring_alloc
    - DICT_PCRE_MATCH_HINT
    - msg_info
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - vstring_strcpy
    - vstring_str
    - mac_parse
    - lowercase
    linkageType: ''
    returnType: char
    signature: char *dict_pcre_lookup(DICT *dict, const char *lookup_string)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DICT_PCRE_CODE_FREE
      Src: /src/postfix/postfix/src/util/dict_pcre.c:532,1
    - Dst: DICT_PCRE_MATCH_HINT_FREE
      Src: /src/postfix/postfix/src/util/dict_pcre.c:533,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_pcre.c:535,1
    - Dst: DICT_PCRE_CODE_FREE
      Src: /src/postfix/postfix/src/util/dict_pcre.c:540,1
    - Dst: DICT_PCRE_MATCH_HINT_FREE
      Src: /src/postfix/postfix/src/util/dict_pcre.c:541,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_pcre.c:546,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_pcre.c:548,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_pcre.c:551,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_pcre.c:553,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/util/dict_pcre.c:554,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 555
    functionName: dict_pcre_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_pcre.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - DICT_PCRE_MATCH_HINT_FREE
    - dict_free
    - DICT_PCRE_CODE_FREE
    - myfree
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_pcre_close(DICT *dict)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/dict_pcre.c:572,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:577,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:598,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/dict_pcre.c:608,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:635,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:640,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 4
    argNames:
    - mapname
    - lineno
    - bufp
    - pattern
    argTypes:
    - char*
    - int
    - char**
    - DICT_PCRE_REGEXP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 648
    functionName: dict_pcre_get_pattern
    functionSourceFile: /src/postfix/postfix/src/util/dict_pcre.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - ISSPACE
    linkageType: ''
    returnType: int
    signature: "int dict_pcre_get_pattern(const char *mapname, int lineno, char **bufp,\n\t\t\t\t
      \        DICT_PCRE_REGEXP *pattern)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_pcre.c:664,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/util/dict_pcre.c:667,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_pcre.c:667,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:668,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_pcre.c:669,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/util/dict_pcre.c:672,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_pcre.c:672,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:674,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_pcre.c:675,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_pcre.c:682,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/dict_pcre.c:684,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_pcre.c:684,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - type
    - buf
    - context
    argTypes:
    - int
    - VSTRING*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 652
    functionDepth: 3
    functionLinenumber: 652
    functionLinenumberEnd: 687
    functionName: dict_pcre_prescan
    functionSourceFile: /src/postfix/postfix/src/util/dict_pcre.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_warn
    - alldig
    - myfree
    - atoi
    - vstring_str
    - mystrdup
    linkageType: ''
    returnType: int
    signature: int dict_pcre_prescan(int type, VSTRING *buf, void *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcre_compile
      Src: /src/postfix/postfix/src/util/dict_pcre.c:699,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:702,1
    - Dst: pcre_study
      Src: /src/postfix/postfix/src/util/dict_pcre.c:706,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:708,1
    - Dst: DICT_PCRE_CODE_FREE
      Src: /src/postfix/postfix/src/util/dict_pcre.c:710,1
    - Dst: pcre2_compile
      Src: /src/postfix/postfix/src/util/dict_pcre.c:717,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_pcre.c:721,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:723,1
    - Dst: dict_pcre_get_error
      Src: /src/postfix/postfix/src/util/dict_pcre.c:725,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_pcre.c:726,1
    - Dst: pcre2_match_data_create_from_pattern
      Src: /src/postfix/postfix/src/util/dict_pcre.c:729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - mapname
    - lineno
    - pattern
    - engine
    argTypes:
    - char*
    - int
    - DICT_PCRE_REGEXP*
    - DICT_PCRE_ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 733
    functionName: dict_pcre_compile
    functionSourceFile: /src/postfix/postfix/src/util/dict_pcre.c
    functionUses: 0
    functionsReached:
    - pcre2_compile
    - msg_warn
    - pcre_compile
    - pcre2_match_data_create_from_pattern
    - pcre_study
    - DICT_PCRE_CODE_FREE
    - vstring_alloc
    - dict_pcre_get_error
    - vstring_free
    linkageType: ''
    returnType: int
    signature: "int dict_pcre_compile(const char *mapname, int lineno,\n\t\t\t             DICT_PCRE_REGEXP
      *pattern,\n\t\t\t             DICT_PCRE_ENGINE *engine)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/dict_pcre.c:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - op
    - lineno
    - size
    argTypes:
    - int
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 747
    functionName: dict_pcre_rule_alloc
    functionSourceFile: /src/postfix/postfix/src/util/dict_pcre.c
    functionUses: 0
    functionsReached:
    - mymalloc
    linkageType: ''
    returnType: DICT_PCRE_RULE
    signature: DICT_PCRE_RULE *dict_pcre_rule_alloc(int op, int lineno, size_t size)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ISALNUM
      Src: /src/postfix/postfix/src/util/dict_pcre.c:771,1
    - Dst: dict_pcre_get_pattern
      Src: /src/postfix/postfix/src/util/dict_pcre.c:780,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/dict_pcre.c:786,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:789,1
    - Dst: dict_file_to_b64
      Src: /src/postfix/postfix/src/util/dict_pcre.c:813,1
    - Dst: dict_file_get_error
      Src: /src/postfix/postfix/src/util/dict_pcre.c:814,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:815,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_pcre.c:817,1
    - Dst: CREATE_MATCHOP_ERROR_RETURN
      Src: /src/postfix/postfix/src/util/dict_pcre.c:818,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_pcre.c:820,1
    - Dst: mac_parse
      Src: /src/postfix/postfix/src/util/dict_pcre.c:822,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:824,1
    - Dst: CREATE_MATCHOP_ERROR_RETURN
      Src: /src/postfix/postfix/src/util/dict_pcre.c:826,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:833,1
    - Dst: CREATE_MATCHOP_ERROR_RETURN
      Src: /src/postfix/postfix/src/util/dict_pcre.c:835,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:838,1
    - Dst: CREATE_MATCHOP_ERROR_RETURN
      Src: /src/postfix/postfix/src/util/dict_pcre.c:841,1
    - Dst: dict_pcre_compile
      Src: /src/postfix/postfix/src/util/dict_pcre.c:847,1
    - Dst: CREATE_MATCHOP_ERROR_RETURN
      Src: /src/postfix/postfix/src/util/dict_pcre.c:848,1
    - Dst: pcre_fullinfo
      Src: /src/postfix/postfix/src/util/dict_pcre.c:851,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_pcre.c:854,1
    - Dst: pcre2_pattern_info
      Src: /src/postfix/postfix/src/util/dict_pcre.c:858,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_pcre.c:860,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:863,1
    - Dst: DICT_PCRE_CODE_FREE
      Src: /src/postfix/postfix/src/util/dict_pcre.c:866,1
    - Dst: DICT_PCRE_MATCH_HINT_FREE
      Src: /src/postfix/postfix/src/util/dict_pcre.c:867,1
    - Dst: CREATE_MATCHOP_ERROR_RETURN
      Src: /src/postfix/postfix/src/util/dict_pcre.c:868,1
    - Dst: pcre2_pattern_info
      Src: /src/postfix/postfix/src/util/dict_pcre.c:871,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_pcre.c:873,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:877,1
    - Dst: DICT_PCRE_CODE_FREE
      Src: /src/postfix/postfix/src/util/dict_pcre.c:881,1
    - Dst: DICT_PCRE_MATCH_HINT_FREE
      Src: /src/postfix/postfix/src/util/dict_pcre.c:882,1
    - Dst: CREATE_MATCHOP_ERROR_RETURN
      Src: /src/postfix/postfix/src/util/dict_pcre.c:883,1
    - Dst: dict_pcre_rule_alloc
      Src: /src/postfix/postfix/src/util/dict_pcre.c:891,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/dict_pcre.c:898,1
    - Dst: DICT_PCRE_MATCH_HINT
      Src: /src/postfix/postfix/src/util/dict_pcre.c:900,1
    - Dst: DICT_PCRE_MATCH_HINT
      Src: /src/postfix/postfix/src/util/dict_pcre.c:900,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/util/dict_pcre.c:907,1
    - Dst: ISALNUM
      Src: /src/postfix/postfix/src/util/dict_pcre.c:907,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/dict_pcre.c:917,1
    - Dst: dict_pcre_get_pattern
      Src: /src/postfix/postfix/src/util/dict_pcre.c:919,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/dict_pcre.c:925,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:928,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:930,1
    - Dst: dict_pcre_compile
      Src: /src/postfix/postfix/src/util/dict_pcre.c:937,1
    - Dst: dict_pcre_rule_alloc
      Src: /src/postfix/postfix/src/util/dict_pcre.c:944,1
    - Dst: DICT_PCRE_MATCH_HINT
      Src: /src/postfix/postfix/src/util/dict_pcre.c:948,1
    - Dst: DICT_PCRE_MATCH_HINT
      Src: /src/postfix/postfix/src/util/dict_pcre.c:948,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/util/dict_pcre.c:956,1
    - Dst: ISALNUM
      Src: /src/postfix/postfix/src/util/dict_pcre.c:956,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:965,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/dict_pcre.c:973,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:976,1
    - Dst: dict_pcre_rule_alloc
      Src: /src/postfix/postfix/src/util/dict_pcre.c:982,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:991,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 103
    argCount: 5
    argNames:
    - dict
    - mapname
    - lineno
    - line
    - nesting
    argTypes:
    - DICT*
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 751
    functionDepth: 6
    functionLinenumber: 751
    functionLinenumberEnd: 995
    functionName: dict_pcre_parse_rule
    functionSourceFile: /src/postfix/postfix/src/util/dict_pcre.c
    functionUses: 0
    functionsReached:
    - ISSPACE
    - dict_pcre_compile
    - dict_file_get_error
    - msg_panic
    - DICT_PCRE_MATCH_HINT_FREE
    - DICT_PCRE_CODE_FREE
    - vstring_str
    - pcre2_pattern_info
    - pcre_fullinfo
    - dict_pcre_rule_alloc
    - myfree
    - ISALNUM
    - dict_file_to_b64
    - msg_warn
    - CREATE_MATCHOP_ERROR_RETURN
    - DICT_PCRE_MATCH_HINT
    - strncasecmp
    - dict_pcre_get_pattern
    - mac_parse
    - mystrdup
    linkageType: ''
    returnType: DICT_PCRE_RULE
    signature: "DICT_PCRE_RULE *dict_pcre_parse_rule(DICT *dict, const char *mapname,\n\t\t\t\t\t
      \           int lineno, char *line,\n\t\t\t\t\t            int nesting)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rval
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 808
    functionName: CREATE_MATCHOP_ERROR_RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict_pcre.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CREATE_MATCHOP_ERROR_RETURN(rval)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DICT_PCRE_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_pcre.c:1034,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_pcre.c:1034,1
    - Dst: dict_stream_open
      Src: /src/postfix/postfix/src/util/dict_pcre.c:1042,1
    - Dst: DICT_PCRE_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_pcre.c:1044,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_pcre.c:1044,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_pcre.c:1046,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_pcre.c:1047,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/util/dict_pcre.c:1049,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_pcre.c:1055,1
    - Dst: readllines
      Src: /src/postfix/postfix/src/util/dict_pcre.c:1072,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_pcre.c:1073,1
    - Dst: trimblanks
      Src: /src/postfix/postfix/src/util/dict_pcre.c:1074,1
    - Dst: dict_pcre_parse_rule
      Src: /src/postfix/postfix/src/util/dict_pcre.c:1077,1
    - Dst: mvect_alloc
      Src: /src/postfix/postfix/src/util/dict_pcre.c:1083,1
    - Dst: mvect_realloc
      Src: /src/postfix/postfix/src/util/dict_pcre.c:1088,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_pcre.c:1096,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_pcre.c:1098,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_pcre.c:1111,1
    - Dst: mvect_free
      Src: /src/postfix/postfix/src/util/dict_pcre.c:1115,1
    - Dst: dict_file_purge_buffers
      Src: /src/postfix/postfix/src/util/dict_pcre.c:1117,1
    - Dst: DICT_PCRE_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_pcre.c:1118,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 3
    argNames:
    - mapname
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 999
    functionDepth: 7
    functionLinenumber: 999
    functionLinenumberEnd: 1119
    functionName: dict_pcre_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_pcre.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - dict_stream_open
    - dict_pcre_parse_rule
    - msg_warn
    - mvect_free
    - dict_file_purge_buffers
    - mvect_alloc
    - vstring_alloc
    - dict_surrogate
    - readllines
    - mvect_realloc
    - DICT_PCRE_OPEN_RETURN
    - dict_alloc
    - vstring_str
    - trimblanks
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_pcre_open(const char *mapname, int open_flags, int dict_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1029
    functionName: DICT_PCRE_OPEN_RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict_pcre.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_PCRE_OPEN_RETURN(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geteuid
      Src: /src/postfix/postfix/src/util/stat_as.c:53,1
    - Dst: getegid
      Src: /src/postfix/postfix/src/util/stat_as.c:54,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/util/stat_as.c:60,1
    - Dst: stat
      Src: /src/postfix/postfix/src/util/stat_as.c:65,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/util/stat_as.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - path
    - st
    - euid
    - egid
    argTypes:
    - char*
    - struct stat*
    - uid_t
    - gid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 73
    functionName: stat_as
    functionSourceFile: /src/postfix/postfix/src/util/stat_as.c
    functionUses: 3
    functionsReached:
    - stat
    - geteuid
    - getegid
    - set_eugid
    linkageType: ''
    returnType: int
    signature: int stat_as(const char *path, struct stat * st, uid_t euid, gid_t egid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/postfix/postfix/src/util/exec_command.c:66,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/util/exec_command.c:67,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/util/exec_command.c:74,1
    - Dst: execvp
      Src: /src/postfix/postfix/src/util/exec_command.c:75,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/util/exec_command.c:80,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/exec_command.c:81,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/util/exec_command.c:86,1
    - Dst: execl
      Src: /src/postfix/postfix/src/util/exec_command.c:92,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/exec_command.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 94
    functionName: exec_command
    functionSourceFile: /src/postfix/postfix/src/util/exec_command.c
    functionUses: 2
    functionsReached:
    - strchr
    - strspn
    - argv_free
    - execvp
    - argv_split
    - msg_fatal
    - execl
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN exec_command(const char *command)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/exec_command.c:106,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/exec_command.c:108,1
    - Dst: exec_command
      Src: /src/postfix/postfix/src/util/exec_command.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 5
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/exec_command.c
    functionUses: 41
    functionsReached:
    - msg_fatal
    - exec_command
    - msg_vstream_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/unix_trigger.c:79,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/util/unix_trigger.c:80,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/util/unix_trigger.c:81,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/unix_trigger.c:82,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/unix_trigger.c:83,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/unix_trigger.c:84,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/unix_trigger.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 86
    functionName: unix_trigger_event
    functionSourceFile: /src/postfix/postfix/src/util/unix_trigger.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - close
    - myfree
    - event_disable_readwrite
    - event_cancel_timer
    linkageType: ''
    returnType: void
    signature: void unix_trigger_event(int event, void *context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/unix_trigger.c:97,1
    - Dst: unix_connect
      Src: /src/postfix/postfix/src/util/unix_trigger.c:102,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/unix_trigger.c:104,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/util/unix_trigger.c:107,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/unix_trigger.c:112,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/unix_trigger.c:114,1
    - Dst: write_buf
      Src: /src/postfix/postfix/src/util/unix_trigger.c:119,1
    - Dst: write_buf
      Src: /src/postfix/postfix/src/util/unix_trigger.c:120,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/unix_trigger.c:122,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/util/unix_trigger.c:128,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/util/unix_trigger.c:129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - service
    - buf
    - len
    - timeout
    argTypes:
    - char*
    - char*
    - ssize_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 131
    functionName: unix_trigger
    functionSourceFile: /src/postfix/postfix/src/util/unix_trigger.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - event_request_timer
    - event_enable_read
    - close_on_exec
    - msg_info
    - unix_connect
    - mymalloc
    - mystrdup
    - write_buf
    linkageType: ''
    returnType: int
    signature: int unix_trigger(const char *service, const char *buf, ssize_t len,
      int timeout)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/util/msg_rate_delay.c
    functionUses: 504
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/msg_rate_delay.c:85,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/util/msg_rate_delay.c:95,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/util/msg_rate_delay.c:96,1
    - Dst: time
      Src: /src/postfix/postfix/src/util/msg_rate_delay.c:97,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/msg_rate_delay.c:110,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/msg_rate_delay.c:111,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/util/msg_rate_delay.c:112,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/msg_rate_delay.c:113,1
    - Dst: log_fn
      Src: /src/postfix/postfix/src/util/msg_rate_delay.c:114,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/msg_rate_delay.c:114,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/msg_rate_delay.c:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - stamp
    - delay
    - fmt
    argTypes:
    - time_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 116
    functionName: msg_rate_delay
    functionSourceFile: /src/postfix/postfix/src/util/msg_rate_delay.c
    functionUses: 4
    functionsReached:
    - msg_panic
    - va_start
    - va_end
    - log_fn
    - vstring_vsprintf
    - time
    - vstring_alloc
    - event_time
    - vstring_free
    - STR
    linkageType: ''
    returnType: void
    signature: "void msg_rate_delay(time_t *stamp, int delay,\n\t\t               void
      (*log_fn) (const char *,...),\n\t\t               const char *fmt,...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_rate_delay
      Src: /src/postfix/postfix/src/util/msg_rate_delay.c:132,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/util/msg_rate_delay.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/msg_rate_delay.c
    functionUses: 41
    functionsReached:
    - msg_rate_delay
    - sleep
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - bp
    - ','
    - sz
    - ','
    - fmt
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 127
    functionName: VBUF_SNPRINTF
    functionSourceFile: /src/postfix/postfix/src/util/vbuf_print.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VBUF_SNPRINTF(bp, sz, fmt, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - bp
    - ','
    - sz
    - ','
    - fmt
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: VBUF_SNPRINTF
    functionSourceFile: /src/postfix/postfix/src/util/vbuf_print.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VBUF_SNPRINTF(bp, sz, fmt, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: VBUF_SKIP
    functionSourceFile: /src/postfix/postfix/src/util/vbuf_print.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VBUF_SKIP(bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vp
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: VSTRING_ADDNUM
    functionSourceFile: /src/postfix/postfix/src/util/vbuf_print.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTRING_ADDNUM(vp, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bp
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: VBUF_STRCAT
    functionSourceFile: /src/postfix/postfix/src/util/vbuf_print.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VBUF_STRCAT(bp, s)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/vbuf_print.c:171,1
    - Dst: VBUF_PUT
      Src: /src/postfix/postfix/src/util/vbuf_print.c:179,1
    - Dst: VBUF_PUT
      Src: /src/postfix/postfix/src/util/vbuf_print.c:181,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/vbuf_print.c:196,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/vbuf_print.c:197,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/vbuf_print.c:199,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/vbuf_print.c:201,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/vbuf_print.c:203,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vbuf_print.c:205,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/vbuf_print.c:207,1
    - Dst: VSTRING_ADDNUM
      Src: /src/postfix/postfix/src/util/vbuf_print.c:211,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/util/vbuf_print.c:214,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vbuf_print.c:219,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/vbuf_print.c:222,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/vbuf_print.c:226,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vbuf_print.c:228,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/vbuf_print.c:230,1
    - Dst: VSTRING_ADDNUM
      Src: /src/postfix/postfix/src/util/vbuf_print.c:234,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/util/vbuf_print.c:237,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vbuf_print.c:242,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/vbuf_print.c:245,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/vbuf_print.c:254,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/vbuf_print.c:257,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/vbuf_print.c:260,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/vbuf_print.c:261,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vbuf_print.c:272,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vbuf_print.c:274,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vbuf_print.c:275,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/vbuf_print.c:276,1
    - Dst: VBUF_SNPRINTF
      Src: /src/postfix/postfix/src/util/vbuf_print.c:277,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vbuf_print.c:278,1
    - Dst: VBUF_STRCAT
      Src: /src/postfix/postfix/src/util/vbuf_print.c:280,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vbuf_print.c:285,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vbuf_print.c:287,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vbuf_print.c:295,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vbuf_print.c:296,1
    - Dst: VBUF_SNPRINTF
      Src: /src/postfix/postfix/src/util/vbuf_print.c:298,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vbuf_print.c:299,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vbuf_print.c:299,1
    - Dst: VBUF_SNPRINTF
      Src: /src/postfix/postfix/src/util/vbuf_print.c:301,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vbuf_print.c:302,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vbuf_print.c:302,1
    - Dst: VBUF_SNPRINTF
      Src: /src/postfix/postfix/src/util/vbuf_print.c:304,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vbuf_print.c:305,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vbuf_print.c:305,1
    - Dst: VBUF_SNPRINTF
      Src: /src/postfix/postfix/src/util/vbuf_print.c:307,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vbuf_print.c:308,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vbuf_print.c:308,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vbuf_print.c:310,1
    - Dst: VBUF_SNPRINTF
      Src: /src/postfix/postfix/src/util/vbuf_print.c:316,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vbuf_print.c:317,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vbuf_print.c:317,1
    - Dst: VBUF_STRCAT
      Src: /src/postfix/postfix/src/util/vbuf_print.c:321,1
    - Dst: mystrerror
      Src: /src/postfix/postfix/src/util/vbuf_print.c:321,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vbuf_print.c:325,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vbuf_print.c:327,1
    - Dst: VBUF_SNPRINTF
      Src: /src/postfix/postfix/src/util/vbuf_print.c:328,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vbuf_print.c:329,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vbuf_print.c:329,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vbuf_print.c:332,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 123
    argCount: 3
    argNames:
    - bp
    - format
    - ap
    argTypes:
    - VBUF*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 339
    functionName: vbuf_print
    functionSourceFile: /src/postfix/postfix/src/util/vbuf_print.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - VSTRING_ADDCH
    - VBUF_STRCAT
    - msg_warn
    - mystrerror
    - strlen
    - VBUF_SNPRINTF
    - va_arg
    - vstring_alloc
    - VSTRING_ADDNUM
    - VSTRING_RESET
    - VBUF_PUT
    - VSTRING_TERMINATE
    - ISDIGIT
    - vstring_str
    linkageType: ''
    returnType: VBUF
    signature: VBUF *vbuf_print(VBUF *bp, const char *format, va_list ap)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/vbuf_print.c:349,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/vbuf_print.c:351,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/util/vbuf_print.c:353,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/util/vbuf_print.c:354,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vbuf_print.c:354,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/vbuf_print.c:360,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/util/vbuf_print.c:367,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/vbuf_print.c:376,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/vbuf_print.c:378,1
    - Dst: vstring_ctl
      Src: /src/postfix/postfix/src/util/vbuf_print.c:383,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/vbuf_print.c:393,1
    - Dst: atoll
      Src: /src/postfix/postfix/src/util/vbuf_print.c:393,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/vbuf_print.c:395,1
    - Dst: atoll
      Src: /src/postfix/postfix/src/util/vbuf_print.c:395,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/vbuf_print.c:397,1
    - Dst: atol
      Src: /src/postfix/postfix/src/util/vbuf_print.c:397,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/vbuf_print.c:399,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/util/vbuf_print.c:399,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/vbuf_print.c:401,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vbuf_print.c:401,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/vbuf_print.c:404,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/vbuf_print.c:405,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vbuf_print.c:405,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/vbuf_print.c:409,1
    - Dst: atof
      Src: /src/postfix/postfix/src/util/vbuf_print.c:409,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/vbuf_print.c:410,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vbuf_print.c:410,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/vbuf_print.c:413,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/vbuf_print.c:416,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/util/vbuf_print.c:419,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/vbuf_print.c:421,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 347
    functionDepth: 4
    functionLinenumber: 347
    functionLinenumberEnd: 423
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/vbuf_print.c
    functionUses: 41
    functionsReached:
    - msg_warn
    - vstring_sprintf
    - vstring_fgets_nonl
    - strspn
    - vstring_alloc
    - argv_free
    - msg_vstream_init
    - msg_info
    - atol
    - atoi
    - argv_split
    - atof
    - vstring_str
    - atoll
    - vstring_free
    - vstring_ctl
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/rand_sleep.c:58,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/rand_sleep.c:60,1
    - Dst: myrand
      Src: /src/postfix/postfix/src/util/rand_sleep.c:65,1
    - Dst: doze
      Src: /src/postfix/postfix/src/util/rand_sleep.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - delay
    - variation
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: rand_sleep
    functionSourceFile: /src/postfix/postfix/src/util/rand_sleep.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - myrand
    - doze
    linkageType: ''
    returnType: void
    signature: void rand_sleep(unsigned delay, unsigned variation)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/rand_sleep.c:78,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/rand_sleep.c:80,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/util/rand_sleep.c:81,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/rand_sleep.c:82,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/util/rand_sleep.c:83,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/rand_sleep.c:84,1
    - Dst: rand_sleep
      Src: /src/postfix/postfix/src/util/rand_sleep.c:85,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/rand_sleep.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/rand_sleep.c
    functionUses: 41
    functionsReached:
    - exit
    - msg_vstream_init
    - atoi
    - rand_sleep
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ulimit
      Src: /src/postfix/postfix/src/util/file_limit.c:63,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/file_limit.c:64,1
    - Dst: getrlimit
      Src: /src/postfix/postfix/src/util/file_limit.c:71,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/file_limit.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 76
    functionName: get_file_limit
    functionSourceFile: /src/postfix/postfix/src/util/file_limit.c
    functionUses: 4
    functionsReached:
    - getrlimit
    - msg_fatal
    - ulimit
    linkageType: ''
    returnType: off_t
    signature: off_t get_file_limit(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ulimit
      Src: /src/postfix/postfix/src/util/file_limit.c:83,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/file_limit.c:84,1
    - Dst: setrlimit
      Src: /src/postfix/postfix/src/util/file_limit.c:89,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/file_limit.c:90,1
    - Dst: signal
      Src: /src/postfix/postfix/src/util/file_limit.c:92,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/file_limit.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - limit
    argTypes:
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 96
    functionName: set_file_limit
    functionSourceFile: /src/postfix/postfix/src/util/file_limit.c
    functionUses: 6
    functionsReached:
    - setrlimit
    - msg_fatal
    - signal
    - ulimit
    linkageType: ''
    returnType: void
    signature: void set_file_limit(off_t limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/postfix/postfix/src/util/duplex_pipe.c:44,1
    - Dst: sane_socketpair
      Src: /src/postfix/postfix/src/util/duplex_pipe.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fds
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: duplex_pipe
    functionSourceFile: /src/postfix/postfix/src/util/duplex_pipe.c
    functionUses: 2
    functionsReached:
    - sane_socketpair
    - pipe
    linkageType: ''
    returnType: int
    signature: int duplex_pipe(int *fds)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/postfix/postfix/src/util/load_file.c:65,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/util/load_file.c:66,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/load_file.c:67,1
    - Dst: action
      Src: /src/postfix/postfix/src/util/load_file.c:68,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/util/load_file.c:69,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/load_file.c:69,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/load_file.c:70,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/util/load_file.c:71,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/load_file.c:71,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/load_file.c:72,1
    - Dst: time
      Src: /src/postfix/postfix/src/util/load_file.c:73,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/load_file.c:77,1
    - Dst: doze
      Src: /src/postfix/postfix/src/util/load_file.c:78,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - path
    - action
    - context
    argTypes:
    - char*
    - LOAD_FILE_FN
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 80
    functionName: load_file
    functionSourceFile: /src/postfix/postfix/src/util/load_file.c
    functionUses: 1
    functionsReached:
    - time
    - doze
    - vstream_ferror
    - vstream_fclose
    - action
    - msg_info
    - fstat
    - vstream_fileno
    - msg_fatal
    - vstream_fopen
    linkageType: ''
    returnType: void
    signature: void load_file(const char *path, LOAD_FILE_FN action, void *context)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/make_dirs.c:66,1
    - Dst: SKIP_WHILE
      Src: /src/postfix/postfix/src/util/make_dirs.c:74,1
    - Dst: SKIP_WHILE
      Src: /src/postfix/postfix/src/util/make_dirs.c:77,1
    - Dst: stat
      Src: /src/postfix/postfix/src/util/make_dirs.c:80,1
    - Dst: S_ISDIR
      Src: /src/postfix/postfix/src/util/make_dirs.c:81,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/make_dirs.c:105,1
    - Dst: mkdir
      Src: /src/postfix/postfix/src/util/make_dirs.c:112,1
    - Dst: stat
      Src: /src/postfix/postfix/src/util/make_dirs.c:116,1
    - Dst: S_ISDIR
      Src: /src/postfix/postfix/src/util/make_dirs.c:118,1
    - Dst: stat
      Src: /src/postfix/postfix/src/util/make_dirs.c:129,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/make_dirs.c:130,1
    - Dst: getegid
      Src: /src/postfix/postfix/src/util/make_dirs.c:134,1
    - Dst: chown
      Src: /src/postfix/postfix/src/util/make_dirs.c:135,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/make_dirs.c:136,1
    - Dst: SKIP_WHILE
      Src: /src/postfix/postfix/src/util/make_dirs.c:142,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/make_dirs.c:150,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 53
    argCount: 2
    argNames:
    - path
    - perms
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 152
    functionName: make_dirs
    functionSourceFile: /src/postfix/postfix/src/util/make_dirs.c
    functionUses: 3
    functionsReached:
    - stat
    - SKIP_WHILE
    - msg_warn
    - S_ISDIR
    - getegid
    - chown
    - mkdir
    - myfree
    - mystrdup
    linkageType: ''
    returnType: int
    signature: int make_dirs(const char *path, int perms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: SKIP_WHILE
    functionSourceFile: /src/postfix/postfix/src/util/make_dirs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKIP_WHILE(cond, ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/make_dirs.c:164,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/make_dirs.c:166,1
    - Dst: make_dirs
      Src: /src/postfix/postfix/src/util/make_dirs.c:168,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/make_dirs.c:169,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/make_dirs.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 162
    functionDepth: 4
    functionLinenumber: 162
    functionLinenumberEnd: 171
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/make_dirs.c
    functionUses: 41
    functionsReached:
    - msg_fatal
    - exit
    - make_dirs
    - msg_vstream_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/postfix/postfix/src/util/non_blocking.c:59,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/non_blocking.c:60,1
    - Dst: fcntl
      Src: /src/postfix/postfix/src/util/non_blocking.c:61,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/non_blocking.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - 'on'
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: non_blocking
    functionSourceFile: /src/postfix/postfix/src/util/non_blocking.c
    functionUses: 22
    functionsReached:
    - fcntl
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int non_blocking(int fd, int on)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/postfix/postfix/src/util/username.c:43,1
    - Dst: getpwuid
      Src: /src/postfix/postfix/src/util/username.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: username
    functionSourceFile: /src/postfix/postfix/src/util/username.c
    functionUses: 2
    functionsReached:
    - getpwuid
    - getuid
    linkageType: ''
    returnType: char
    signature: char *username(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/mystrtok.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - start
    - bufp
    - blame
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: mystrtok_warn
    functionSourceFile: /src/postfix/postfix/src/util/mystrtok.c
    functionUses: 0
    functionsReached:
    - msg_warn
    linkageType: ''
    returnType: void
    signature: void mystrtok_warn(const char *start, const char *bufp, const char
      *blame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mystrtok_cw
      Src: /src/postfix/postfix/src/util/mystrtok.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - sep
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: mystrtok
    functionSourceFile: /src/postfix/postfix/src/util/mystrtok.c
    functionUses: 45
    functionsReached:
    - mystrtok_cw
    linkageType: ''
    returnType: char
    signature: char *mystrtok(char **src, const char *sep)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/postfix/postfix/src/util/mystrtok.c:116,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/util/mystrtok.c:125,1
    - Dst: mystrtok_warn
      Src: /src/postfix/postfix/src/util/mystrtok.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - src
    - sep
    - blame
    argTypes:
    - char**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 136
    functionName: mystrtok_cw
    functionSourceFile: /src/postfix/postfix/src/util/mystrtok.c
    functionUses: 1
    functionsReached:
    - mystrtok_warn
    - strspn
    - strcspn
    linkageType: ''
    returnType: char
    signature: char *mystrtok_cw(char **src, const char *sep, const char *blame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mystrtokq_cw
      Src: /src/postfix/postfix/src/util/mystrtok.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - src
    - sep
    - parens
    argTypes:
    - char**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: mystrtokq
    functionSourceFile: /src/postfix/postfix/src/util/mystrtok.c
    functionUses: 13
    functionsReached:
    - mystrtokq_cw
    linkageType: ''
    returnType: char
    signature: char *mystrtokq(char **src, const char *sep, const char *parens)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/postfix/postfix/src/util/mystrtok.c:160,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/util/mystrtok.c:174,1
    - Dst: mystrtok_warn
      Src: /src/postfix/postfix/src/util/mystrtok.c:182,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - src
    - sep
    - parens
    - blame
    argTypes:
    - char**
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 187
    functionName: mystrtokq_cw
    functionSourceFile: /src/postfix/postfix/src/util/mystrtok.c
    functionUses: 2
    functionsReached:
    - mystrtok_warn
    - strspn
    - strchr
    linkageType: ''
    returnType: char
    signature: "char *mystrtokq_cw(char **src, const char *sep, const char *parens,\n\t\t
      \            const char *blame)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mystrtokdq_cw
      Src: /src/postfix/postfix/src/util/mystrtok.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - sep
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: mystrtokdq
    functionSourceFile: /src/postfix/postfix/src/util/mystrtok.c
    functionUses: 1
    functionsReached:
    - mystrtokdq_cw
    linkageType: ''
    returnType: char
    signature: char *mystrtokdq(char **src, const char *sep)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/postfix/postfix/src/util/mystrtok.c:208,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/util/mystrtok.c:224,1
    - Dst: mystrtok_warn
      Src: /src/postfix/postfix/src/util/mystrtok.c:233,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - src
    - sep
    - blame
    argTypes:
    - char**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 238
    functionName: mystrtokdq_cw
    functionSourceFile: /src/postfix/postfix/src/util/mystrtok.c
    functionUses: 1
    functionsReached:
    - mystrtok_warn
    - strspn
    - strchr
    linkageType: ''
    returnType: char
    signature: char *mystrtokdq_cw(char **src, const char *sep, const char *blame)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/mystrtok.c:296,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/mystrtok.c:299,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/mystrtok.c:302,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/mystrtok.c:303,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/mystrtok.c:305,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/mystrtok.c:309,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/util/mystrtok.c:310,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/mystrtok.c:311,1
    - Dst: mystrtokq
      Src: /src/postfix/postfix/src/util/mystrtok.c:312,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/mystrtok.c:313,1
    - Dst: mystrtokdq
      Src: /src/postfix/postfix/src/util/mystrtok.c:314,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/mystrtok.c:315,1
    - Dst: mystrtok_cw
      Src: /src/postfix/postfix/src/util/mystrtok.c:316,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/mystrtok.c:317,1
    - Dst: mystrtokq_cw
      Src: /src/postfix/postfix/src/util/mystrtok.c:318,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/mystrtok.c:319,1
    - Dst: mystrtokdq_cw
      Src: /src/postfix/postfix/src/util/mystrtok.c:320,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/mystrtok.c:322,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/mystrtok.c:325,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/mystrtok.c:328,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/mystrtok.c:333,1
    - Dst: STR_OR_NULL
      Src: /src/postfix/postfix/src/util/mystrtok.c:334,1
    - Dst: STR_OR_NULL
      Src: /src/postfix/postfix/src/util/mystrtok.c:334,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/mystrtok.c:335,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/mystrtok.c:341,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/mystrtok.c:342,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 345
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/mystrtok.c
    functionUses: 41
    functionsReached:
    - msg_panic
    - msg_warn
    - mystrtokdq
    - mystrtokq_cw
    - msg_info
    - mystrtok_cw
    - STR_OR_NULL
    - myfree
    - strcmp
    - mystrtokq
    - mystrtok
    - mystrdup
    - mystrtokdq_cw
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: STR_OR_NULL
    functionSourceFile: /src/postfix/postfix/src/util/mystrtok.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_OR_NULL(s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/postfix/postfix/src/util/ldseed.c:81,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/util/ldseed.c:82,1
    - Dst: read
      Src: /src/postfix/postfix/src/util/ldseed.c:83,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/ldseed.c:84,1
    - Dst: clock_gettime
      Src: /src/postfix/postfix/src/util/ldseed.c:102,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/ldseed.c:103,1
    - Dst: gethrtime
      Src: /src/postfix/postfix/src/util/ldseed.c:107,1
    - Dst: clock_gettime
      Src: /src/postfix/postfix/src/util/ldseed.c:114,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/ldseed.c:115,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/util/ldseed.c:122,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/ldseed.c:123,1
    - Dst: getpid
      Src: /src/postfix/postfix/src/util/ldseed.c:127,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - dst
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 138
    functionName: ldseed
    functionSourceFile: /src/postfix/postfix/src/util/ldseed.c
    functionUses: 0
    functionsReached:
    - clock_gettime
    - gethrtime
    - GETTIMEOFDAY
    - read
    - close
    - getpid
    - open
    - non_blocking
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void ldseed(void *dst, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/util/recv_pass_attr.c:72,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/util/recv_pass_attr.c:73,1
    - Dst: CA_VSTREAM_CTL_BUFSIZE
      Src: /src/postfix/postfix/src/util/recv_pass_attr.c:74,1
    - Dst: CA_VSTREAM_CTL_TIMEOUT
      Src: /src/postfix/postfix/src/util/recv_pass_attr.c:75,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/util/recv_pass_attr.c:78,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/util/recv_pass_attr.c:79,1
    - Dst: vstream_feof
      Src: /src/postfix/postfix/src/util/recv_pass_attr.c:81,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/util/recv_pass_attr.c:81,1
    - Dst: vstream_fdclose
      Src: /src/postfix/postfix/src/util/recv_pass_attr.c:82,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/util/recv_pass_attr.c:88,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/util/recv_pass_attr.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - fd
    - attr
    - timeout
    - bufsize
    argTypes:
    - int
    - HTABLE**
    - int
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 98
    functionName: recv_pass_attr
    functionSourceFile: /src/postfix/postfix/src/util/recv_pass_attr.c
    functionUses: 0
    functionsReached:
    - vstream_fdclose
    - vstream_feof
    - vstream_fdopen
    - CA_VSTREAM_CTL_TIMEOUT
    - CA_VSTREAM_CTL_BUFSIZE
    - htable_create
    - htable_free
    - vstream_ferror
    - attr_scan
    - vstream_control
    linkageType: ''
    returnType: int
    signature: int recv_pass_attr(int fd, HTABLE **attr, int timeout, ssize_t bufsize)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/util/attr_print_plain.c
    functionUses: 505
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/util/attr_print_plain.c
    functionUses: 152
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:130,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:136,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:139,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:140,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:141,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:143,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:146,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:147,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:148,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:150,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:153,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:154,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:155,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:157,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:160,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:161,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:162,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:164,1
    - Dst: base64_encode
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:165,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:166,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:166,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:168,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:172,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:173,1
    - Dst: print_fn
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:174,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:177,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:178,1
    - Dst: htable_list
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:179,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:179,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:181,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:183,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:186,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:187,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:188,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:191,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:195,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:196,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 3
    argNames:
    - fp
    - flags
    - ap
    argTypes:
    - VSTREAM*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 197
    functionName: attr_vprint_plain
    functionSourceFile: /src/postfix/postfix/src/util/attr_print_plain.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - VSTREAM_PUTC
    - print_fn
    - vstream_fprintf
    - base64_encode
    - va_arg
    - vstring_alloc
    - vstream_ferror
    - msg_info
    - vstream_fwrite
    - myfree
    - htable_list
    - STR
    linkageType: ''
    returnType: int
    signature: int attr_vprint_plain(VSTREAM *fp, int flags, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:204,1
    - Dst: attr_vprint_plain
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:205,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fp
    - flags
    argTypes:
    - VSTREAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 4
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: attr_print_plain
    functionSourceFile: /src/postfix/postfix/src/util/attr_print_plain.c
    functionUses: 10
    functionsReached:
    - va_start
    - va_end
    - attr_vprint_plain
    linkageType: ''
    returnType: int
    signature: int attr_print_plain(VSTREAM *fp, int flags,...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htable_create
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:220,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:222,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:224,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:224,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:225,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:225,1
    - Dst: attr_print_plain
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:226,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:227,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:228,1
    - Dst: SEND_ATTR_LONG
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:229,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:230,1
    - Dst: SEND_ATTR_DATA
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:231,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:231,1
    - Dst: SEND_ATTR_HASH
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:232,1
    - Dst: SEND_ATTR_LONG
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:233,1
    - Dst: attr_print_plain
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:235,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:236,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:237,1
    - Dst: SEND_ATTR_LONG
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:238,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:239,1
    - Dst: SEND_ATTR_DATA
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:240,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:240,1
    - Dst: attr_print_plain
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:242,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:243,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:245,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:246,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/util/attr_print_plain.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - unused_argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 218
    functionDepth: 5
    functionLinenumber: 218
    functionLinenumberEnd: 250
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/attr_print_plain.c
    functionUses: 41
    functionsReached:
    - SEND_ATTR_HASH
    - strlen
    - SEND_ATTR_DATA
    - htable_create
    - SEND_ATTR_STR
    - SEND_ATTR_INT
    - vstream_fflush
    - htable_free
    - msg_vstream_init
    - htable_enter
    - SEND_ATTR_LONG
    - attr_print_plain
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 456
    functionName: NEED_DICT_OPEN_INIT
    functionSourceFile: /src/postfix/postfix/src/util/dict_open.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEED_DICT_OPEN_INIT()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NEED_DICT_OPEN_INIT
      Src: /src/postfix/postfix/src/util/dict_open.c:464,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_open.c:465,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/util/dict_open.c:466,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/util/dict_open.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 459
    functionDepth: 5
    functionLinenumber: 459
    functionLinenumberEnd: 470
    functionName: dict_open_init
    functionSourceFile: /src/postfix/postfix/src/util/dict_open.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - htable_create
    - NEED_DICT_OPEN_INIT
    - htable_enter
    linkageType: ''
    returnType: void
    signature: void dict_open_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/dict_open.c:476,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/util/dict_open.c:480,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_open.c:481,1
    - Dst: dict_open3
      Src: /src/postfix/postfix/src/util/dict_open.c:484,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_open.c:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dict_spec
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 474
    functionDepth: 3
    functionLinenumber: 474
    functionLinenumberEnd: 487
    functionName: dict_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_open.c
    functionUses: 12
    functionsReached:
    - dict_open3
    - myfree
    - split_at
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_open(const char *dict_spec, int open_flags, int dict_flags)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_open.c:496,1
    - Dst: dict_make_registered_name4
      Src: /src/postfix/postfix/src/util/dict_open.c:511,1
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/util/dict_open.c:513,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_open.c:513,1
    - Dst: DICT_OPEN3_RETURN
      Src: /src/postfix/postfix/src/util/dict_open.c:514,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_open.c:517,1
    - Dst: NEED_DICT_OPEN_INIT
      Src: /src/postfix/postfix/src/util/dict_open.c:519,1
    - Dst: dict_open_init
      Src: /src/postfix/postfix/src/util/dict_open.c:520,1
    - Dst: dict_open_lookup
      Src: /src/postfix/postfix/src/util/dict_open.c:521,1
    - Dst: DICT_OPEN3_RETURN
      Src: /src/postfix/postfix/src/util/dict_open.c:522,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_open.c:522,1
    - Dst: DICT_OPEN_INFO*::dict_fn
      Src: /src/postfix/postfix/src/util/dict_open.c:524,1
    - Dst: DICT_OPEN3_RETURN
      Src: /src/postfix/postfix/src/util/dict_open.c:525,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_open.c:525,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_open.c:528,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_open.c:532,1
    - Dst: DICT*::lock
      Src: /src/postfix/postfix/src/util/dict_open.c:540,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_open.c:541,1
    - Dst: DICT_NEED_UTF8_ACTIVATION
      Src: /src/postfix/postfix/src/util/dict_open.c:546,1
    - Dst: dict_utf8_activate
      Src: /src/postfix/postfix/src/util/dict_open.c:547,1
    - Dst: DICT_OPEN3_RETURN
      Src: /src/postfix/postfix/src/util/dict_open.c:549,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 4
    argNames:
    - dict_type
    - dict_name
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 491
    functionDepth: 6
    functionLinenumber: 491
    functionLinenumberEnd: 550
    functionName: dict_open3
    functionSourceFile: /src/postfix/postfix/src/util/dict_open.c
    functionUses: 12
    functionsReached:
    - msg_panic
    - dict_open_init
    - dict_open_lookup
    - DICT*::lock
    - NEED_DICT_OPEN_INIT
    - DICT_OPEN3_RETURN
    - vstring_alloc
    - DICT_OPEN_INFO*::dict_fn
    - msg_info
    - dict_surrogate
    - DICT_NEED_UTF8_ACTIVATION
    - vstring_str
    - dict_make_registered_name4
    - dict_utf8_activate
    - dict_handle
    - msg_fatal
    linkageType: ''
    returnType: DICT
    signature: "DICT *dict_open3(const char *dict_type, const char *dict_name,\n\t\t
      \          int open_flags, int dict_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 506
    functionName: DICT_OPEN3_RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_OPEN3_RETURN(d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_open.c:559,1
    - Dst: NEED_DICT_OPEN_INIT
      Src: /src/postfix/postfix/src/util/dict_open.c:560,1
    - Dst: dict_open_init
      Src: /src/postfix/postfix/src/util/dict_open.c:561,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/util/dict_open.c:562,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_open.c:563,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/util/dict_open.c:564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - dp
    argTypes:
    - DICT_OPEN_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 554
    functionDepth: 6
    functionLinenumber: 554
    functionLinenumberEnd: 565
    functionName: dict_open_register
    functionSourceFile: /src/postfix/postfix/src/util/dict_open.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - dict_open_init
    - NEED_DICT_OPEN_INIT
    - msg_info
    - htable_enter
    - htable_find
    linkageType: ''
    returnType: void
    signature: void dict_open_register(const DICT_OPEN_INFO *dp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_open.c:575,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/util/dict_open.c:576,1
    - Dst: dict_open_extend_hook
      Src: /src/postfix/postfix/src/util/dict_open.c:578,1
    - Dst: dict_open_register
      Src: /src/postfix/postfix/src/util/dict_open.c:579,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - dict_type
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 569
    functionDepth: 7
    functionLinenumber: 569
    functionLinenumberEnd: 581
    functionName: dict_open_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_open.c
    functionUses: 2
    functionsReached:
    - dict_open_extend_hook
    - dict_open_register
    - htable_find
    - msg_info
    linkageType: ''
    returnType: DICT_OPEN_INFO
    signature: DICT_OPEN_INFO *dict_open_lookup(const char *dict_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - new_cb
    argTypes:
    - DICT_OPEN_EXTEND_FN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 592
    functionName: dict_open_extend
    functionSourceFile: /src/postfix/postfix/src/util/dict_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: DICT_OPEN_EXTEND_FN
    signature: DICT_OPEN_EXTEND_FN dict_open_extend(DICT_OPEN_EXTEND_FN new_cb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NEED_DICT_OPEN_INIT
      Src: /src/postfix/postfix/src/util/dict_open.c:603,1
    - Dst: dict_open_init
      Src: /src/postfix/postfix/src/util/dict_open.c:604,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/util/dict_open.c:605,1
    - Dst: htable_list
      Src: /src/postfix/postfix/src/util/dict_open.c:606,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/dict_open.c:608,1
    - Dst: dict_mapnames_extend_hook
      Src: /src/postfix/postfix/src/util/dict_open.c:611,1
    - Dst: argv_qsort
      Src: /src/postfix/postfix/src/util/dict_open.c:612,1
    - Dst: argv_uniq
      Src: /src/postfix/postfix/src/util/dict_open.c:614,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_open.c:615,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/util/dict_open.c:616,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 596
    functionDepth: 6
    functionLinenumber: 596
    functionLinenumberEnd: 618
    functionName: dict_mapnames
    functionSourceFile: /src/postfix/postfix/src/util/dict_open.c
    functionUses: 1
    functionsReached:
    - argv_qsort
    - dict_open_init
    - argv_uniq
    - NEED_DICT_OPEN_INIT
    - myfree
    - argv_alloc
    - htable_list
    - argv_add
    - dict_mapnames_extend_hook
    - argv_terminate
    linkageType: ''
    returnType: ARGV
    signature: ARGV *dict_mapnames()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - new_cb
    argTypes:
    - DICT_MAPNAMES_EXTEND_FN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 629
    functionName: dict_mapnames_extend
    functionSourceFile: /src/postfix/postfix/src/util/dict_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: DICT_MAPNAMES_EXTEND_FN
    signature: DICT_MAPNAMES_EXTEND_FN dict_mapnames_extend(DICT_MAPNAMES_EXTEND_FN
      new_cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_open.c:643,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_open.c:645,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/dict_open.c:646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dict
    - type
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 633
    functionDepth: 3
    functionLinenumber: 633
    functionLinenumberEnd: 647
    functionName: dict_type_override
    functionSourceFile: /src/postfix/postfix/src/util/dict_open.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - myfree
    - mystrdup
    linkageType: ''
    returnType: void
    signature: void dict_type_override(DICT *dict, const char *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_test
      Src: /src/postfix/postfix/src/util/dict_open.c:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 658
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/dict_open.c
    functionUses: 41
    functionsReached:
    - dict_test
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: accept
      Src: /src/postfix/postfix/src/util/sane_accept.c:94,1
    - Dst: setsockopt
      Src: /src/postfix/postfix/src/util/sane_accept.c:121,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - sock
    - sa
    - len
    argTypes:
    - int
    - struct sockaddr*
    - SOCKADDR_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 125
    functionName: sane_accept
    functionSourceFile: /src/postfix/postfix/src/util/sane_accept.c
    functionUses: 1
    functionsReached:
    - accept
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int sane_accept(int sock, struct sockaddr *sa, SOCKADDR_SIZE *len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:66,1
    - Dst: safe_open
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:77,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:80,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:80,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:83,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:88,1
    - Dst: write_buf
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:89,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:91,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:96,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:98,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - service
    - buf
    - len
    - timeout
    argTypes:
    - char*
    - char*
    - ssize_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 100
    functionName: fifo_trigger
    functionSourceFile: /src/postfix/postfix/src/util/fifo_trigger.c
    functionUses: 2
    functionsReached:
    - msg_warn
    - vstring_alloc
    - vstream_fclose
    - msg_info
    - non_blocking
    - vstream_fileno
    - vstring_str
    - safe_open
    - write_buf
    linkageType: ''
    returnType: int
    signature: int fifo_trigger(const char *service, const char *buf, ssize_t len,
      int timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:121,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: cleanup
    functionSourceFile: /src/postfix/postfix/src/util/fifo_trigger.c
    functionUses: 29
    functionsReached:
    - exit
    - unlink
    linkageType: ''
    returnType: void
    signature: void cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: handler
    functionSourceFile: /src/postfix/postfix/src/util/fifo_trigger.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void handler(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_ANY_PTR_TO_INT
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:133,1
    - Dst: read
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:138,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: read_event
    functionSourceFile: /src/postfix/postfix/src/util/fifo_trigger.c
    functionUses: 2
    functionsReached:
    - read
    - CAST_ANY_PTR_TO_INT
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void read_event(int unused_event, char *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fifo_listen
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:146,1
    - Dst: msg_cleanup
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:147,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:148,1
    - Dst: CAST_INT_TO_VOID_PTR
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:148,1
    - Dst: signal
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:149,1
    - Dst: signal
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:150,1
    - Dst: alarm
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:152,1
    - Dst: fifo_trigger
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:153,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:154,1
    - Dst: fifo_trigger
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:156,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:157,1
    - Dst: fifo_trigger
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:159,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:160,1
    - Dst: event_loop
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:162,1
    - Dst: event_loop
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:163,1
    - Dst: event_loop
      Src: /src/postfix/postfix/src/util/fifo_trigger.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 166
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/fifo_trigger.c
    functionUses: 41
    functionsReached:
    - alarm
    - CAST_INT_TO_VOID_PTR
    - fifo_listen
    - event_enable_read
    - fifo_trigger
    - event_loop
    - msg_fatal
    - signal
    - msg_cleanup
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dict
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: dict_node
    functionSourceFile: /src/postfix/postfix/src/util/dict.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_node(dict)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dict
    - ','
    - dict_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: DICT_FIND_FOR_LOOKUP
    functionSourceFile: /src/postfix/postfix/src/util/dict.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_FIND_FOR_LOOKUP(dict, dict_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dict
    - ','
    - dict_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 331
    functionName: DICT_FIND_FOR_UPDATE
    functionSourceFile: /src/postfix/postfix/src/util/dict.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_FIND_FOR_UPDATE(dict, dict_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 333
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/util/dict.c
    functionUses: 507
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_unregister
      Src: /src/postfix/postfix/src/util/dict.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: dict_register_close
    functionSourceFile: /src/postfix/postfix/src/util/dict.c
    functionUses: 0
    functionsReached:
    - dict_unregister
    linkageType: ''
    returnType: void
    signature: void dict_register_close(DICT *dict)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict.c:352,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict.c:353,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/util/dict.c:358,1
    - Dst: dict_node
      Src: /src/postfix/postfix/src/util/dict.c:359,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/dict.c:360,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/util/dict.c:363,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/dict.c:364,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict.c:368,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict.c:371,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - dict_name
    - dict_info
    argTypes:
    - char*
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 344
    functionDepth: 5
    functionLinenumber: 344
    functionLinenumberEnd: 372
    functionName: dict_register
    functionSourceFile: /src/postfix/postfix/src/util/dict.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - htable_create
    - msg_info
    - htable_enter
    - dict_node
    - strcmp
    - mymalloc
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: void
    signature: void dict_register(const char *dict_name, DICT *dict_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_node
      Src: /src/postfix/postfix/src/util/dict.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dict_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 381
    functionName: dict_handle
    functionSourceFile: /src/postfix/postfix/src/util/dict.c
    functionUses: 17
    functionsReached:
    - dict_node
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_handle(const char *dict_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DICT*::saved_close
      Src: /src/postfix/postfix/src/util/dict.c:391,1
    - Dst: DICT*::close
      Src: /src/postfix/postfix/src/util/dict.c:393,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict.c:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: dict_node_free
    functionSourceFile: /src/postfix/postfix/src/util/dict.c
    functionUses: 0
    functionsReached:
    - myfree
    - DICT*::close
    - DICT*::saved_close
    linkageType: ''
    returnType: void
    signature: void dict_node_free(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dict_node
      Src: /src/postfix/postfix/src/util/dict.c:404,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict.c:405,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict.c:407,1
    - Dst: htable_delete
      Src: /src/postfix/postfix/src/util/dict.c:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - dict_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 410
    functionName: dict_unregister
    functionSourceFile: /src/postfix/postfix/src/util/dict.c
    functionUses: 3
    functionsReached:
    - msg_panic
    - dict_node
    - htable_delete
    - msg_info
    linkageType: ''
    returnType: void
    signature: void dict_unregister(const char *dict_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DICT_FIND_FOR_UPDATE
      Src: /src/postfix/postfix/src/util/dict.c:419,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict.c:421,1
    - Dst: DICT*::update
      Src: /src/postfix/postfix/src/util/dict.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dict_name
    - member
    - value
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 414
    functionDepth: 5
    functionLinenumber: 414
    functionLinenumberEnd: 423
    functionName: dict_update
    functionSourceFile: /src/postfix/postfix/src/util/dict.c
    functionUses: 4
    functionsReached:
    - DICT_FIND_FOR_UPDATE
    - DICT*::update
    - msg_info
    linkageType: ''
    returnType: int
    signature: int dict_update(const char *dict_name, const char *member, const char
      *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DICT_FIND_FOR_LOOKUP
      Src: /src/postfix/postfix/src/util/dict.c:433,1
    - Dst: DICT*::lookup
      Src: /src/postfix/postfix/src/util/dict.c:435,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict.c:437,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict.c:442,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - dict_name
    - member
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 445
    functionName: dict_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict.c
    functionUses: 8
    functionsReached:
    - DICT*::lookup
    - DICT_FIND_FOR_LOOKUP
    - msg_info
    linkageType: ''
    returnType: char
    signature: char *dict_lookup(const char *dict_name, const char *member)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DICT_FIND_FOR_LOOKUP
      Src: /src/postfix/postfix/src/util/dict.c:454,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict.c:456,1
    - Dst: DICT*::delete
      Src: /src/postfix/postfix/src/util/dict.c:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dict_name
    - member
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 458
    functionName: dict_delete
    functionSourceFile: /src/postfix/postfix/src/util/dict.c
    functionUses: 0
    functionsReached:
    - DICT*::delete
    - DICT_FIND_FOR_LOOKUP
    - msg_info
    linkageType: ''
    returnType: int
    signature: int dict_delete(const char *dict_name, const char *member)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DICT_FIND_FOR_LOOKUP
      Src: /src/postfix/postfix/src/util/dict.c:468,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict.c:470,1
    - Dst: DICT*::sequence
      Src: /src/postfix/postfix/src/util/dict.c:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - dict_name
    - func
    - member
    - value
    argTypes:
    - char*
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 472
    functionName: dict_sequence
    functionSourceFile: /src/postfix/postfix/src/util/dict.c
    functionUses: 0
    functionsReached:
    - DICT*::sequence
    - DICT_FIND_FOR_LOOKUP
    - msg_info
    linkageType: ''
    returnType: int
    signature: "int dict_sequence(const char *dict_name, const int func,\n\t\t              const
      char **member, const char **value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DICT_FIND_FOR_LOOKUP
      Src: /src/postfix/postfix/src/util/dict.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dict_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 482
    functionName: dict_error
    functionSourceFile: /src/postfix/postfix/src/util/dict.c
    functionUses: 0
    functionsReached:
    - DICT_FIND_FOR_LOOKUP
    linkageType: ''
    returnType: int
    signature: int dict_error(const char *dict_name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/postfix/postfix/src/util/dict.c:497,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/util/dict.c:498,1
    - Dst: dict_load_fp
      Src: /src/postfix/postfix/src/util/dict.c:500,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/util/dict.c:501,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/dict.c:501,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict.c:502,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/util/dict.c:503,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/dict.c:503,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict.c:504,1
    - Dst: time
      Src: /src/postfix/postfix/src/util/dict.c:505,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict.c:509,1
    - Dst: doze
      Src: /src/postfix/postfix/src/util/dict.c:510,1
    - Dst: dict_unregister
      Src: /src/postfix/postfix/src/util/dict.c:511,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - dict_name
    - path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 486
    functionDepth: 3
    functionLinenumber: 486
    functionLinenumberEnd: 514
    functionName: dict_load_file_xt
    functionSourceFile: /src/postfix/postfix/src/util/dict.c
    functionUses: 3
    functionsReached:
    - time
    - doze
    - vstream_ferror
    - vstream_fclose
    - msg_info
    - dict_load_fp
    - fstat
    - vstream_fileno
    - msg_fatal
    - vstream_fopen
    - dict_unregister
    linkageType: ''
    returnType: int
    signature: int dict_load_file_xt(const char *dict_name, const char *path)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DICT_FIND_FOR_UPDATE
      Src: /src/postfix/postfix/src/util/dict.c:534,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict.c:535,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/util/dict.c:538,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/dict.c:538,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict.c:539,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/dict.c:539,1
    - Dst: readllines
      Src: /src/postfix/postfix/src/util/dict.c:540,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/util/dict.c:541,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict.c:541,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict.c:542,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/dict.c:543,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict.c:545,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict.c:547,1
    - Dst: DICT*::lookup
      Src: /src/postfix/postfix/src/util/dict.c:548,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict.c:549,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict.c:550,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/dict.c:551,1
    - Dst: DICT*::update
      Src: /src/postfix/postfix/src/util/dict.c:552,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict.c:553,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/dict.c:554,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict.c:556,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - dict_name
    - fp
    argTypes:
    - char*
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 518
    functionDepth: 5
    functionLinenumber: 518
    functionLinenumberEnd: 559
    functionName: dict_load_fp
    functionSourceFile: /src/postfix/postfix/src/util/dict.c
    functionUses: 2
    functionsReached:
    - DICT_FIND_FOR_UPDATE
    - split_nameval
    - VSTREAM_PATH
    - msg_warn
    - vstring_alloc
    - msg_info
    - readllines
    - strcmp
    - DICT*::update
    - fstat
    - vstream_fileno
    - msg_fatal
    - DICT*::lookup
    - vstring_free
    - STR
    linkageType: ''
    returnType: void
    signature: void dict_load_fp(const char *dict_name, VSTREAM *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DICT_FIND_FOR_LOOKUP
      Src: /src/postfix/postfix/src/util/dict.c:573,1
    - Dst: DICT*::lookup
      Src: /src/postfix/postfix/src/util/dict.c:575,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict.c:576,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - key
    - unused_type
    - context
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 578
    functionName: dict_eval_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - DICT*::lookup
    - DICT_FIND_FOR_LOOKUP
    linkageType: ''
    returnType: char
    signature: "char *dict_eval_lookup(const char *key, int unused_type,\n\t\t\t\t
      \           void *context)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict.c:592,1
    - Dst: mac_expand
      Src: /src/postfix/postfix/src/util/dict.c:599,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict.c:603,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict.c:605,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict.c:605,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict.c:606,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict.c:606,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict.c:608,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict.c:610,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - dict_name
    - value
    - recursive
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 611
    functionName: dict_eval
    functionSourceFile: /src/postfix/postfix/src/util/dict.c
    functionUses: 5
    functionsReached:
    - vstring_alloc
    - mac_expand
    - msg_info
    - strcmp
    - msg_fatal
    - STR
    linkageType: ''
    returnType: char
    signature: char *dict_eval(const char *dict_name, const char *value, int recursive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htable_list
      Src: /src/postfix/postfix/src/util/dict.c:621,1
    - Dst: action
      Src: /src/postfix/postfix/src/util/dict.c:623,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict.c:624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - action
    - ptr
    argTypes:
    - DICT_WALK_ACTION
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 615
    functionDepth: 3
    functionLinenumber: 615
    functionLinenumberEnd: 625
    functionName: dict_walk
    functionSourceFile: /src/postfix/postfix/src/util/dict.c
    functionUses: 0
    functionsReached:
    - myfree
    - htable_list
    - action
    linkageType: ''
    returnType: void
    signature: void dict_walk(DICT_WALK_ACTION action, void *ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: htable_list
      Src: /src/postfix/postfix/src/util/dict.c:639,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict.c:645,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/util/dict.c:646,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict.c:647,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict.c:654,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 629
    functionDepth: 3
    functionLinenumber: 629
    functionLinenumberEnd: 656
    functionName: dict_changed_name
    functionSourceFile: /src/postfix/postfix/src/util/dict.c
    functionUses: 12
    functionsReached:
    - msg_warn
    - myfree
    - htable_list
    - fstat
    - msg_fatal
    linkageType: ''
    returnType: char
    signature: char *dict_changed_name(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_changed_name
      Src: /src/postfix/postfix/src/util/dict.c:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 660
    functionDepth: 4
    functionLinenumber: 660
    functionLinenumberEnd: 663
    functionName: dict_changed
    functionSourceFile: /src/postfix/postfix/src/util/dict.c
    functionUses: 0
    functionsReached:
    - dict_changed_name
    linkageType: ''
    returnType: int
    signature: int dict_changed(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict.c:700,1
    - Dst: str_name_mask_opt
      Src: /src/postfix/postfix/src/util/dict.c:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dict_flags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 704
    functionName: dict_flags_str
    functionSourceFile: /src/postfix/postfix/src/util/dict.c
    functionUses: 5
    functionsReached:
    - str_name_mask_opt
    - vstring_alloc
    linkageType: ''
    returnType: char
    signature: char *dict_flags_str(int dict_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name_mask
      Src: /src/postfix/postfix/src/util/dict.c:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - names
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 711
    functionName: dict_flags_mask
    functionSourceFile: /src/postfix/postfix/src/util/dict.c
    functionUses: 0
    functionsReached:
    - name_mask
    linkageType: ''
    returnType: int
    signature: int dict_flags_mask(const char *names)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict.c:718,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/dict.c:718,1
    - Dst: dict_flags_str
      Src: /src/postfix/postfix/src/util/dict.c:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out
    - type_name
    - open_flags
    - dict_flags
    argTypes:
    - VSTRING*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 721
    functionName: dict_make_registered_name
    functionSourceFile: /src/postfix/postfix/src/util/dict.c
    functionUses: 1
    functionsReached:
    - dict_flags_str
    - vstring_sprintf
    - STR
    linkageType: ''
    returnType: char
    signature: "char *dict_make_registered_name(VSTRING *out, const char *type_name,\n\t\t\t\t
      \         int open_flags, int dict_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict.c:729,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/dict.c:729,1
    - Dst: dict_flags_str
      Src: /src/postfix/postfix/src/util/dict.c:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out
    - type
    - name
    - open_flags
    - dict_flags
    argTypes:
    - VSTRING*
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 732
    functionName: dict_make_registered_name4
    functionSourceFile: /src/postfix/postfix/src/util/dict.c
    functionUses: 1
    functionsReached:
    - dict_flags_str
    - vstring_sprintf
    - STR
    linkageType: ''
    returnType: char
    signature: "char *dict_make_registered_name4(VSTRING *out, const char *type,\n\t\t\t\t
      \          const char *name,\n\t\t\t\t           int open_flags, int dict_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - res
    - ','
    - in
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: hex_encode
    functionSourceFile: /src/postfix/postfix/src/util/hex_code.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hex_encode(res, in, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - res
    - ','
    - in
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: hex_decode
    functionSourceFile: /src/postfix/postfix/src/util/hex_code.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hex_decode(res, in, len)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/util/dict_pipe.c
    functionUses: 511
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_pipe.c:78,1
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/util/dict_pipe.c:80,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_pipe.c:81,1
    - Dst: dict_get
      Src: /src/postfix/postfix/src/util/dict_pipe.c:82,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_pipe.c:82,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_pipe.c:83,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_pipe.c:84,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_pipe.c:86,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_pipe.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - dict
    - query
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 87
    functionName: dict_pipe_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_pipe.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstring_strcpy
    - dict_get
    - dict_handle
    - DICT_ERR_VAL_RETURN
    - STR
    linkageType: ''
    returnType: char
    signature: char *dict_pipe_lookup(DICT *dict, const char *query)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/util/dict_pipe.c:100,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_pipe.c:101,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/util/dict_pipe.c:102,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/util/dict_pipe.c:104,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_pipe.c:105,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/util/dict_pipe.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 107
    functionName: dict_pipe_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_pipe.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - dict_free
    - argv_free
    - dict_close
    - dict_handle
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_pipe_close(DICT *dict)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DICT_PIPE_RETURN
      Src: /src/postfix/postfix/src/util/dict_pipe.c:139,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_pipe.c:139,1
    - Dst: balpar
      Src: /src/postfix/postfix/src/util/dict_pipe.c:147,1
    - Dst: mystrndup
      Src: /src/postfix/postfix/src/util/dict_pipe.c:148,1
    - Dst: argv_splitq
      Src: /src/postfix/postfix/src/util/dict_pipe.c:149,1
    - Dst: DICT_PIPE_RETURN
      Src: /src/postfix/postfix/src/util/dict_pipe.c:151,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_pipe.c:151,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/util/dict_pipe.c:163,1
    - Dst: DICT_PIPE_RETURN
      Src: /src/postfix/postfix/src/util/dict_pipe.c:164,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_pipe.c:164,1
    - Dst: DICT_OWNER_AGGREGATE_INIT
      Src: /src/postfix/postfix/src/util/dict_pipe.c:176,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_pipe.c:179,1
    - Dst: dict_open
      Src: /src/postfix/postfix/src/util/dict_pipe.c:180,1
    - Dst: argv_replace_one
      Src: /src/postfix/postfix/src/util/dict_pipe.c:181,1
    - Dst: DICT_OWNER_AGGREGATE_UPDATE
      Src: /src/postfix/postfix/src/util/dict_pipe.c:182,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/util/dict_pipe.c:191,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_pipe.c:196,1
    - Dst: DICT_PIPE_RETURN
      Src: /src/postfix/postfix/src/util/dict_pipe.c:199,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - name
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 111
    functionDepth: 4
    functionLinenumber: 111
    functionLinenumberEnd: 200
    functionName: dict_pipe_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_pipe.c
    functionUses: 0
    functionsReached:
    - argv_splitq
    - strchr
    - dict_open
    - balpar
    - mystrndup
    - vstring_alloc
    - DICT_OWNER_AGGREGATE_INIT
    - msg_info
    - DICT_OWNER_AGGREGATE_UPDATE
    - dict_surrogate
    - dict_alloc
    - DICT_PIPE_RETURN
    - argv_replace_one
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_pipe_open(const char *name, int open_flags, int dict_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: DICT_PIPE_RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict_pipe.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_PIPE_RETURN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_test.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - myname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/util/dict_test.c
    functionUses: 36
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(char *myname)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_test.c:38,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_test.c:39,1
    - Dst: signal
      Src: /src/postfix/postfix/src/util/dict_test.c:54,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/dict_test.c:56,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/util/dict_test.c:57,1
    - Dst: usage
      Src: /src/postfix/postfix/src/util/dict_test.c:60,1
    - Dst: usage
      Src: /src/postfix/postfix/src/util/dict_test.c:68,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/util/dict_test.c:69,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/util/dict_test.c:71,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/util/dict_test.c:73,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_test.c:76,1
    - Dst: dict_flags_mask
      Src: /src/postfix/postfix/src/util/dict_test.c:78,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/dict_test.c:84,1
    - Dst: dict_open
      Src: /src/postfix/postfix/src/util/dict_test.c:88,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_test.c:89,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/dict_test.c:94,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/util/dict_test.c:96,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_test.c:97,1
    - Dst: isatty
      Src: /src/postfix/postfix/src/util/dict_test.c:98,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_test.c:99,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/dict_test.c:100,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/util/dict_test.c:104,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_test.c:105,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/dict_test.c:106,1
    - Dst: dict_changed_name
      Src: /src/postfix/postfix/src/util/dict_test.c:109,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_test.c:110,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_test.c:111,1
    - Dst: unescape
      Src: /src/postfix/postfix/src/util/dict_test.c:111,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/util/dict_test.c:111,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/util/dict_test.c:112,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_test.c:113,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_test.c:115,1
    - Dst: dict_del
      Src: /src/postfix/postfix/src/util/dict_test.c:116,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_test.c:117,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_test.c:119,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_test.c:121,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_test.c:122,1
    - Dst: dict_get
      Src: /src/postfix/postfix/src/util/dict_test.c:123,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_test.c:124,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_test.c:127,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_test.c:129,1
    - Dst: dict_put
      Src: /src/postfix/postfix/src/util/dict_test.c:130,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_test.c:131,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_test.c:133,1
    - Dst: dict_seq
      Src: /src/postfix/postfix/src/util/dict_test.c:134,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_test.c:135,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_test.c:137,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_test.c:139,1
    - Dst: dict_seq
      Src: /src/postfix/postfix/src/util/dict_test.c:140,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_test.c:141,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_test.c:143,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_test.c:145,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_test.c:146,1
    - Dst: dict_flags_str
      Src: /src/postfix/postfix/src/util/dict_test.c:147,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_test.c:148,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_test.c:149,1
    - Dst: dict_flags_str
      Src: /src/postfix/postfix/src/util/dict_test.c:150,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/dict_test.c:152,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/dict_test.c:154,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_test.c:156,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_test.c:157,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/util/dict_test.c:158,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 97
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 36
    functionDepth: 4
    functionLinenumber: 36
    functionLinenumberEnd: 159
    functionName: dict_test
    functionSourceFile: /src/postfix/postfix/src/util/dict_test.c
    functionUses: 2
    functionsReached:
    - dict_open
    - msg_vstream_init
    - GETOPT
    - dict_put
    - vstream_fflush
    - vstring_alloc
    - strcasecmp
    - mystrtok
    - unescape
    - vstring_str
    - dict_flags_str
    - vstream_printf
    - isatty
    - signal
    - dict_changed_name
    - dict_get
    - vstring_free
    - msg_warn
    - vstring_fgets_nonl
    - dict_seq
    - dict_del
    - strcmp
    - dict_flags_mask
    - usage
    - dict_close
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void dict_test(int argc, char **argv)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/util/safe_open.c:103,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/safe_open.c:105,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/util/safe_open.c:117,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/safe_open.c:117,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/safe_open.c:118,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/safe_open.c:120,1
    - Dst: S_ISDIR
      Src: /src/postfix/postfix/src/util/safe_open.c:123,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/safe_open.c:124,1
    - Dst: lstat
      Src: /src/postfix/postfix/src/util/safe_open.c:149,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/safe_open.c:150,1
    - Dst: S_ISLNK
      Src: /src/postfix/postfix/src/util/safe_open.c:152,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/safe_open.c:154,1
    - Dst: sane_dirname
      Src: /src/postfix/postfix/src/util/safe_open.c:155,1
    - Dst: stat
      Src: /src/postfix/postfix/src/util/safe_open.c:159,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/safe_open.c:162,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/safe_open.c:166,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/safe_open.c:175,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/safe_open.c:189,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 4
    argNames:
    - path
    - flags
    - fstat_st
    - why
    argTypes:
    - char*
    - int
    - struct stat*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 191
    functionName: safe_open_exist
    functionSourceFile: /src/postfix/postfix/src/util/safe_open.c
    functionUses: 0
    functionsReached:
    - S_ISDIR
    - stat
    - vstring_sprintf
    - vstring_alloc
    - sane_dirname
    - vstream_fclose
    - S_ISLNK
    - fstat
    - vstream_fileno
    - msg_fatal
    - vstream_fopen
    - vstring_free
    - lstat
    linkageType: ''
    returnType: VSTREAM
    signature: "VSTREAM *safe_open_exist(const char *path, int flags,\n\t\t\t\t        struct
      stat * fstat_st, VSTRING *why)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/util/safe_open.c:204,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/safe_open.c:205,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/util/safe_open.c:212,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/safe_open.c:212,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/safe_open.c:213,1
    - Dst: CHANGE_OWNER
      Src: /src/postfix/postfix/src/util/safe_open.c:222,1
    - Dst: fchown
      Src: /src/postfix/postfix/src/util/safe_open.c:223,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/safe_open.c:223,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/safe_open.c:224,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/safe_open.c:237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 7
    argNames:
    - path
    - flags
    - mode
    - st
    - user
    - group
    - why
    argTypes:
    - char*
    - int
    - mode_t
    - struct stat*
    - uid_t
    - gid_t
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 239
    functionName: safe_open_create
    functionSourceFile: /src/postfix/postfix/src/util/safe_open.c
    functionUses: 0
    functionsReached:
    - CHANGE_OWNER
    - fchown
    - vstring_sprintf
    - msg_warn
    - vstream_fclose
    - fstat
    - vstream_fileno
    - msg_fatal
    - vstream_fopen
    linkageType: ''
    returnType: VSTREAM
    signature: "VSTREAM *safe_open_create(const char *path, int flags, mode_t mode,\n\t
      \           struct stat * st, uid_t user, gid_t group, VSTRING *why)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - user
    - ','
    - group
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: CHANGE_OWNER
    functionSourceFile: /src/postfix/postfix/src/util/safe_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHANGE_OWNER(user, group)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: safe_open_exist
      Src: /src/postfix/postfix/src/util/safe_open.c:254,1
    - Dst: safe_open_create
      Src: /src/postfix/postfix/src/util/safe_open.c:260,1
    - Dst: safe_open_exist
      Src: /src/postfix/postfix/src/util/safe_open.c:269,1
    - Dst: safe_open_create
      Src: /src/postfix/postfix/src/util/safe_open.c:271,1
    - Dst: safe_open_exist
      Src: /src/postfix/postfix/src/util/safe_open.c:273,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/safe_open.c:281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 7
    argNames:
    - path
    - flags
    - mode
    - st
    - user
    - group
    - why
    argTypes:
    - char*
    - int
    - mode_t
    - struct stat*
    - uid_t
    - gid_t
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 283
    functionName: safe_open
    functionSourceFile: /src/postfix/postfix/src/util/safe_open.c
    functionUses: 11
    functionsReached:
    - msg_panic
    - safe_open_create
    - safe_open_exist
    linkageType: ''
    returnType: VSTREAM
    signature: "VSTREAM *safe_open(const char *path, int flags, mode_t mode,\n\t            struct
      stat * st, uid_t user, gid_t group, VSTRING *why)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/msg.c:203,1
    - Dst: vmsg_info
      Src: /src/postfix/postfix/src/util/msg.c:204,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/msg.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: msg_info
    functionSourceFile: /src/postfix/postfix/src/util/msg.c
    functionUses: 711
    functionsReached:
    - va_start
    - va_end
    - vmsg_info
    linkageType: ''
    returnType: void
    signature: void msg_info(const char *fmt,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_vprintf
      Src: /src/postfix/postfix/src/util/msg.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: vmsg_info
    functionSourceFile: /src/postfix/postfix/src/util/msg.c
    functionUses: 1
    functionsReached:
    - msg_vprintf
    linkageType: ''
    returnType: void
    signature: void vmsg_info(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/msg.c:219,1
    - Dst: vmsg_warn
      Src: /src/postfix/postfix/src/util/msg.c:220,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/msg.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 222
    functionName: msg_warn
    functionSourceFile: /src/postfix/postfix/src/util/msg.c
    functionUses: 615
    functionsReached:
    - va_start
    - va_end
    - vmsg_warn
    linkageType: ''
    returnType: void
    signature: void msg_warn(const char *fmt,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_vprintf
      Src: /src/postfix/postfix/src/util/msg.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: vmsg_warn
    functionSourceFile: /src/postfix/postfix/src/util/msg.c
    functionUses: 3
    functionsReached:
    - msg_vprintf
    linkageType: ''
    returnType: void
    signature: void vmsg_warn(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/msg.c:235,1
    - Dst: vmsg_error
      Src: /src/postfix/postfix/src/util/msg.c:236,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/msg.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 238
    functionName: msg_error
    functionSourceFile: /src/postfix/postfix/src/util/msg.c
    functionUses: 27
    functionsReached:
    - va_start
    - va_end
    - vmsg_error
    linkageType: ''
    returnType: void
    signature: void msg_error(const char *fmt,...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_vprintf
      Src: /src/postfix/postfix/src/util/msg.c:242,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/msg.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: vmsg_error
    functionSourceFile: /src/postfix/postfix/src/util/msg.c
    functionUses: 1
    functionsReached:
    - msg_vprintf
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void vmsg_error(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/msg.c:253,1
    - Dst: vmsg_fatal
      Src: /src/postfix/postfix/src/util/msg.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 256
    functionName: msg_fatal
    functionSourceFile: /src/postfix/postfix/src/util/msg.c
    functionUses: 491
    functionsReached:
    - va_start
    - vmsg_fatal
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN msg_fatal(const char *fmt,...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_vprintf
      Src: /src/postfix/postfix/src/util/msg.c:261,1
    - Dst: msg_cleanup_fn
      Src: /src/postfix/postfix/src/util/msg.c:263,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/util/msg.c:265,1
    - Dst: _exit
      Src: /src/postfix/postfix/src/util/msg.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 268
    functionName: vmsg_fatal
    functionSourceFile: /src/postfix/postfix/src/util/msg.c
    functionUses: 1
    functionsReached:
    - _exit
    - msg_vprintf
    - sleep
    - msg_cleanup_fn
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN vmsg_fatal(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/msg.c:276,1
    - Dst: vmsg_fatal_status
      Src: /src/postfix/postfix/src/util/msg.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - status
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 279
    functionName: msg_fatal_status
    functionSourceFile: /src/postfix/postfix/src/util/msg.c
    functionUses: 16
    functionsReached:
    - va_start
    - vmsg_fatal_status
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN msg_fatal_status(int status, const char *fmt,...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_vprintf
      Src: /src/postfix/postfix/src/util/msg.c:284,1
    - Dst: msg_cleanup_fn
      Src: /src/postfix/postfix/src/util/msg.c:286,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/util/msg.c:288,1
    - Dst: _exit
      Src: /src/postfix/postfix/src/util/msg.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - status
    - fmt
    - ap
    argTypes:
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: vmsg_fatal_status
    functionSourceFile: /src/postfix/postfix/src/util/msg.c
    functionUses: 1
    functionsReached:
    - _exit
    - msg_vprintf
    - sleep
    - msg_cleanup_fn
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN vmsg_fatal_status(int status, const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/msg.c:299,1
    - Dst: vmsg_panic
      Src: /src/postfix/postfix/src/util/msg.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: msg_panic
    functionSourceFile: /src/postfix/postfix/src/util/msg.c
    functionUses: 437
    functionsReached:
    - va_start
    - vmsg_panic
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN msg_panic(const char *fmt,...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_vprintf
      Src: /src/postfix/postfix/src/util/msg.c:307,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/util/msg.c:309,1
    - Dst: abort
      Src: /src/postfix/postfix/src/util/msg.c:310,1
    - Dst: _exit
      Src: /src/postfix/postfix/src/util/msg.c:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 313
    functionName: vmsg_panic
    functionSourceFile: /src/postfix/postfix/src/util/msg.c
    functionUses: 1
    functionsReached:
    - abort
    - msg_vprintf
    - sleep
    - _exit
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN vmsg_panic(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cleanup_fn
    argTypes:
    - MSG_CLEANUP_FN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 323
    functionName: msg_cleanup
    functionSourceFile: /src/postfix/postfix/src/util/msg.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: MSG_CLEANUP_FN
    signature: MSG_CLEANUP_FN msg_cleanup(MSG_CLEANUP_FN cleanup_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: msg_error_limit
    functionSourceFile: /src/postfix/postfix/src/util/msg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int msg_error_limit(int limit)
  - 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: msg_error_clear
    functionSourceFile: /src/postfix/postfix/src/util/msg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void msg_error_clear(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cp
    - ','
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: mystrtok
    functionSourceFile: /src/postfix/postfix/src/util/stringops.h
    functionUses: 47
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mystrtok(cp, sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cp
    - ','
    - sp
    - ','
    - pp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: mystrtokq
    functionSourceFile: /src/postfix/postfix/src/util/stringops.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mystrtokq(cp, sp, pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cp
    - ','
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: mystrtokdq
    functionSourceFile: /src/postfix/postfix/src/util/stringops.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mystrtokdq(cp, sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - string
    - ','
    - replacement
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: printable
    functionSourceFile: /src/postfix/postfix/src/util/stringops.h
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: printable(string, replacement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: allascii
    functionSourceFile: /src/postfix/postfix/src/util/stringops.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: allascii(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: casefold
    functionSourceFile: /src/postfix/postfix/src/util/stringops.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: casefold(dst, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dst
    - ','
    - src
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: casefold_len
    functionSourceFile: /src/postfix/postfix/src/util/stringops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: casefold_len(dst, src, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: casefold_append
    functionSourceFile: /src/postfix/postfix/src/util/stringops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: casefold_append(dst, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s1
    - ','
    - s2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: strcasecmp_utf8
    functionSourceFile: /src/postfix/postfix/src/util/stringops.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strcasecmp_utf8(s1, s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s1
    - ','
    - s2
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: strncasecmp_utf8
    functionSourceFile: /src/postfix/postfix/src/util/stringops.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strncasecmp_utf8(s1, s2, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: STRREF
    functionSourceFile: /src/postfix/postfix/src/util/stringops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRREF(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unused_sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: timed_wait_alarm
    functionSourceFile: /src/postfix/postfix/src/util/timed_wait.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void timed_wait_alarm(int unused_sig)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/timed_wait.c:93,1
    - Dst: sigemptyset
      Src: /src/postfix/postfix/src/util/timed_wait.c:98,1
    - Dst: sigaction
      Src: /src/postfix/postfix/src/util/timed_wait.c:101,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/timed_wait.c:102,1
    - Dst: alarm
      Src: /src/postfix/postfix/src/util/timed_wait.c:104,1
    - Dst: waitpid
      Src: /src/postfix/postfix/src/util/timed_wait.c:109,1
    - Dst: alarm
      Src: /src/postfix/postfix/src/util/timed_wait.c:115,1
    - Dst: sigaction
      Src: /src/postfix/postfix/src/util/timed_wait.c:116,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/timed_wait.c:117,1
    - Dst: alarm
      Src: /src/postfix/postfix/src/util/timed_wait.c:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - pid
    - statusp
    - options
    - time_limit
    argTypes:
    - pid_t
    - WAIT_STATUS_T*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 122
    functionName: timed_waitpid
    functionSourceFile: /src/postfix/postfix/src/util/timed_wait.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - waitpid
    - alarm
    - sigaction
    - sigemptyset
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: "int timed_waitpid(pid_t pid, WAIT_STATUS_T *statusp, int options,\n\t\t
      \             int time_limit)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_cidr.c:89,1
    - Dst: cidr_match_execute
      Src: /src/postfix/postfix/src/util/dict_cidr.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - dict
    - key
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: dict_cidr_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_cidr.c
    functionUses: 0
    functionsReached:
    - cidr_match_execute
    - msg_info
    linkageType: ''
    returnType: char
    signature: char *dict_cidr_lookup(DICT *dict, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_cidr.c:109,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_cidr.c:110,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/util/dict_cidr.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: dict_cidr_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_cidr.c
    functionUses: 0
    functionsReached:
    - myfree
    - dict_free
    linkageType: ''
    returnType: void
    signature: void dict_cidr_close(DICT *dict)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/util/dict_cidr.c:130,1
    - Dst: ISALNUM
      Src: /src/postfix/postfix/src/util/dict_cidr.c:130,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/dict_cidr.c:135,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/dict_cidr.c:140,1
    - Dst: trimblanks
      Src: /src/postfix/postfix/src/util/dict_cidr.c:143,1
    - Dst: cidr_match_parse_if
      Src: /src/postfix/postfix/src/util/dict_cidr.c:144,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/util/dict_cidr.c:152,1
    - Dst: ISALNUM
      Src: /src/postfix/postfix/src/util/dict_cidr.c:152,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/dict_cidr.c:154,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/dict_cidr.c:157,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/dict_cidr.c:161,1
    - Dst: cidr_match_endif
      Src: /src/postfix/postfix/src/util/dict_cidr.c:164,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/dict_cidr.c:179,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/dict_cidr.c:190,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/dict_cidr.c:194,1
    - Dst: trimblanks
      Src: /src/postfix/postfix/src/util/dict_cidr.c:197,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/dict_cidr.c:199,1
    - Dst: cidr_match_parse
      Src: /src/postfix/postfix/src/util/dict_cidr.c:206,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/dict_cidr.c:210,1
    - Dst: dict_file_to_b64
      Src: /src/postfix/postfix/src/util/dict_cidr.c:222,1
    - Dst: dict_file_get_error
      Src: /src/postfix/postfix/src/util/dict_cidr.c:223,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_cidr.c:224,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_cidr.c:225,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_cidr.c:228,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/dict_cidr.c:234,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/dict_cidr.c:236,1
    - Dst: inet_ntop
      Src: /src/postfix/postfix/src/util/dict_cidr.c:240,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_cidr.c:242,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_cidr.c:243,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 80
    argCount: 5
    argNames:
    - dict
    - p
    - lineno
    - nesting
    - why
    argTypes:
    - DICT*
    - char*
    - int
    - int
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 117
    functionDepth: 6
    functionLinenumber: 117
    functionLinenumberEnd: 247
    functionName: dict_cidr_parse_rule
    functionSourceFile: /src/postfix/postfix/src/util/dict_cidr.c
    functionUses: 0
    functionsReached:
    - dict_file_to_b64
    - vstring_sprintf
    - vstring_str
    - ISSPACE
    - cidr_match_endif
    - msg_info
    - myfree
    - ISALNUM
    - cidr_match_parse
    - vstring_strcpy
    - cidr_match_parse_if
    - strncasecmp
    - mymalloc
    - inet_ntop
    - trimblanks
    - dict_file_get_error
    - mystrdup
    - msg_fatal
    linkageType: ''
    returnType: DICT_CIDR_ENTRY
    signature: "DICT_CIDR_ENTRY *dict_cidr_parse_rule(DICT *dict, char *p, int lineno,\n\t\t\t\t\t
      \         int nesting, VSTRING *why)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DICT_CIDR_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_cidr.c:285,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_cidr.c:285,1
    - Dst: dict_stream_open
      Src: /src/postfix/postfix/src/util/dict_cidr.c:293,1
    - Dst: DICT_CIDR_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_cidr.c:295,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_cidr.c:295,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_cidr.c:297,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_cidr.c:298,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_cidr.c:299,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/util/dict_cidr.c:305,1
    - Dst: readllines
      Src: /src/postfix/postfix/src/util/dict_cidr.c:315,1
    - Dst: dict_cidr_parse_rule
      Src: /src/postfix/postfix/src/util/dict_cidr.c:316,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_cidr.c:317,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_cidr.c:320,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_cidr.c:321,1
    - Dst: mvect_alloc
      Src: /src/postfix/postfix/src/util/dict_cidr.c:326,1
    - Dst: mvect_realloc
      Src: /src/postfix/postfix/src/util/dict_cidr.c:331,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_cidr.c:339,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_cidr.c:342,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_cidr.c:354,1
    - Dst: mvect_free
      Src: /src/postfix/postfix/src/util/dict_cidr.c:358,1
    - Dst: dict_file_purge_buffers
      Src: /src/postfix/postfix/src/util/dict_cidr.c:360,1
    - Dst: DICT_CIDR_OPEN_RETURN
      Src: /src/postfix/postfix/src/util/dict_cidr.c:361,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 3
    argNames:
    - mapname
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 251
    functionDepth: 7
    functionLinenumber: 251
    functionLinenumberEnd: 362
    functionName: dict_cidr_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_cidr.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - dict_stream_open
    - msg_warn
    - dict_alloc
    - mvect_free
    - dict_file_purge_buffers
    - mvect_alloc
    - vstring_alloc
    - dict_cidr_parse_rule
    - dict_surrogate
    - readllines
    - mvect_realloc
    - DICT_CIDR_OPEN_RETURN
    - vstring_str
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_cidr_open(const char *mapname, int open_flags, int dict_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 280
    functionName: DICT_CIDR_OPEN_RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict_cidr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_CIDR_OPEN_RETURN(d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/postfix/postfix/src/util/mkmap_sdbm.c:67,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/mkmap_sdbm.c:68,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/mkmap_sdbm.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - mp
    argTypes:
    - MKMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: mkmap_sdbm_after_close
    functionSourceFile: /src/postfix/postfix/src/util/mkmap_sdbm.c
    functionUses: 0
    functionsReached:
    - myfree
    - close
    - msg_warn
    linkageType: ''
    returnType: void
    signature: void mkmap_sdbm_after_close(MKMAP *mp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/mkmap_sdbm.c:76,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/util/mkmap_sdbm.c:83,1
    - Dst: open
      Src: /src/postfix/postfix/src/util/mkmap_sdbm.c:93,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/mkmap_sdbm.c:94,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/util/mkmap_sdbm.c:96,1
    - Dst: open
      Src: /src/postfix/postfix/src/util/mkmap_sdbm.c:97,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/mkmap_sdbm.c:98,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/mkmap_sdbm.c:99,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/mkmap_sdbm.c:100,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/mkmap_sdbm.c:101,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/mkmap_sdbm.c:107,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/mkmap_sdbm.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 111
    functionName: mkmap_sdbm_open
    functionSourceFile: /src/postfix/postfix/src/util/mkmap_sdbm.c
    functionUses: 0
    functionsReached:
    - myflock
    - msg_warn
    - close
    - myfree
    - open
    - concatenate
    - mymalloc
    - msg_fatal
    linkageType: ''
    returnType: MKMAP
    signature: MKMAP *mkmap_sdbm_open(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: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/util/readlline.c
    functionUses: 512
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/util/readlline.c
    functionUses: 152
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: END
    functionSourceFile: /src/postfix/postfix/src/util/readlline.c
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: END(x)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/readlline.c:90,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/readlline.c:103,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/util/readlline.c:104,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/readlline.c:105,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/readlline.c:109,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/readlline.c:112,1
    - Dst: END
      Src: /src/postfix/postfix/src/util/readlline.c:112,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/readlline.c:112,1
    - Dst: END
      Src: /src/postfix/postfix/src/util/readlline.c:114,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/util/readlline.c:115,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/readlline.c:121,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/util/readlline.c:122,1
    - Dst: vstream_ungetc
      Src: /src/postfix/postfix/src/util/readlline.c:123,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/readlline.c:124,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/readlline.c:128,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/readlline.c:137,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/readlline.c:138,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/readlline.c:140,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/readlline.c:141,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/readlline.c:150,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/readlline.c:150,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/readlline.c:150,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/readlline.c:151,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/readlline.c:152,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/readlline.c:152,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/readlline.c:153,1
    - Dst: readllines
      Src: /src/postfix/postfix/src/util/readlline.c:154,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/readlline.c:160,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 41
    argCount: 4
    argNames:
    - buf
    - fp
    - lineno
    - first_line
    argTypes:
    - VSTRING*
    - VSTREAM*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 161
    functionName: readllines
    functionSourceFile: /src/postfix/postfix/src/util/readlline.c
    functionUses: 10
    functionsReached:
    - VSTRING_ADDCH
    - msg_warn
    - vstring_truncate
    - ISSPACE
    - vstream_ungetc
    - VSTREAM_PATH
    - END
    - LEN
    - VSTRING_RESET
    - VSTREAM_GETC
    - VSTRING_TERMINATE
    - readllines
    - STR
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *readllines(VSTRING *buf, VSTREAM *fp, int *lineno, int *first_line)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/readlline.c:297,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/readlline.c:298,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/readlline.c:299,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/readlline.c:300,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/readlline.c:309,1
    - Dst: basename
      Src: /src/postfix/postfix/src/util/readlline.c:309,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/readlline.c:315,1
    - Dst: unescape
      Src: /src/postfix/postfix/src/util/readlline.c:316,1
    - Dst: unescape
      Src: /src/postfix/postfix/src/util/readlline.c:317,1
    - Dst: vstream_memopen
      Src: /src/postfix/postfix/src/util/readlline.c:318,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/readlline.c:319,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/util/readlline.c:320,1
    - Dst: CA_VSTREAM_CTL_PATH
      Src: /src/postfix/postfix/src/util/readlline.c:320,1
    - Dst: readllines
      Src: /src/postfix/postfix/src/util/readlline.c:323,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/readlline.c:324,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/readlline.c:325,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/readlline.c:327,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/readlline.c:327,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/readlline.c:328,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/readlline.c:329,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/readlline.c:329,1
    - Dst: memcmp
      Src: /src/postfix/postfix/src/util/readlline.c:330,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/readlline.c:330,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/readlline.c:330,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/readlline.c:330,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/readlline.c:331,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/readlline.c:332,1
    - Dst: escape
      Src: /src/postfix/postfix/src/util/readlline.c:332,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/readlline.c:332,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/readlline.c:332,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/readlline.c:335,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/readlline.c:338,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/readlline.c:341,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/readlline.c:346,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/readlline.c:349,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/readlline.c:352,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/readlline.c:354,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/readlline.c:355,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/readlline.c:356,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/readlline.c:357,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/readlline.c:359,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 361
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/readlline.c
    functionUses: 41
    functionsReached:
    - basename
    - LEN
    - msg_vstream_init
    - vstream_control
    - VSTRING_RESET
    - msg_info
    - escape
    - msg_panic
    - memcmp
    - vstring_alloc
    - vstream_memopen
    - readllines
    - unescape
    - VSTRING_TERMINATE
    - vstring_free
    - msg_warn
    - CA_VSTREAM_CTL_PATH
    - vstream_fprintf
    - vstream_fclose
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/pass_trigger.c:81,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/util/pass_trigger.c:82,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/util/pass_trigger.c:83,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/pass_trigger.c:85,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/pass_trigger.c:86,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/pass_trigger.c:87,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/pass_trigger.c:88,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/pass_trigger.c:89,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/pass_trigger.c:90,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/pass_trigger.c:91,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/pass_trigger.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 93
    functionName: pass_trigger_event
    functionSourceFile: /src/postfix/postfix/src/util/pass_trigger.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - close
    - myfree
    - event_disable_readwrite
    - event_cancel_timer
    linkageType: ''
    returnType: void
    signature: void pass_trigger_event(int event, void *context)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/pass_trigger.c:105,1
    - Dst: LOCAL_CONNECT
      Src: /src/postfix/postfix/src/util/pass_trigger.c:110,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/pass_trigger.c:112,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/util/pass_trigger.c:115,1
    - Dst: pipe
      Src: /src/postfix/postfix/src/util/pass_trigger.c:120,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/pass_trigger.c:121,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/util/pass_trigger.c:122,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/util/pass_trigger.c:123,1
    - Dst: LOCAL_SEND_FD
      Src: /src/postfix/postfix/src/util/pass_trigger.c:124,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/pass_trigger.c:125,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/pass_trigger.c:130,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/pass_trigger.c:132,1
    - Dst: write_buf
      Src: /src/postfix/postfix/src/util/pass_trigger.c:139,1
    - Dst: write_buf
      Src: /src/postfix/postfix/src/util/pass_trigger.c:140,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/pass_trigger.c:142,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/util/pass_trigger.c:148,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/util/pass_trigger.c:149,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - service
    - buf
    - len
    - timeout
    argTypes:
    - char*
    - char*
    - ssize_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 151
    functionName: pass_trigger
    functionSourceFile: /src/postfix/postfix/src/util/pass_trigger.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - event_request_timer
    - mystrdup
    - event_enable_read
    - close_on_exec
    - pipe
    - LOCAL_CONNECT
    - msg_info
    - mymalloc
    - msg_fatal
    - LOCAL_SEND_FD
    - write_buf
    linkageType: ''
    returnType: int
    signature: int pass_trigger(const char *service, const char *buf, ssize_t len,
      int timeout)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/inet_listen.c:105,1
    - Dst: host_port
      Src: /src/postfix/postfix/src/util/inet_listen.c:106,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_listen.c:107,1
    - Dst: hostname_to_sockaddr
      Src: /src/postfix/postfix/src/util/inet_listen.c:110,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_listen.c:111,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/util/inet_listen.c:111,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/inet_listen.c:112,1
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/util/inet_listen.c:115,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_listen.c:122,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/util/inet_listen.c:127,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/inet_listen.c:130,1
    - Dst: SOCKADDR_TO_HOSTADDR
      Src: /src/postfix/postfix/src/util/inet_listen.c:137,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/inet_listen.c:139,1
    - Dst: socket
      Src: /src/postfix/postfix/src/util/inet_listen.c:145,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_listen.c:146,1
    - Dst: setsockopt
      Src: /src/postfix/postfix/src/util/inet_listen.c:150,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_listen.c:152,1
    - Dst: setsockopt
      Src: /src/postfix/postfix/src/util/inet_listen.c:155,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_listen.c:157,1
    - Dst: setsockopt
      Src: /src/postfix/postfix/src/util/inet_listen.c:159,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_listen.c:161,1
    - Dst: setsockopt
      Src: /src/postfix/postfix/src/util/inet_listen.c:163,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_listen.c:165,1
    - Dst: bind
      Src: /src/postfix/postfix/src/util/inet_listen.c:167,1
    - Dst: SOCKADDR_TO_HOSTADDR
      Src: /src/postfix/postfix/src/util/inet_listen.c:168,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_listen.c:170,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/util/inet_listen.c:172,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/util/inet_listen.c:173,1
    - Dst: set_inet_windowsize
      Src: /src/postfix/postfix/src/util/inet_listen.c:175,1
    - Dst: listen
      Src: /src/postfix/postfix/src/util/inet_listen.c:176,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_listen.c:177,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 3
    argNames:
    - addr
    - backlog
    - block_mode
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 179
    functionName: inet_listen
    functionSourceFile: /src/postfix/postfix/src/util/inet_listen.c
    functionUses: 1
    functionsReached:
    - inet_proto_info
    - MAI_STRERROR
    - strchr
    - setsockopt
    - bind
    - listen
    - socket
    - msg_info
    - myfree
    - non_blocking
    - set_inet_windowsize
    - SOCKADDR_TO_HOSTADDR
    - msg_fatal
    - host_port
    - mystrdup
    - hostname_to_sockaddr
    - freeaddrinfo
    linkageType: ''
    returnType: int
    signature: int inet_listen(const char *addr, int backlog, int block_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sane_accept
      Src: /src/postfix/postfix/src/util/inet_listen.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 189
    functionName: inet_accept
    functionSourceFile: /src/postfix/postfix/src/util/inet_listen.c
    functionUses: 3
    functionsReached:
    - sane_accept
    linkageType: ''
    returnType: int
    signature: int inet_accept(int fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/msg_output.c:126,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/msg_output.c:134,1
    - Dst: myrealloc
      Src: /src/postfix/postfix/src/util/msg_output.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - output_fn
    argTypes:
    - MSG_OUTPUT_FN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 139
    functionName: msg_output
    functionSourceFile: /src/postfix/postfix/src/util/msg_output.c
    functionUses: 2
    functionsReached:
    - mymalloc
    - myrealloc
    - vstring_alloc
    linkageType: ''
    returnType: void
    signature: void msg_output(MSG_OUTPUT_FN output_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/msg_output.c:147,1
    - Dst: msg_vprintf
      Src: /src/postfix/postfix/src/util/msg_output.c:148,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/msg_output.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - level
    - format
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: msg_printf
    functionSourceFile: /src/postfix/postfix/src/util/msg_output.c
    functionUses: 2
    functionsReached:
    - va_start
    - msg_vprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: void msg_printf(int level, const char *format,...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/msg_output.c:164,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/util/msg_output.c:167,1
    - Dst: printable
      Src: /src/postfix/postfix/src/util/msg_output.c:168,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/msg_output.c:168,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/msg_output.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - level
    - format
    - ap
    argTypes:
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 174
    functionName: msg_vprintf
    functionSourceFile: /src/postfix/postfix/src/util/msg_output.c
    functionUses: 7
    functionsReached:
    - vstring_vsprintf
    - vstring_str
    - printable
    - msg_vstream_init
    linkageType: ''
    returnType: void
    signature: void msg_vprintf(int level, const char *format, va_list ap)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/util/dict_nisplus.c
    functionUses: 514
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:135,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:136,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:137,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:145,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:146,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:147,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:147,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:157,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:158,1
    - Dst: ISASCII
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:160,1
    - Dst: ISPRINT
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:160,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:161,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:166,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:168,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:170,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:171,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:182,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:182,1
    - Dst: nis_list
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:183,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:183,1
    - Dst: NIS_RES_NUMOBJ
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:190,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:191,1
    - Dst: nis_freeresult
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:194,1
    - Dst: NIS_RES_OBJECT
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:197,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:200,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:203,1
    - Dst: NIS_RES_OBJECT
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:204,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:208,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:208,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:209,1
    - Dst: nis_freeresult
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:210,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:211,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:223,1
    - Dst: nis_sperrno
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:225,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:229,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:229,1
    - Dst: nis_freeresult
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:231,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 2
    argNames:
    - dict
    - key
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 234
    functionName: dict_nisplus_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_nisplus.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - vstring_sprintf
    - ISPRINT
    - msg_info
    - VSTRING_RESET
    - vstring_alloc
    - vstring_str
    - NIS_RES_OBJECT
    - nis_list
    - ISASCII
    - NIS_RES_NUMOBJ
    - VSTRING_TERMINATE
    - lowercase
    - nis_freeresult
    - msg_warn
    - nis_sperrno
    - vstring_strcpy
    - msg_fatal
    - STR
    linkageType: ''
    returnType: char
    signature: char *dict_nisplus_lookup(DICT *dict, const char *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:242,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:244,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: dict_nisplus_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_nisplus.c
    functionUses: 0
    functionsReached:
    - myfree
    - dict_free
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_nisplus_close(DICT *dict)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:260,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:269,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:274,1
    - Dst: strstr
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:290,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:293,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:293,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:294,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_nisplus.c:299,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - map
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 302
    functionName: dict_nisplus_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_nisplus.c
    functionUses: 0
    functionsReached:
    - alldig
    - vstring_alloc
    - msg_info
    - dict_surrogate
    - atoi
    - dict_alloc
    - strstr
    - msg_fatal
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_nisplus_open(const char *map, int open_flags, int dict_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: OPENSSL_VERSION_PREREQ
    functionSourceFile: /src/postfix/postfix/src/util/ossl_digest.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPENSSL_VERSION_PREREQ(m,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ct
    - ','
    - alg_name
    - ','
    - pr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: EVP_MD_fetch
    functionSourceFile: /src/postfix/postfix/src/util/ossl_digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_MD_fetch(ct, alg_name, pr)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/util/ossl_digest.c
    functionUses: 515
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/util/ossl_digest.c
    functionUses: 154
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/ossl_digest.c:126,1
    - Dst: EVP_MD_fetch
      Src: /src/postfix/postfix/src/util/ossl_digest.c:139,1
    - Dst: EVP_MD_CTX_new
      Src: /src/postfix/postfix/src/util/ossl_digest.c:140,1
    - Dst: EVP_MD_free
      Src: /src/postfix/postfix/src/util/ossl_digest.c:144,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/ossl_digest.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - alg_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 149
    functionName: ossl_digest_new
    functionSourceFile: /src/postfix/postfix/src/util/ossl_digest.c
    functionUses: 1
    functionsReached:
    - EVP_MD_fetch
    - myfree
    - EVP_MD_CTX_new
    - mymalloc
    - EVP_MD_free
    linkageType: ''
    returnType: OSSL_DGST
    signature: OSSL_DGST *ossl_digest_new(const char *alg_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/ossl_digest.c:159,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/ossl_digest.c:161,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/util/ossl_digest.c:162,1
    - Dst: EVP_MD_get_size
      Src: /src/postfix/postfix/src/util/ossl_digest.c:162,1
    - Dst: EVP_DigestInit_ex
      Src: /src/postfix/postfix/src/util/ossl_digest.c:163,1
    - Dst: EVP_DigestUpdate
      Src: /src/postfix/postfix/src/util/ossl_digest.c:164,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/postfix/postfix/src/util/ossl_digest.c:165,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ossl_digest.c:165,1
    - Dst: vstring_set_payload_size
      Src: /src/postfix/postfix/src/util/ossl_digest.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - dgst
    - data
    - data_len
    - out
    argTypes:
    - OSSL_DGST*
    - void*
    - ssize_t
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 170
    functionName: ossl_digest_data
    functionSourceFile: /src/postfix/postfix/src/util/ossl_digest.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - EVP_MD_get_size
    - VSTRING_SPACE
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - vstring_set_payload_size
    - VSTRING_RESET
    - EVP_DigestInit_ex
    - STR
    linkageType: ''
    returnType: int
    signature: "int ossl_digest_data(OSSL_DGST *dgst, const void *data,\n\t\t\t         ssize_t
      data_len, VSTRING *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/postfix/postfix/src/util/ossl_digest.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dgst
    argTypes:
    - OSSL_DGST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: ossl_digest_get_size
    functionSourceFile: /src/postfix/postfix/src/util/ossl_digest.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get_size
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ossl_digest_get_size(OSSL_DGST *dgst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/util/ossl_digest.c:183,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/ossl_digest.c:184,1
    - Dst: OPENSSL_VERSION_PREREQ
      Src: /src/postfix/postfix/src/util/ossl_digest.c:195,1
    - Dst: ERRGET
      Src: /src/postfix/postfix/src/util/ossl_digest.c:202,1
    - Dst: ERR_error_string_n
      Src: /src/postfix/postfix/src/util/ossl_digest.c:203,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/ossl_digest.c:205,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/ossl_digest.c:208,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/ossl_digest.c:209,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ossl_digest.c:209,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/ossl_digest.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 213
    functionName: ossl_digest_get_errors
    functionSourceFile: /src/postfix/postfix/src/util/ossl_digest.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - vstring_alloc
    - argv_alloc
    - argv_add
    - OPENSSL_VERSION_PREREQ
    - ERR_error_string_n
    - ERRGET
    - vstring_free
    - STR
    linkageType: ''
    returnType: ARGV
    signature: ARGV *ossl_digest_get_errors(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - fi
    - ','
    - l
    - ','
    - d
    - ','
    - fl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: ERRGET
    functionSourceFile: /src/postfix/postfix/src/util/ossl_digest.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERRGET(fi, l, d, fl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - fi
    - ','
    - l
    - ','
    - d
    - ','
    - fl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: ERRGET
    functionSourceFile: /src/postfix/postfix/src/util/ossl_digest.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERRGET(fi, l, d, fl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERRGET
      Src: /src/postfix/postfix/src/util/ossl_digest.c:226,1
    - Dst: ERR_error_string_n
      Src: /src/postfix/postfix/src/util/ossl_digest.c:227,1
    - Dst: logger
      Src: /src/postfix/postfix/src/util/ossl_digest.c:229,1
    - Dst: logger
      Src: /src/postfix/postfix/src/util/ossl_digest.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 233
    functionName: ossl_digest_log_errors
    functionSourceFile: /src/postfix/postfix/src/util/ossl_digest.c
    functionUses: 2
    functionsReached:
    - ERRGET
    - logger
    - ERR_error_string_n
    linkageType: ''
    returnType: void
    signature: void ossl_digest_log_errors(void (*logger)(const char *, ...))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_destroy
      Src: /src/postfix/postfix/src/util/ossl_digest.c:239,1
    - Dst: EVP_MD_free
      Src: /src/postfix/postfix/src/util/ossl_digest.c:240,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/ossl_digest.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dgst
    argTypes:
    - OSSL_DGST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: ossl_digest_free
    functionSourceFile: /src/postfix/postfix/src/util/ossl_digest.c
    functionUses: 1
    functionsReached:
    - myfree
    - EVP_MD_free
    - EVP_MD_CTX_destroy
    linkageType: ''
    returnType: void
    signature: void ossl_digest_free(OSSL_DGST *dgst)
  - 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: _STRINGIFY
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_sizes.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: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: _STRLEN
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_sizes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _STRLEN(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - af
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: inet_addr_sizes
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_sizes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: INET_ADDR_SIZES
    signature: INET_ADDR_SIZES *inet_addr_sizes(int af)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/argv.c:187,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/argv.c:188,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/argv.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - argvp
    argTypes:
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: argv_free
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 97
    functionsReached:
    - myfree
    linkageType: ''
    returnType: ARGV
    signature: ARGV *argv_free(ARGV *argvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/argv.c:203,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/argv.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - len
    argTypes:
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 211
    functionName: argv_alloc
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 45
    functionsReached:
    - mymalloc
    linkageType: ''
    returnType: ARGV
    signature: ARGV *argv_alloc(ssize_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/argv.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e1
    - e2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: argv_cmp
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int argv_cmp(const void *e1, const void *e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/postfix/postfix/src/util/argv.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argvp
    - compar
    argTypes:
    - ARGV*
    - ARGV_COMPAR_FN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: argv_qsort
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 1
    functionsReached:
    - qsort
    linkageType: ''
    returnType: ARGV
    signature: ARGV *argv_qsort(ARGV *argvp, ARGV_COMPAR_FN compar)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/postfix/postfix/src/util/argv.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - argvp
    argTypes:
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: argv_sort
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 1
    functionsReached:
    - qsort
    linkageType: ''
    returnType: ARGV
    signature: ARGV *argv_sort(ARGV *argvp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compar
      Src: /src/postfix/postfix/src/util/argv.c:248,1
    - Dst: argv_delete
      Src: /src/postfix/postfix/src/util/argv.c:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - argvp
    - compar
    argTypes:
    - ARGV*
    - ARGV_COMPAR_FN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 256
    functionName: argv_uniq
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 1
    functionsReached:
    - argv_delete
    - compar
    linkageType: ''
    returnType: ARGV
    signature: ARGV *argv_uniq(ARGV *argvp, ARGV_COMPAR_FN compar)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myrealloc
      Src: /src/postfix/postfix/src/util/argv.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - argvp
    argTypes:
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: argv_extend
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 0
    functionsReached:
    - myrealloc
    linkageType: ''
    returnType: void
    signature: void argv_extend(ARGV *argvp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/argv.c:282,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/argv.c:283,1
    - Dst: ARGV_SPACE_LEFT
      Src: /src/postfix/postfix/src/util/argv.c:284,1
    - Dst: argv_extend
      Src: /src/postfix/postfix/src/util/argv.c:285,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/argv.c:286,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/argv.c:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - argvp
    argTypes:
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 272
    functionDepth: 4
    functionLinenumber: 272
    functionLinenumberEnd: 290
    functionName: argv_add
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 50
    functionsReached:
    - va_start
    - va_end
    - mystrdup
    - va_arg
    - argv_extend
    - ARGV_SPACE_LEFT
    linkageType: ''
    returnType: void
    signature: void argv_add(ARGV *argvp,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 281
    functionName: ARGV_SPACE_LEFT
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGV_SPACE_LEFT(a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/argv.c:303,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/argv.c:304,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/argv.c:305,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/argv.c:306,1
    - Dst: ARGV_SPACE_LEFT
      Src: /src/postfix/postfix/src/util/argv.c:307,1
    - Dst: argv_extend
      Src: /src/postfix/postfix/src/util/argv.c:308,1
    - Dst: mystrndup
      Src: /src/postfix/postfix/src/util/argv.c:309,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/argv.c:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - argvp
    argTypes:
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 294
    functionDepth: 4
    functionLinenumber: 294
    functionLinenumberEnd: 313
    functionName: argv_addn
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 0
    functionsReached:
    - va_start
    - msg_panic
    - va_end
    - mystrndup
    - va_arg
    - argv_extend
    - ARGV_SPACE_LEFT
    linkageType: ''
    returnType: void
    signature: void argv_addn(ARGV *argvp,...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/util/argv.c:324,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/argv.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - argvp
    - argv
    argTypes:
    - ARGV*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 317
    functionDepth: 5
    functionLinenumber: 317
    functionLinenumberEnd: 330
    functionName: argv_addv
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 0
    functionsReached:
    - argv_alloc
    - argv_add
    linkageType: ''
    returnType: ARGV
    signature: ARGV *argv_addv(ARGV *argvp, const char *const * argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - argvp
    argTypes:
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 341
    functionName: argv_terminate
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void argv_terminate(ARGV *argvp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/argv.c:353,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/argv.c:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - argvp
    - len
    argTypes:
    - ARGV*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 361
    functionName: argv_truncate
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 4
    functionsReached:
    - msg_panic
    - myfree
    linkageType: ''
    returnType: void
    signature: void argv_truncate(ARGV *argvp, ssize_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/argv.c:373,1
    - Dst: ARGV_SPACE_LEFT
      Src: /src/postfix/postfix/src/util/argv.c:375,1
    - Dst: argv_extend
      Src: /src/postfix/postfix/src/util/argv.c:376,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/argv.c:379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - argvp
    - where
    - arg
    argTypes:
    - ARGV*
    - ssize_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 365
    functionDepth: 4
    functionLinenumber: 365
    functionLinenumberEnd: 381
    functionName: argv_insert_one
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - mystrdup
    - ARGV_SPACE_LEFT
    - argv_extend
    linkageType: ''
    returnType: void
    signature: void argv_insert_one(ARGV *argvp, ssize_t where, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/argv.c:393,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/argv.c:396,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/argv.c:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - argvp
    - where
    - arg
    argTypes:
    - ARGV*
    - ssize_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 398
    functionName: argv_replace_one
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 6
    functionsReached:
    - msg_panic
    - myfree
    - mystrdup
    linkageType: ''
    returnType: void
    signature: void argv_replace_one(ARGV *argvp, ssize_t where, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/argv.c:410,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/argv.c:414,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - argvp
    - first
    - how_many
    argTypes:
    - ARGV*
    - ssize_t
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 418
    functionName: argv_delete
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - myfree
    linkageType: ''
    returnType: void
    signature: void argv_delete(ARGV *argvp, ssize_t first, ssize_t how_many)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/util/argv.c:427,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/argv.c:429,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/argv.c:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - buf
    - argv
    - delim
    argTypes:
    - VSTRING*
    - ARGV*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 432
    functionName: argv_join
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 1
    functionsReached:
    - VSTRING_ADDCH
    - vstring_str
    - vstring_strcat
    linkageType: ''
    returnType: char
    signature: char *argv_join(VSTRING *buf, ARGV *argv, int delim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/argv.c:474,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/argv.c:475,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/util/argv.c:476,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/argv.c:477,1
    - Dst: longjmp
      Src: /src/postfix/postfix/src/util/argv.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 479
    functionName: test_msg_panic
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vstring_vsprintf
    - vstring_alloc
    - longjmp
    linkageType: ''
    returnType: void
    signature: void test_msg_panic(const char *fmt,...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/argv.c:488,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/util/argv.c:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tp
    - argvp
    argTypes:
    - TEST_CASE*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 483
    functionDepth: 5
    functionLinenumber: 483
    functionLinenumberEnd: 492
    functionName: test_argv_populate
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 0
    functionsReached:
    - argv_add
    - argv_terminate
    linkageType: ''
    returnType: ARGV
    signature: ARGV *test_argv_populate(const TEST_CASE *tp, ARGV *argvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_argv_populate
      Src: /src/postfix/postfix/src/util/argv.c:498,1
    - Dst: argv_qsort
      Src: /src/postfix/postfix/src/util/argv.c:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tp
    - argvp
    argTypes:
    - TEST_CASE*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 496
    functionDepth: 6
    functionLinenumber: 496
    functionLinenumberEnd: 501
    functionName: test_argv_sort
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 0
    functionsReached:
    - argv_qsort
    - test_argv_populate
    linkageType: ''
    returnType: ARGV
    signature: ARGV *test_argv_sort(const TEST_CASE *tp, ARGV *argvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_argv_sort
      Src: /src/postfix/postfix/src/util/argv.c:511,1
    - Dst: argv_uniq
      Src: /src/postfix/postfix/src/util/argv.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tp
    - argvp
    argTypes:
    - TEST_CASE*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 505
    functionDepth: 7
    functionLinenumber: 505
    functionLinenumberEnd: 514
    functionName: test_argv_sort_uniq
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 0
    functionsReached:
    - test_argv_sort
    - argv_uniq
    linkageType: ''
    returnType: ARGV
    signature: ARGV *test_argv_sort_uniq(const TEST_CASE *tp, ARGV *argvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_argv_populate
      Src: /src/postfix/postfix/src/util/argv.c:520,1
    - Dst: argv_truncate
      Src: /src/postfix/postfix/src/util/argv.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tp
    - argvp
    argTypes:
    - TEST_CASE*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 518
    functionDepth: 6
    functionLinenumber: 518
    functionLinenumberEnd: 523
    functionName: test_argv_good_truncate
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 0
    functionsReached:
    - argv_truncate
    - test_argv_populate
    linkageType: ''
    returnType: ARGV
    signature: ARGV *test_argv_good_truncate(const TEST_CASE *tp, ARGV *argvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_argv_populate
      Src: /src/postfix/postfix/src/util/argv.c:529,1
    - Dst: argv_truncate
      Src: /src/postfix/postfix/src/util/argv.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tp
    - argvp
    argTypes:
    - TEST_CASE*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 527
    functionDepth: 6
    functionLinenumber: 527
    functionLinenumberEnd: 532
    functionName: test_argv_bad_truncate
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 0
    functionsReached:
    - argv_truncate
    - test_argv_populate
    linkageType: ''
    returnType: ARGV
    signature: ARGV *test_argv_bad_truncate(const TEST_CASE *tp, ARGV *argvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_argv_populate
      Src: /src/postfix/postfix/src/util/argv.c:538,1
    - Dst: argv_insert_one
      Src: /src/postfix/postfix/src/util/argv.c:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tp
    - argvp
    argTypes:
    - TEST_CASE*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 536
    functionDepth: 6
    functionLinenumber: 536
    functionLinenumberEnd: 541
    functionName: test_argv_good_insert
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 0
    functionsReached:
    - test_argv_populate
    - argv_insert_one
    linkageType: ''
    returnType: ARGV
    signature: ARGV *test_argv_good_insert(const TEST_CASE *tp, ARGV *argvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_argv_populate
      Src: /src/postfix/postfix/src/util/argv.c:547,1
    - Dst: argv_insert_one
      Src: /src/postfix/postfix/src/util/argv.c:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tp
    - argvp
    argTypes:
    - TEST_CASE*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 545
    functionDepth: 6
    functionLinenumber: 545
    functionLinenumberEnd: 550
    functionName: test_argv_bad_insert1
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 0
    functionsReached:
    - test_argv_populate
    - argv_insert_one
    linkageType: ''
    returnType: ARGV
    signature: ARGV *test_argv_bad_insert1(const TEST_CASE *tp, ARGV *argvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_argv_populate
      Src: /src/postfix/postfix/src/util/argv.c:556,1
    - Dst: argv_insert_one
      Src: /src/postfix/postfix/src/util/argv.c:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tp
    - argvp
    argTypes:
    - TEST_CASE*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 554
    functionDepth: 6
    functionLinenumber: 554
    functionLinenumberEnd: 559
    functionName: test_argv_bad_insert2
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 0
    functionsReached:
    - test_argv_populate
    - argv_insert_one
    linkageType: ''
    returnType: ARGV
    signature: ARGV *test_argv_bad_insert2(const TEST_CASE *tp, ARGV *argvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_argv_populate
      Src: /src/postfix/postfix/src/util/argv.c:565,1
    - Dst: argv_replace_one
      Src: /src/postfix/postfix/src/util/argv.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tp
    - argvp
    argTypes:
    - TEST_CASE*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 563
    functionDepth: 6
    functionLinenumber: 563
    functionLinenumberEnd: 568
    functionName: test_argv_good_replace
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 0
    functionsReached:
    - test_argv_populate
    - argv_replace_one
    linkageType: ''
    returnType: ARGV
    signature: ARGV *test_argv_good_replace(const TEST_CASE *tp, ARGV *argvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_argv_populate
      Src: /src/postfix/postfix/src/util/argv.c:574,1
    - Dst: argv_replace_one
      Src: /src/postfix/postfix/src/util/argv.c:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tp
    - argvp
    argTypes:
    - TEST_CASE*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 572
    functionDepth: 6
    functionLinenumber: 572
    functionLinenumberEnd: 577
    functionName: test_argv_bad_replace1
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 0
    functionsReached:
    - test_argv_populate
    - argv_replace_one
    linkageType: ''
    returnType: ARGV
    signature: ARGV *test_argv_bad_replace1(const TEST_CASE *tp, ARGV *argvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_argv_populate
      Src: /src/postfix/postfix/src/util/argv.c:583,1
    - Dst: argv_replace_one
      Src: /src/postfix/postfix/src/util/argv.c:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tp
    - argvp
    argTypes:
    - TEST_CASE*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 581
    functionDepth: 6
    functionLinenumber: 581
    functionLinenumberEnd: 586
    functionName: test_argv_bad_replace2
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 0
    functionsReached:
    - test_argv_populate
    - argv_replace_one
    linkageType: ''
    returnType: ARGV
    signature: ARGV *test_argv_bad_replace2(const TEST_CASE *tp, ARGV *argvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_argv_populate
      Src: /src/postfix/postfix/src/util/argv.c:592,1
    - Dst: argv_delete
      Src: /src/postfix/postfix/src/util/argv.c:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tp
    - argvp
    argTypes:
    - TEST_CASE*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 590
    functionDepth: 6
    functionLinenumber: 590
    functionLinenumberEnd: 595
    functionName: test_argv_bad_delete1
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 0
    functionsReached:
    - argv_delete
    - test_argv_populate
    linkageType: ''
    returnType: ARGV
    signature: ARGV *test_argv_bad_delete1(const TEST_CASE *tp, ARGV *argvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_argv_populate
      Src: /src/postfix/postfix/src/util/argv.c:601,1
    - Dst: argv_delete
      Src: /src/postfix/postfix/src/util/argv.c:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tp
    - argvp
    argTypes:
    - TEST_CASE*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 599
    functionDepth: 6
    functionLinenumber: 599
    functionLinenumberEnd: 604
    functionName: test_argv_bad_delete2
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 0
    functionsReached:
    - argv_delete
    - test_argv_populate
    linkageType: ''
    returnType: ARGV
    signature: ARGV *test_argv_bad_delete2(const TEST_CASE *tp, ARGV *argvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_argv_populate
      Src: /src/postfix/postfix/src/util/argv.c:610,1
    - Dst: argv_delete
      Src: /src/postfix/postfix/src/util/argv.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tp
    - argvp
    argTypes:
    - TEST_CASE*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 608
    functionDepth: 6
    functionLinenumber: 608
    functionLinenumberEnd: 613
    functionName: test_argv_bad_delete3
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 0
    functionsReached:
    - argv_delete
    - test_argv_populate
    linkageType: ''
    returnType: ARGV
    signature: ARGV *test_argv_bad_delete3(const TEST_CASE *tp, ARGV *argvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/argv.c:619,1
    - Dst: test_argv_populate
      Src: /src/postfix/postfix/src/util/argv.c:625,1
    - Dst: argv_join
      Src: /src/postfix/postfix/src/util/argv.c:626,1
    - Dst: argv_delete
      Src: /src/postfix/postfix/src/util/argv.c:627,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/argv.c:628,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/argv.c:628,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/argv.c:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - tp
    - argvp
    argTypes:
    - TEST_CASE*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 617
    functionDepth: 6
    functionLinenumber: 617
    functionLinenumberEnd: 631
    functionName: test_argv_join
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 0
    functionsReached:
    - argv_delete
    - argv_join
    - test_argv_populate
    - vstring_alloc
    - argv_add
    - vstring_str
    - vstring_free
    linkageType: ''
    returnType: ARGV
    signature: ARGV *test_argv_join(const TEST_CASE *tp, ARGV *argvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argv_addv
      Src: /src/postfix/postfix/src/util/argv.c:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tp
    - argvp
    argTypes:
    - TEST_CASE*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 635
    functionDepth: 6
    functionLinenumber: 635
    functionLinenumberEnd: 639
    functionName: test_argv_addv_appends
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 0
    functionsReached:
    - argv_addv
    linkageType: ''
    returnType: ARGV
    signature: ARGV *test_argv_addv_appends(const TEST_CASE *tp, ARGV *argvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argv_free
      Src: /src/postfix/postfix/src/util/argv.c:645,1
    - Dst: argv_addv
      Src: /src/postfix/postfix/src/util/argv.c:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tp
    - argvp
    argTypes:
    - TEST_CASE*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 643
    functionDepth: 6
    functionLinenumber: 643
    functionLinenumberEnd: 648
    functionName: test_argv_addv_creates
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 0
    functionsReached:
    - argv_addv
    - argv_free
    linkageType: ''
    returnType: ARGV
    signature: ARGV *test_argv_addv_creates(const TEST_CASE *tp, ARGV *argvp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/argv.c:658,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/argv.c:662,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/argv.c:662,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/argv.c:663,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/argv.c:664,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/argv.c:670,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/argv.c:671,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/argv.c:675,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/argv.c:680,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/argv.c:684,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/argv.c:685,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - tp
    - argvp
    argTypes:
    - TEST_CASE*
    - ARGV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 652
    functionDepth: 2
    functionLinenumber: 652
    functionLinenumberEnd: 691
    functionName: test_argv_verify
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 0
    functionsReached:
    - vstring_str
    - msg_warn
    - strcmp
    linkageType: ''
    returnType: int
    signature: int test_argv_verify(const TEST_CASE *tp, ARGV *argvp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/argv.c:802,1
    - Dst: sane_basename
      Src: /src/postfix/postfix/src/util/argv.c:802,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/util/argv.c:808,1
    - Dst: setjmp
      Src: /src/postfix/postfix/src/util/argv.c:809,1
    - Dst: TEST_CASE*::populate_fn
      Src: /src/postfix/postfix/src/util/argv.c:810,1
    - Dst: test_argv_verify
      Src: /src/postfix/postfix/src/util/argv.c:811,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/argv.c:813,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/argv.c:816,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/util/argv.c:819,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/argv.c:821,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/argv.c:825,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/argv.c:826,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 796
    functionDepth: 3
    functionLinenumber: 796
    functionLinenumberEnd: 827
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/argv.c
    functionUses: 41
    functionsReached:
    - setjmp
    - test_argv_verify
    - TEST_CASE*::populate_fn
    - exit
    - argv_free
    - msg_vstream_init
    - msg_info
    - argv_alloc
    - sane_basename
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: perrorexit
    functionSourceFile: /src/postfix/postfix/src/util/fifo_rdwr_bug.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: perrorexit(s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postfix/postfix/src/util/fifo_rdwr_bug.c:42,1
    - Dst: unlink
      Src: /src/postfix/postfix/src/util/fifo_rdwr_bug.c:43,1
    - Dst: perrorexit
      Src: /src/postfix/postfix/src/util/fifo_rdwr_bug.c:44,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/fifo_rdwr_bug.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: cleanup
    functionSourceFile: /src/postfix/postfix/src/util/fifo_rdwr_bug.c
    functionUses: 30
    functionsReached:
    - printf
    - unlink
    - perrorexit
    linkageType: ''
    returnType: void
    signature: void cleanup(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/postfix/postfix/src/util/fifo_rdwr_bug.c:55,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/fifo_rdwr_bug.c:57,1
    - Dst: mkfifo
      Src: /src/postfix/postfix/src/util/fifo_rdwr_bug.c:58,1
    - Dst: perrorexit
      Src: /src/postfix/postfix/src/util/fifo_rdwr_bug.c:59,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/fifo_rdwr_bug.c:61,1
    - Dst: open
      Src: /src/postfix/postfix/src/util/fifo_rdwr_bug.c:62,1
    - Dst: perror
      Src: /src/postfix/postfix/src/util/fifo_rdwr_bug.c:63,1
    - Dst: cleanup
      Src: /src/postfix/postfix/src/util/fifo_rdwr_bug.c:64,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/fifo_rdwr_bug.c:65,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/fifo_rdwr_bug.c:67,1
    - Dst: FD_ZERO
      Src: /src/postfix/postfix/src/util/fifo_rdwr_bug.c:68,1
    - Dst: FD_SET
      Src: /src/postfix/postfix/src/util/fifo_rdwr_bug.c:69,1
    - Dst: FD_ZERO
      Src: /src/postfix/postfix/src/util/fifo_rdwr_bug.c:70,1
    - Dst: FD_SET
      Src: /src/postfix/postfix/src/util/fifo_rdwr_bug.c:71,1
    - Dst: select
      Src: /src/postfix/postfix/src/util/fifo_rdwr_bug.c:75,1
    - Dst: perrorexit
      Src: /src/postfix/postfix/src/util/fifo_rdwr_bug.c:77,1
    - Dst: FD_ISSET
      Src: /src/postfix/postfix/src/util/fifo_rdwr_bug.c:79,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/fifo_rdwr_bug.c:80,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/fifo_rdwr_bug.c:84,1
    - Dst: cleanup
      Src: /src/postfix/postfix/src/util/fifo_rdwr_bug.c:87,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/fifo_rdwr_bug.c:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/fifo_rdwr_bug.c
    functionUses: 41
    functionsReached:
    - select
    - FD_ISSET
    - cleanup
    - FD_ZERO
    - exit
    - unlink
    - open
    - printf
    - mkfifo
    - FD_SET
    - perrorexit
    - perror
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/postfix/postfix/src/util/environ.c:31,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/environ.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: namelength
    functionSourceFile: /src/postfix/postfix/src/util/environ.c
    functionUses: 0
    functionsReached:
    - strchr
    - strlen
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t namelength(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/postfix/postfix/src/util/environ.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: findenv
    functionSourceFile: /src/postfix/postfix/src/util/environ.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: char
    signature: char **findenv(const char *name, ssize_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: namelength
      Src: /src/postfix/postfix/src/util/environ.c:53,1
    - Dst: findenv
      Src: /src/postfix/postfix/src/util/environ.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: getenv
    functionSourceFile: /src/postfix/postfix/src/util/environ.c
    functionUses: 25
    functionsReached:
    - namelength
    - findenv
    linkageType: ''
    returnType: char
    signature: char *getenv(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/postfix/postfix/src/util/environ.c:63,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/util/environ.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nameval
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: putenv
    functionSourceFile: /src/postfix/postfix/src/util/environ.c
    functionUses: 1
    functionsReached:
    - strchr
    - setenv
    linkageType: ''
    returnType: int
    signature: int putenv(const char *nameval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: findenv
      Src: /src/postfix/postfix/src/util/environ.c:75,1
    - Dst: namelength
      Src: /src/postfix/postfix/src/util/environ.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: unsetenv
    functionSourceFile: /src/postfix/postfix/src/util/environ.c
    functionUses: 2
    functionsReached:
    - findenv
    - namelength
    linkageType: ''
    returnType: void
    signature: void unsetenv(const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: namelength
      Src: /src/postfix/postfix/src/util/environ.c:93,1
    - Dst: findenv
      Src: /src/postfix/postfix/src/util/environ.c:94,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/environ.c:99,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/environ.c:106,1
    - Dst: malloc
      Src: /src/postfix/postfix/src/util/environ.c:107,1
    - Dst: strncpy
      Src: /src/postfix/postfix/src/util/environ.c:110,1
    - Dst: strcpy
      Src: /src/postfix/postfix/src/util/environ.c:112,1
    - Dst: addenv
      Src: /src/postfix/postfix/src/util/environ.c:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - name
    - value
    - clobber
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 114
    functionName: setenv
    functionSourceFile: /src/postfix/postfix/src/util/environ.c
    functionUses: 28
    functionsReached:
    - strlen
    - findenv
    - strncpy
    - namelength
    - malloc
    - addenv
    - strcpy
    linkageType: ''
    returnType: int
    signature: int setenv(const char *name, const char *value, int clobber)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postfix/postfix/src/util/environ.c:120,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/environ.c:123,1
    - Dst: old::old
      Src: /src/postfix/postfix/src/util/environ.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - new_len
    - old
    - old_len
    argTypes:
    - ssize_t
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: cmalloc
    functionSourceFile: /src/postfix/postfix/src/util/environ.c
    functionUses: 0
    functionsReached:
    - malloc
    - old::old
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *cmalloc(ssize_t new_len, char *old, ssize_t old_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/postfix/postfix/src/util/environ.c:143,1
    - Dst: cmalloc
      Src: /src/postfix/postfix/src/util/environ.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - nameval
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 154
    functionName: addenv
    functionSourceFile: /src/postfix/postfix/src/util/environ.c
    functionUses: 1
    functionsReached:
    - cmalloc
    - realloc
    linkageType: ''
    returnType: int
    signature: int addenv(char *nameval)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: write_wait
      Src: /src/postfix/postfix/src/util/timed_write.c:79,1
    - Dst: write
      Src: /src/postfix/postfix/src/util/timed_write.c:81,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/timed_write.c:82,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/timed_write.c:83,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/util/timed_write.c:84,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 5
    argNames:
    - fd
    - buf
    - len
    - timeout
    - unused_context
    argTypes:
    - int
    - void*
    - size_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 92
    functionName: timed_write
    functionSourceFile: /src/postfix/postfix/src/util/timed_write.c
    functionUses: 1
    functionsReached:
    - sleep
    - msg_warn
    - write
    - write_wait
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t timed_write(int fd, const void *buf, size_t len,\n\t\t            int
      timeout, void *unused_context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/postfix/postfix/src/util/normalize_ws.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: normalize_ws
    functionSourceFile: /src/postfix/postfix/src/util/normalize_ws.c
    functionUses: 1
    functionsReached:
    - strcspn
    linkageType: ''
    returnType: char
    signature: char *normalize_ws(char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISASCII
      Src: /src/postfix/postfix/src/util/normalize_ws.c:77,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/normalize_ws.c:80,1
    - Dst: normalize_ws
      Src: /src/postfix/postfix/src/util/normalize_ws.c:82,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/normalize_ws.c:84,1
    - Dst: memcmp
      Src: /src/postfix/postfix/src/util/normalize_ws.c:87,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/normalize_ws.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - unused
    argTypes:
    - TEST_CASE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 94
    functionName: normalizes_all_isspace_members
    functionSourceFile: /src/postfix/postfix/src/util/normalize_ws.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - ISSPACE
    - ISASCII
    - memcmp
    - normalize_ws
    linkageType: ''
    returnType: int
    signature: int normalizes_all_isspace_members(const TEST_CASE *unused)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/normalize_ws.c:98,1
    - Dst: normalize_ws
      Src: /src/postfix/postfix/src/util/normalize_ws.c:101,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/normalize_ws.c:102,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/normalize_ws.c:103,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/normalize_ws.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - tp
    argTypes:
    - TEST_CASE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 108
    functionName: test_normalize_ws
    functionSourceFile: /src/postfix/postfix/src/util/normalize_ws.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - myfree
    - strcmp
    - mystrdup
    - normalize_ws
    linkageType: ''
    returnType: int
    signature: int test_normalize_ws(const TEST_CASE *tp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/normalize_ws.c:125,1
    - Dst: sane_basename
      Src: /src/postfix/postfix/src/util/normalize_ws.c:125,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/normalize_ws.c:130,1
    - Dst: TEST_CASE*::action
      Src: /src/postfix/postfix/src/util/normalize_ws.c:131,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/normalize_ws.c:133,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/normalize_ws.c:136,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/normalize_ws.c:140,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/normalize_ws.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 142
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/normalize_ws.c
    functionUses: 41
    functionsReached:
    - TEST_CASE*::action
    - exit
    - msg_info
    - msg_vstream_init
    - sane_basename
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: print_fn
      Src: /src/postfix/postfix/src/util/argv_attr_print.c:60,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/util/argv_attr_print.c:61,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/argv_attr_print.c:64,1
    - Dst: print_fn
      Src: /src/postfix/postfix/src/util/argv_attr_print.c:66,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/util/argv_attr_print.c:67,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/argv_attr_print.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - print_fn
    - fp
    - flags
    - ptr
    argTypes:
    - ATTR_PRINT_COMMON_FN
    - VSTREAM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 73
    functionName: argv_attr_print
    functionSourceFile: /src/postfix/postfix/src/util/argv_attr_print.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_STR
    - print_fn
    - SEND_ATTR_INT
    - msg_info
    linkageType: ''
    returnType: int
    signature: "int argv_attr_print(ATTR_PRINT_COMMON_FN print_fn, VSTREAM *fp,\n\t\t\t
      \       int flags, const void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan_plain.c
    functionUses: 518
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan_plain.c
    functionUses: 154
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:202,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:203,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:206,1
    - Dst: vstream_ftimeout
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:207,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:208,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:211,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:213,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:214,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:215,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:220,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:223,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:223,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - fp
    - plain_buf
    - terminator
    - context
    argTypes:
    - VSTREAM*
    - VSTRING*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 225
    functionName: attr_scan_plain_string
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan_plain.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - msg_warn
    - VSTREAM_PATH
    - LEN
    - vstream_ftimeout
    - msg_info
    - VSTRING_RESET
    - VSTREAM_GETC
    - VSTRING_TERMINATE
    - STR
    linkageType: ''
    returnType: int
    signature: "int attr_scan_plain_string(VSTREAM *fp, VSTRING *plain_buf,\n\t\t\t\t
      \       int terminator, const char *context)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:237,1
    - Dst: attr_scan_plain_string
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:238,1
    - Dst: base64_decode
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:240,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:240,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:240,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:241,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:242,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - fp
    - str_buf
    - terminator
    - context
    argTypes:
    - VSTREAM*
    - VSTRING*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 246
    functionName: attr_scan_plain_data
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan_plain.c
    functionUses: 0
    functionsReached:
    - attr_scan_plain_string
    - msg_warn
    - VSTREAM_PATH
    - vstring_alloc
    - LEN
    - base64_decode
    - STR
    linkageType: ''
    returnType: int
    signature: "int attr_scan_plain_data(VSTREAM *fp, VSTRING *str_buf,\n\t\t\t\t
      \       int terminator,\n\t\t\t\t        const char *context)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan_plain_string
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:256,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:258,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:258,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:259,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:260,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - fp
    - ptr
    - str_buf
    - terminator
    - context
    argTypes:
    - VSTREAM*
    - unsigned*
    - VSTRING*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 264
    functionName: attr_scan_plain_number
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan_plain.c
    functionUses: 0
    functionsReached:
    - attr_scan_plain_string
    - msg_warn
    - VSTREAM_PATH
    - sscanf
    - STR
    linkageType: ''
    returnType: int
    signature: "int attr_scan_plain_number(VSTREAM *fp, unsigned *ptr, VSTRING *str_buf,\n\t\t\t\t
      \       int terminator, const char *context)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan_plain_string
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:276,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:278,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:278,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:279,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:280,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - fp
    - ptr
    - str_buf
    - terminator
    - context
    argTypes:
    - VSTREAM*
    - unsigned long*
    - VSTRING*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 284
    functionName: attr_scan_plain_long_number
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan_plain.c
    functionUses: 0
    functionsReached:
    - attr_scan_plain_string
    - msg_warn
    - VSTREAM_PATH
    - sscanf
    - STR
    linkageType: ''
    returnType: int
    signature: "int attr_scan_plain_long_number(VSTREAM *fp, unsigned long *ptr,\n\t\t\t\t
      \              VSTRING *str_buf,\n\t\t\t\t               int terminator,\n\t\t\t\t
      \              const char *context)"
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:309,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:314,1
    - Dst: vstream_ungetc
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:316,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:322,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:323,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:342,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:349,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:351,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:366,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:367,1
    - Dst: attr_scan_plain_string
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:368,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:371,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:376,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:377,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:385,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:385,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:391,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:391,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:399,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:399,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:402,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:403,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:403,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:410,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:420,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:421,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:421,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:424,1
    - Dst: attr_scan_plain_number
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:425,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:431,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:432,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:432,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:435,1
    - Dst: attr_scan_plain_long_number
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:436,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:442,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:443,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:443,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:446,1
    - Dst: attr_scan_plain_string
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:447,1
    - Dst: printable
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:451,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:451,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:455,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:456,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:456,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:459,1
    - Dst: attr_scan_plain_data
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:460,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:465,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:466,1
    - Dst: scan_fn
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:467,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:472,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:473,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:473,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:476,1
    - Dst: attr_scan_plain_string
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:477,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:480,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:480,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:481,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:482,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:482,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:482,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:491,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:492,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:492,1
    - Dst: attr_scan_plain_string
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:495,1
    - Dst: printable
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:499,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:499,1
    - Dst: printable
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:500,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:500,1
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:502,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:502,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:504,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:505,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:505,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:509,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:510,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:513,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:513,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:514,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:514,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:521,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 147
    argCount: 3
    argNames:
    - fp
    - flags
    - ap
    argTypes:
    - VSTREAM*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 288
    functionDepth: 5
    functionLinenumber: 288
    functionLinenumberEnd: 524
    functionName: attr_vscan_plain
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan_plain.c
    functionUses: 0
    functionsReached:
    - LEN
    - attr_scan_plain_data
    - msg_info
    - msg_panic
    - attr_scan_plain_string
    - VSTREAM_PATH
    - va_arg
    - vstring_alloc
    - htable_locate
    - attr_scan_plain_long_number
    - vstream_ungetc
    - htable_enter
    - VSTREAM_GETC
    - scan_fn
    - printable
    - msg_warn
    - attr_scan_plain_number
    - strcmp
    - mystrdup
    - STR
    linkageType: ''
    returnType: int
    signature: int attr_vscan_plain(VSTREAM *fp, int flags, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:533,1
    - Dst: attr_vscan_plain
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:534,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fp
    - flags
    argTypes:
    - VSTREAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 528
    functionDepth: 6
    functionLinenumber: 528
    functionLinenumberEnd: 537
    functionName: attr_scan_plain
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan_plain.c
    functionUses: 2
    functionsReached:
    - va_start
    - va_end
    - attr_vscan_plain
    linkageType: ''
    returnType: int
    signature: int attr_scan_plain(VSTREAM *fp, int flags,...)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:545,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:548,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:548,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:552,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:552,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:556,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:557,1
    - Dst: vstream_ungetc
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:558,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - fp
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 541
    functionDepth: 2
    functionLinenumber: 541
    functionLinenumberEnd: 561
    functionName: attr_scan_more_plain
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan_plain.c
    functionUses: 0
    functionsReached:
    - vstream_ungetc
    - VSTREAM_GETC
    - VSTREAM_PATH
    - msg_info
    linkageType: ''
    returnType: int
    signature: int attr_scan_more_plain(VSTREAM *fp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:575,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:576,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:577,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:586,1
    - Dst: attr_scan_plain
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:587,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:589,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:590,1
    - Dst: RECV_ATTR_LONG
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:591,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:592,1
    - Dst: RECV_ATTR_DATA
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:593,1
    - Dst: RECV_ATTR_HASH
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:594,1
    - Dst: RECV_ATTR_LONG
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:595,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:597,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:598,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:599,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:599,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:600,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:600,1
    - Dst: htable_list
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:601,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:603,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:604,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:605,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:607,1
    - Dst: attr_scan_plain
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:609,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:611,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:612,1
    - Dst: RECV_ATTR_LONG
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:613,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:614,1
    - Dst: RECV_ATTR_DATA
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:615,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:617,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:618,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:619,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:619,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:620,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:620,1
    - Dst: htable_list
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:621,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:623,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:624,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:626,1
    - Dst: attr_scan_plain
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:628,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:630,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:632,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:633,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:634,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:636,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:637,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/util/attr_scan_plain.c:638,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 2
    argNames:
    - unused_argc
    - used_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 573
    functionDepth: 7
    functionLinenumber: 573
    functionLinenumberEnd: 641
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/attr_scan_plain.c
    functionUses: 41
    functionsReached:
    - msg_fatal
    - RECV_ATTR_HASH
    - RECV_ATTR_LONG
    - RECV_ATTR_DATA
    - htable_create
    - vstream_fflush
    - vstring_alloc
    - RECV_ATTR_STR
    - msg_vstream_init
    - myfree
    - htable_free
    - RECV_ATTR_STREQ
    - htable_list
    - vstream_printf
    - attr_scan_plain
    - vstring_free
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **used_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: readable
    functionSourceFile: /src/postfix/postfix/src/util/iostuff.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: readable(fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: writable
    functionSourceFile: /src/postfix/postfix/src/util/iostuff.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: writable(fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - timeout
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: read_wait
    functionSourceFile: /src/postfix/postfix/src/util/iostuff.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: read_wait(fd, timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - timeout
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: write_wait
    functionSourceFile: /src/postfix/postfix/src/util/iostuff.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: write_wait(fd, timeout)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/postfix/postfix/src/util/sane_socketpair.c:59,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/sane_socketpair.c:64,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/util/sane_socketpair.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - domain
    - type
    - protocol
    - result
    argTypes:
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 71
    functionName: sane_socketpair
    functionSourceFile: /src/postfix/postfix/src/util/sane_socketpair.c
    functionUses: 1
    functionsReached:
    - sleep
    - socketpair
    - msg_warn
    linkageType: ''
    returnType: int
    signature: int sane_socketpair(int domain, int type, int protocol, int *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - new_bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: HASH_FNV_NEW_BITS
    functionSourceFile: /src/postfix/postfix/src/util/hash_fnv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FNV_NEW_BITS(new_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - new_bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: HASH_FNV_NEW_BITS
    functionSourceFile: /src/postfix/postfix/src/util/hash_fnv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FNV_NEW_BITS(new_bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/postfix/postfix/src/util/hash_fnv.c:97,1
    - Dst: ldseed
      Src: /src/postfix/postfix/src/util/hash_fnv.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 102
    functionName: hash_fnv_init
    functionSourceFile: /src/postfix/postfix/src/util/hash_fnv.c
    functionUses: 0
    functionsReached:
    - ldseed
    - getenv
    linkageType: ''
    returnType: void
    signature: void hash_fnv_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_fnv_init
      Src: /src/postfix/postfix/src/util/hash_fnv.c:112,1
    - Dst: HASH_FNV_NEW_BITS
      Src: /src/postfix/postfix/src/util/hash_fnv.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - src
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 121
    functionName: hash_fnv
    functionSourceFile: /src/postfix/postfix/src/util/hash_fnv.c
    functionUses: 0
    functionsReached:
    - hash_fnv_init
    - HASH_FNV_NEW_BITS
    linkageType: ''
    returnType: HASH_FNV_T
    signature: HASH_FNV_T hash_fnv(const void *src, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_fnv_init
      Src: /src/postfix/postfix/src/util/hash_fnv.c:131,1
    - Dst: HASH_FNV_NEW_BITS
      Src: /src/postfix/postfix/src/util/hash_fnv.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - src
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 125
    functionDepth: 4
    functionLinenumber: 125
    functionLinenumberEnd: 139
    functionName: hash_fnvz
    functionSourceFile: /src/postfix/postfix/src/util/hash_fnv.c
    functionUses: 0
    functionsReached:
    - hash_fnv_init
    - HASH_FNV_NEW_BITS
    linkageType: ''
    returnType: HASH_FNV_T
    signature: HASH_FNV_T hash_fnvz(const char *src)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/hash_fnv.c:155,1
    - Dst: putenv
      Src: /src/postfix/postfix/src/util/hash_fnv.c:161,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/hash_fnv.c:162,1
    - Dst: hash_fnvz
      Src: /src/postfix/postfix/src/util/hash_fnv.c:193,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/hash_fnv.c:194,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/hash_fnv.c:201,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/hash_fnv.c:204,1
    - Dst: hash_fnv
      Src: /src/postfix/postfix/src/util/hash_fnv.c:215,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/hash_fnv.c:215,1
    - Dst: hash_fnvz
      Src: /src/postfix/postfix/src/util/hash_fnv.c:216,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/hash_fnv.c:220,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/hash_fnv.c:221,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/hash_fnv.c:224,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/hash_fnv.c:225,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/hash_fnv.c:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 146
    functionDepth: 5
    functionLinenumber: 146
    functionLinenumberEnd: 235
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/hash_fnv.c
    functionUses: 41
    functionsReached:
    - hash_fnv
    - msg_warn
    - strlen
    - hash_fnvz
    - msg_info
    - putenv
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postfix/postfix/src/util/gccw.c:25,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 30
    functionName: test1
    functionSourceFile: /src/postfix/postfix/src/util/gccw.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void test1(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postfix/postfix/src/util/gccw.c:42,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/gccw.c:44,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/gccw.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - foo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 53
    functionName: test2
    functionSourceFile: /src/postfix/postfix/src/util/gccw.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void test2(int foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: test3
    functionSourceFile: /src/postfix/postfix/src/util/gccw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: DO
    functionSourceFile: /src/postfix/postfix/src/util/dup2_pass_on_exec.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO(s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postfix/postfix/src/util/dup2_pass_on_exec.c:42,1
    - Dst: DO
      Src: /src/postfix/postfix/src/util/dup2_pass_on_exec.c:43,1
    - Dst: fcntl
      Src: /src/postfix/postfix/src/util/dup2_pass_on_exec.c:43,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/dup2_pass_on_exec.c:45,1
    - Dst: DO
      Src: /src/postfix/postfix/src/util/dup2_pass_on_exec.c:46,1
    - Dst: dup2
      Src: /src/postfix/postfix/src/util/dup2_pass_on_exec.c:46,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/dup2_pass_on_exec.c:48,1
    - Dst: DO
      Src: /src/postfix/postfix/src/util/dup2_pass_on_exec.c:49,1
    - Dst: fcntl
      Src: /src/postfix/postfix/src/util/dup2_pass_on_exec.c:49,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/dup2_pass_on_exec.c:51,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/dup2_pass_on_exec.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/dup2_pass_on_exec.c
    functionUses: 41
    functionsReached:
    - fcntl
    - printf
    - DO
    - dup2
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/util/dict_union.c
    functionUses: 524
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/dict_union.c:85,1
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/util/dict_union.c:87,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_union.c:88,1
    - Dst: dict_get
      Src: /src/postfix/postfix/src/util/dict_union.c:89,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/dict_union.c:90,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/dict_union.c:91,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/util/dict_union.c:92,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_union.c:94,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_union.c:97,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/dict_union.c:98,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/dict_union.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - dict
    - query
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 100
    functionName: dict_union_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_union.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - VSTRING_ADDCH
    - VSTRING_LEN
    - VSTRING_RESET
    - vstring_strcat
    - dict_get
    - dict_handle
    - DICT_ERR_VAL_RETURN
    - STR
    linkageType: ''
    returnType: char
    signature: char *dict_union_lookup(DICT *dict, const char *query)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/util/dict_union.c:113,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_union.c:114,1
    - Dst: dict_close
      Src: /src/postfix/postfix/src/util/dict_union.c:115,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/util/dict_union.c:117,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_union.c:118,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/util/dict_union.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: dict_union_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_union.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - dict_free
    - argv_free
    - dict_close
    - dict_handle
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_union_close(DICT *dict)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DICT_UNION_RETURN
      Src: /src/postfix/postfix/src/util/dict_union.c:152,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_union.c:152,1
    - Dst: balpar
      Src: /src/postfix/postfix/src/util/dict_union.c:160,1
    - Dst: mystrndup
      Src: /src/postfix/postfix/src/util/dict_union.c:161,1
    - Dst: argv_splitq
      Src: /src/postfix/postfix/src/util/dict_union.c:162,1
    - Dst: DICT_UNION_RETURN
      Src: /src/postfix/postfix/src/util/dict_union.c:164,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_union.c:164,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/util/dict_union.c:176,1
    - Dst: DICT_UNION_RETURN
      Src: /src/postfix/postfix/src/util/dict_union.c:177,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_union.c:177,1
    - Dst: DICT_OWNER_AGGREGATE_INIT
      Src: /src/postfix/postfix/src/util/dict_union.c:189,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_union.c:192,1
    - Dst: dict_open
      Src: /src/postfix/postfix/src/util/dict_union.c:193,1
    - Dst: argv_replace_one
      Src: /src/postfix/postfix/src/util/dict_union.c:194,1
    - Dst: DICT_OWNER_AGGREGATE_UPDATE
      Src: /src/postfix/postfix/src/util/dict_union.c:195,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/util/dict_union.c:204,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_union.c:209,1
    - Dst: DICT_UNION_RETURN
      Src: /src/postfix/postfix/src/util/dict_union.c:212,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - name
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 124
    functionDepth: 4
    functionLinenumber: 124
    functionLinenumberEnd: 213
    functionName: dict_union_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_union.c
    functionUses: 0
    functionsReached:
    - argv_splitq
    - DICT_UNION_RETURN
    - strchr
    - dict_open
    - balpar
    - mystrndup
    - vstring_alloc
    - DICT_OWNER_AGGREGATE_INIT
    - msg_info
    - DICT_OWNER_AGGREGATE_UPDATE
    - dict_surrogate
    - dict_alloc
    - argv_replace_one
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_union_open(const char *name, int open_flags, int dict_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: DICT_UNION_RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict_union.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_UNION_RETURN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/mkmap_fail.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - unused_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: mkmap_fail_open
    functionSourceFile: /src/postfix/postfix/src/util/mkmap_fail.c
    functionUses: 0
    functionsReached:
    - mymalloc
    linkageType: ''
    returnType: MKMAP
    signature: MKMAP *mkmap_fail_open(const char *unused_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: NETSTRING_PUT_BUF
    functionSourceFile: /src/postfix/postfix/src/util/netstring.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NETSTRING_PUT_BUF(str, buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/postfix/postfix/src/util/mkmap_db.c:75,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/mkmap_db.c:76,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/mkmap_db.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - mp
    argTypes:
    - MKMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: mkmap_db_after_close
    functionSourceFile: /src/postfix/postfix/src/util/mkmap_db.c
    functionUses: 0
    functionsReached:
    - myfree
    - close
    - msg_warn
    linkageType: ''
    returnType: void
    signature: void mkmap_db_after_close(MKMAP *mp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/postfix/postfix/src/util/mkmap_db.c:87,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/mkmap_db.c:88,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/mkmap_db.c:89,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/mkmap_db.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - mp
    argTypes:
    - MKMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: mkmap_db_after_open
    functionSourceFile: /src/postfix/postfix/src/util/mkmap_db.c
    functionUses: 0
    functionsReached:
    - myflock
    - open
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void mkmap_db_after_open(MKMAP *mp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/mkmap_db.c:99,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/util/mkmap_db.c:110,1
    - Dst: open
      Src: /src/postfix/postfix/src/util/mkmap_db.c:122,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/mkmap_db.c:124,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/mkmap_db.c:138,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/mkmap_db.c:139,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/util/mkmap_db.c:140,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/mkmap_db.c:141,1
    - Dst: unlink
      Src: /src/postfix/postfix/src/util/mkmap_db.c:144,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/mkmap_db.c:145,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/mkmap_db.c:147,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/mkmap_db.c:150,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - path
    - (*db_open) (const char *, int, int)
    argTypes:
    - char*
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 156
    functionName: mkmap_db_before_open
    functionSourceFile: /src/postfix/postfix/src/util/mkmap_db.c
    functionUses: 0
    functionsReached:
    - myflock
    - msg_warn
    - close
    - unlink
    - open
    - concatenate
    - fstat
    - mymalloc
    - msg_fatal
    linkageType: ''
    returnType: MKMAP
    signature: "MKMAP *mkmap_db_before_open(const char *path,\n\t\t\t          DICT
      *(*db_open) (const char *, int, int))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkmap_db_before_open
      Src: /src/postfix/postfix/src/util/mkmap_db.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 4
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: mkmap_hash_open
    functionSourceFile: /src/postfix/postfix/src/util/mkmap_db.c
    functionUses: 0
    functionsReached:
    - mkmap_db_before_open
    linkageType: ''
    returnType: MKMAP
    signature: MKMAP *mkmap_hash_open(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkmap_db_before_open
      Src: /src/postfix/postfix/src/util/mkmap_db.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 4
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: mkmap_btree_open
    functionSourceFile: /src/postfix/postfix/src/util/mkmap_db.c
    functionUses: 0
    functionsReached:
    - mkmap_db_before_open
    linkageType: ''
    returnType: MKMAP
    signature: MKMAP *mkmap_btree_open(const char *path)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/postfix/postfix/src/util/select_bug.c:47,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/select_bug.c:49,1
    - Dst: FD_ZERO
      Src: /src/postfix/postfix/src/util/select_bug.c:53,1
    - Dst: FD_SET
      Src: /src/postfix/postfix/src/util/select_bug.c:54,1
    - Dst: select
      Src: /src/postfix/postfix/src/util/select_bug.c:55,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/select_bug.c:57,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/select_bug.c:59,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/select_bug.c:60,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/select_bug.c:62,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/select_bug.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - what
    - delay
    - fd
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 68
    functionName: fork_and_read_select
    functionSourceFile: /src/postfix/postfix/src/util/select_bug.c
    functionUses: 0
    functionsReached:
    - select
    - fork
    - FD_ZERO
    - exit
    - msg_info
    - msg_fatal
    - FD_SET
    linkageType: ''
    returnType: pid_t
    signature: pid_t fork_and_read_select(const char *what, int delay, int fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/select_bug.c:75,1
    - Dst: socketpair
      Src: /src/postfix/postfix/src/util/select_bug.c:79,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/select_bug.c:80,1
    - Dst: socketpair
      Src: /src/postfix/postfix/src/util/select_bug.c:81,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/select_bug.c:82,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/select_bug.c:84,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/select_bug.c:85,1
    - Dst: fork_and_read_select
      Src: /src/postfix/postfix/src/util/select_bug.c:86,1
    - Dst: fork_and_read_select
      Src: /src/postfix/postfix/src/util/select_bug.c:87,1
    - Dst: fork_and_read_select
      Src: /src/postfix/postfix/src/util/select_bug.c:88,1
    - Dst: fork_and_read_select
      Src: /src/postfix/postfix/src/util/select_bug.c:89,1
    - Dst: write
      Src: /src/postfix/postfix/src/util/select_bug.c:90,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/select_bug.c:91,1
    - Dst: wait
      Src: /src/postfix/postfix/src/util/select_bug.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 95
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/select_bug.c
    functionUses: 41
    functionsReached:
    - socketpair
    - vstream_fflush
    - msg_vstream_init
    - wait
    - fork_and_read_select
    - vstream_printf
    - msg_fatal
    - write
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_hostname
      Src: /src/postfix/postfix/src/util/get_domainname.c:58,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/util/get_domainname.c:59,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/util/get_domainname.c:59,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/get_domainname.c:60,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/get_domainname.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: get_domainname
    functionSourceFile: /src/postfix/postfix/src/util/get_domainname.c
    functionUses: 0
    functionsReached:
    - strchr
    - mystrdup
    - get_hostname
    linkageType: ''
    returnType: char
    signature: char *get_domainname(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/unix_dgram_listen.c:67,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_dgram_listen.c:68,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/unix_dgram_listen.c:69,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/unix_dgram_listen.c:74,1
    - Dst: socket
      Src: /src/postfix/postfix/src/util/unix_dgram_listen.c:79,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_dgram_listen.c:80,1
    - Dst: unlink
      Src: /src/postfix/postfix/src/util/unix_dgram_listen.c:81,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_dgram_listen.c:82,1
    - Dst: bind
      Src: /src/postfix/postfix/src/util/unix_dgram_listen.c:83,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_dgram_listen.c:84,1
    - Dst: fchmod
      Src: /src/postfix/postfix/src/util/unix_dgram_listen.c:86,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_dgram_listen.c:87,1
    - Dst: chmod
      Src: /src/postfix/postfix/src/util/unix_dgram_listen.c:89,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/unix_dgram_listen.c:90,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/util/unix_dgram_listen.c:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - path
    - block_mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 94
    functionName: unix_dgram_listen
    functionSourceFile: /src/postfix/postfix/src/util/unix_dgram_listen.c
    functionUses: 1
    functionsReached:
    - strlen
    - bind
    - socket
    - unlink
    - fchmod
    - non_blocking
    - memset
    - memcpy
    - msg_fatal
    - chmod
    linkageType: ''
    returnType: int
    signature: int unix_dgram_listen(const char *path, int block_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - sigset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: sigemptyset
    functionSourceFile: /src/postfix/postfix/src/util/posix_signals.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sigemptyset(sigset_t *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigmask
      Src: /src/postfix/postfix/src/util/posix_signals.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - set
    - signum
    argTypes:
    - sigset_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: sigaddset
    functionSourceFile: /src/postfix/postfix/src/util/posix_signals.c
    functionUses: 0
    functionsReached:
    - sigmask
    linkageType: ''
    returnType: int
    signature: int sigaddset(sigset_t *set, int signum)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sigblock
      Src: /src/postfix/postfix/src/util/posix_signals.c:63,1
    - Dst: sigsetmask
      Src: /src/postfix/postfix/src/util/posix_signals.c:65,1
    - Dst: sigblock
      Src: /src/postfix/postfix/src/util/posix_signals.c:67,1
    - Dst: sigsetmask
      Src: /src/postfix/postfix/src/util/posix_signals.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - how
    - set
    - old
    argTypes:
    - int
    - sigset_t*
    - sigset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 78
    functionName: sigprocmask
    functionSourceFile: /src/postfix/postfix/src/util/posix_signals.c
    functionUses: 0
    functionsReached:
    - sigblock
    - sigsetmask
    linkageType: ''
    returnType: int
    signature: int sigprocmask(int how, sigset_t *set, sigset_t *old)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sa_handler
      Src: /src/postfix/postfix/src/util/posix_signals.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: sighandle
    functionSourceFile: /src/postfix/postfix/src/util/posix_signals.c
    functionUses: 0
    functionsReached:
    - sa_handler
    linkageType: ''
    returnType: int
    signature: int sighandle(int signum)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sigvec
      Src: /src/postfix/postfix/src/util/posix_signals.c:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - sig
    - act
    - oact
    argTypes:
    - int
    - struct sigaction*
    - struct sigaction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 124
    functionName: sigaction
    functionSourceFile: /src/postfix/postfix/src/util/posix_signals.c
    functionUses: 3
    functionsReached:
    - sigvec
    linkageType: ''
    returnType: int
    signature: int sigaction(int sig, struct sigaction * act, struct sigaction * oact)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: EVENT_MASK_BYTE_COUNT
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_MASK_BYTE_COUNT(mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: EVENT_MASK_ZERO
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_MASK_ZERO(mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: EVENT_MASK_SET
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_MASK_SET(fd, mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: EVENT_MASK_ISSET
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_MASK_ISSET(fd, mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: EVENT_MASK_CLR
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_MASK_CLR(fd, mask)
  - 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: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: EVENT_MASK_CMP
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_MASK_CMP(m1, m2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: EVENT_MASK_FD_BYTE
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_MASK_FD_BYTE(fd, mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: EVENT_MASK_FD_BIT
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_MASK_FD_BIT(fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: EVENT_MASK_BYTES_NEEDED
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_MASK_BYTES_NEEDED(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: EVENT_MASK_BYTE_COUNT
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_MASK_BYTE_COUNT(mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mask
    - ','
    - bit_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: EVENT_MASK_ALLOC
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_MASK_ALLOC(mask, bit_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mask
    - ','
    - bit_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: EVENT_MASK_REALLOC
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_MASK_REALLOC(mask, bit_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: EVENT_MASK_FREE
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_MASK_FREE(mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: EVENT_MASK_ZERO
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_MASK_ZERO(mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: EVENT_MASK_SET
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_MASK_SET(fd, mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: EVENT_MASK_ISSET
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_MASK_ISSET(fd, mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: EVENT_MASK_CLR
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_MASK_CLR(fd, mask)
  - 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: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: EVENT_MASK_CMP
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_MASK_CMP(m1, m2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - kp
    - ','
    - id
    - ','
    - fi
    - ','
    - fl
    - ','
    - ffl
    - ','
    - da
    - ','
    - ud
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 282
    functionName: EV_SET
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EV_SET(kp, id, fi, fl, ffl, da, ud)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - er
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: EVENT_REG_INIT_HANDLE
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_REG_INIT_HANDLE(er, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - er
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: EVENT_REG_FORK_HANDLE
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_REG_FORK_HANDLE(er, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - er
    - ','
    - fh
    - ','
    - ev
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: EVENT_REG_FD_OP
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_REG_FD_OP(er, fh, ev, op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - e
    - ','
    - f
    - ','
    - ev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 310
    functionName: EVENT_REG_ADD_OP
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_REG_ADD_OP(e, f, ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: EVENT_REG_ADD_READ
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_REG_ADD_READ(e, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 312
    functionName: EVENT_REG_ADD_WRITE
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_REG_ADD_WRITE(e, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - e
    - ','
    - f
    - ','
    - ev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: EVENT_REG_DEL_OP
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_REG_DEL_OP(e, f, ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: EVENT_REG_DEL_READ
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_REG_DEL_READ(e, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: EVENT_REG_DEL_WRITE
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_REG_DEL_WRITE(e, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - event_count
    - ','
    - event_buf
    - ','
    - buflen
    - ','
    - delay
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 337
    functionName: EVENT_BUFFER_READ
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_BUFFER_READ(event_count, event_buf, buflen, delay)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 343
    functionName: EVENT_GET_FD
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_GET_FD(bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 344
    functionName: EVENT_GET_TYPE
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_GET_TYPE(bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 345
    functionName: EVENT_TEST_READ
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_TEST_READ(bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 346
    functionName: EVENT_TEST_WRITE
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_TEST_WRITE(bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - er
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: EVENT_REG_INIT_HANDLE
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_REG_INIT_HANDLE(er, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - er
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: EVENT_REG_FORK_HANDLE
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_REG_FORK_HANDLE(er, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - er
    - ','
    - fh
    - ','
    - ev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 392
    functionName: EVENT_REG_FD_OP
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_REG_FD_OP(er, fh, ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 394
    functionName: EVENT_REG_ADD_READ
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_REG_ADD_READ(e, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 395
    functionName: EVENT_REG_ADD_WRITE
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_REG_ADD_WRITE(e, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 398
    functionName: EVENT_REG_DEL_BOTH
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_REG_DEL_BOTH(e, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - event_count
    - ','
    - event_buf
    - ','
    - buflen
    - ','
    - delay
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 412
    functionName: EVENT_BUFFER_READ
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_BUFFER_READ(event_count, event_buf, buflen, delay)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 418
    functionName: EVENT_GET_FD
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_GET_FD(bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 419
    functionName: EVENT_GET_TYPE
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_GET_TYPE(bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 420
    functionName: EVENT_TEST_READ
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_TEST_READ(bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 421
    functionName: EVENT_TEST_WRITE
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_TEST_WRITE(bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - er
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 452
    functionName: EVENT_REG_INIT_HANDLE
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_REG_INIT_HANDLE(er, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - er
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 458
    functionName: EVENT_REG_FORK_HANDLE
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_REG_FORK_HANDLE(er, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - er
    - ','
    - fh
    - ','
    - ev
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 469
    functionName: EVENT_REG_FD_OP
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_REG_FD_OP(er, fh, ev, op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - e
    - ','
    - f
    - ','
    - ev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 471
    functionName: EVENT_REG_ADD_OP
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_REG_ADD_OP(e, f, ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 472
    functionName: EVENT_REG_ADD_READ
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_REG_ADD_READ(e, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 473
    functionName: EVENT_REG_ADD_WRITE
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_REG_ADD_WRITE(e, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - e
    - ','
    - f
    - ','
    - ev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 476
    functionName: EVENT_REG_DEL_OP
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_REG_DEL_OP(e, f, ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 477
    functionName: EVENT_REG_DEL_READ
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_REG_DEL_READ(e, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 478
    functionName: EVENT_REG_DEL_WRITE
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_REG_DEL_WRITE(e, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - event_count
    - ','
    - event_buf
    - ','
    - buflen
    - ','
    - delay
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: EVENT_BUFFER_READ
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_BUFFER_READ(event_count, event_buf, buflen, delay)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 495
    functionName: EVENT_GET_FD
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_GET_FD(bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 496
    functionName: EVENT_GET_TYPE
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_GET_TYPE(bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 497
    functionName: EVENT_TEST_READ
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_TEST_READ(bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 498
    functionName: EVENT_TEST_WRITE
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_TEST_WRITE(bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 525
    functionName: RING_TO_TIMER
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RING_TO_TIMER(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - entry
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 528
    functionName: FOREACH_QUEUE_ENTRY
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOREACH_QUEUE_ENTRY(entry, head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 531
    functionName: FIRST_TIMER
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIRST_TIMER(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 538
    functionName: EVENT_INIT_NEEDED
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_INIT_NEEDED()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_INIT_NEEDED
      Src: /src/postfix/postfix/src/util/events.c:546,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/events.c:547,1
    - Dst: open_limit
      Src: /src/postfix/postfix/src/util/events.c:555,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/events.c:556,1
    - Dst: open_limit
      Src: /src/postfix/postfix/src/util/events.c:558,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/events.c:559,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/events.c:562,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/events.c:565,1
    - Dst: EVENT_MASK_ZERO
      Src: /src/postfix/postfix/src/util/events.c:575,1
    - Dst: EVENT_MASK_ZERO
      Src: /src/postfix/postfix/src/util/events.c:576,1
    - Dst: EVENT_MASK_ZERO
      Src: /src/postfix/postfix/src/util/events.c:577,1
    - Dst: EVENT_MASK_ALLOC
      Src: /src/postfix/postfix/src/util/events.c:579,1
    - Dst: EVENT_MASK_ALLOC
      Src: /src/postfix/postfix/src/util/events.c:580,1
    - Dst: EVENT_MASK_ALLOC
      Src: /src/postfix/postfix/src/util/events.c:581,1
    - Dst: EVENT_REG_INIT_HANDLE
      Src: /src/postfix/postfix/src/util/events.c:586,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/events.c:588,1
    - Dst: ring_init
      Src: /src/postfix/postfix/src/util/events.c:594,1
    - Dst: time
      Src: /src/postfix/postfix/src/util/events.c:595,1
    - Dst: EVENT_INIT_NEEDED
      Src: /src/postfix/postfix/src/util/events.c:600,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/events.c:601,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 541
    functionDepth: 2
    functionLinenumber: 541
    functionLinenumberEnd: 602
    functionName: event_init
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached:
    - EVENT_INIT_NEEDED
    - msg_panic
    - open_limit
    - msg_warn
    - EVENT_REG_INIT_HANDLE
    - time
    - ring_init
    - EVENT_MASK_ZERO
    - mymalloc
    - msg_fatal
    - EVENT_MASK_ALLOC
    linkageType: ''
    returnType: void
    signature: void event_init(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/events.c:620,1
    - Dst: myrealloc
      Src: /src/postfix/postfix/src/util/events.c:622,1
    - Dst: EVENT_MASK_REALLOC
      Src: /src/postfix/postfix/src/util/events.c:634,1
    - Dst: EVENT_MASK_REALLOC
      Src: /src/postfix/postfix/src/util/events.c:635,1
    - Dst: EVENT_MASK_REALLOC
      Src: /src/postfix/postfix/src/util/events.c:636,1
    - Dst: EVENT_REG_UPD_HANDLE
      Src: /src/postfix/postfix/src/util/events.c:639,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/events.c:641,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 606
    functionDepth: 3
    functionLinenumber: 606
    functionLinenumberEnd: 643
    functionName: event_extend
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached:
    - EVENT_MASK_REALLOC
    - msg_info
    - myrealloc
    - EVENT_REG_UPD_HANDLE
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void event_extend(int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_INIT_NEEDED
      Src: /src/postfix/postfix/src/util/events.c:649,1
    - Dst: event_init
      Src: /src/postfix/postfix/src/util/events.c:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 647
    functionDepth: 3
    functionLinenumber: 647
    functionLinenumberEnd: 653
    functionName: event_time
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 39
    functionsReached:
    - EVENT_INIT_NEEDED
    - event_init
    linkageType: ''
    returnType: time_t
    signature: time_t event_time(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_INIT_NEEDED
      Src: /src/postfix/postfix/src/util/events.c:662,1
    - Dst: EVENT_MASK_ZERO
      Src: /src/postfix/postfix/src/util/events.c:666,1
    - Dst: EVENT_MASK_ALLOC
      Src: /src/postfix/postfix/src/util/events.c:668,1
    - Dst: time
      Src: /src/postfix/postfix/src/util/events.c:670,1
    - Dst: EVENT_MASK_CMP
      Src: /src/postfix/postfix/src/util/events.c:674,1
    - Dst: event_loop
      Src: /src/postfix/postfix/src/util/events.c:675,1
    - Dst: EVENT_MASK_BYTE_COUNT
      Src: /src/postfix/postfix/src/util/events.c:677,1
    - Dst: EVENT_MASK_BYTES_NEEDED
      Src: /src/postfix/postfix/src/util/events.c:678,1
    - Dst: EVENT_MASK_REALLOC
      Src: /src/postfix/postfix/src/util/events.c:679,1
    - Dst: EVENT_MASK_FREE
      Src: /src/postfix/postfix/src/util/events.c:683,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - time_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 685
    functionName: event_drain
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 3
    functionsReached:
    - EVENT_INIT_NEEDED
    - EVENT_MASK_REALLOC
    - EVENT_MASK_BYTE_COUNT
    - time
    - event_loop
    - EVENT_MASK_BYTES_NEEDED
    - EVENT_MASK_ZERO
    - EVENT_MASK_CMP
    - EVENT_MASK_ALLOC
    - EVENT_MASK_FREE
    linkageType: ''
    returnType: void
    signature: void event_drain(int time_limit)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_INIT_NEEDED
      Src: /src/postfix/postfix/src/util/events.c:699,1
    - Dst: EVENT_REG_FORK_HANDLE
      Src: /src/postfix/postfix/src/util/events.c:705,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/events.c:707,1
    - Dst: EVENT_MASK_ISSET
      Src: /src/postfix/postfix/src/util/events.c:714,1
    - Dst: EVENT_MASK_CLR
      Src: /src/postfix/postfix/src/util/events.c:715,1
    - Dst: event_enable_write
      Src: /src/postfix/postfix/src/util/events.c:717,1
    - Dst: EVENT_MASK_ISSET
      Src: /src/postfix/postfix/src/util/events.c:718,1
    - Dst: EVENT_MASK_CLR
      Src: /src/postfix/postfix/src/util/events.c:719,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/util/events.c:721,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 689
    functionDepth: 2
    functionLinenumber: 689
    functionLinenumberEnd: 725
    functionName: event_fork
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 2
    functionsReached:
    - EVENT_INIT_NEEDED
    - event_enable_write
    - event_enable_read
    - EVENT_MASK_CLR
    - msg_fatal
    - EVENT_MASK_ISSET
    - EVENT_REG_FORK_HANDLE
    linkageType: ''
    returnType: void
    signature: void event_fork(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_INIT_NEEDED
      Src: /src/postfix/postfix/src/util/events.c:735,1
    - Dst: event_init
      Src: /src/postfix/postfix/src/util/events.c:736,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/events.c:742,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/events.c:745,1
    - Dst: event_extend
      Src: /src/postfix/postfix/src/util/events.c:748,1
    - Dst: EVENT_MASK_ISSET
      Src: /src/postfix/postfix/src/util/events.c:753,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/events.c:754,1
    - Dst: EVENT_MASK_ISSET
      Src: /src/postfix/postfix/src/util/events.c:764,1
    - Dst: EVENT_MASK_SET
      Src: /src/postfix/postfix/src/util/events.c:765,1
    - Dst: EVENT_MASK_SET
      Src: /src/postfix/postfix/src/util/events.c:766,1
    - Dst: EVENT_REG_ADD_READ
      Src: /src/postfix/postfix/src/util/events.c:770,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/events.c:772,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - fd
    - callback
    - context
    argTypes:
    - int
    - EVENT_NOTIFY_RDWR_FN
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 729
    functionDepth: 4
    functionLinenumber: 729
    functionLinenumberEnd: 780
    functionName: event_enable_read
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 24
    functionsReached:
    - EVENT_INIT_NEEDED
    - msg_panic
    - event_extend
    - EVENT_REG_ADD_READ
    - msg_info
    - EVENT_MASK_SET
    - event_init
    - msg_fatal
    - EVENT_MASK_ISSET
    linkageType: ''
    returnType: void
    signature: void event_enable_read(int fd, EVENT_NOTIFY_RDWR_FN callback, void
      *context)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_INIT_NEEDED
      Src: /src/postfix/postfix/src/util/events.c:790,1
    - Dst: event_init
      Src: /src/postfix/postfix/src/util/events.c:791,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/events.c:797,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/events.c:800,1
    - Dst: event_extend
      Src: /src/postfix/postfix/src/util/events.c:803,1
    - Dst: EVENT_MASK_ISSET
      Src: /src/postfix/postfix/src/util/events.c:808,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/events.c:809,1
    - Dst: EVENT_MASK_ISSET
      Src: /src/postfix/postfix/src/util/events.c:819,1
    - Dst: EVENT_MASK_SET
      Src: /src/postfix/postfix/src/util/events.c:820,1
    - Dst: EVENT_MASK_SET
      Src: /src/postfix/postfix/src/util/events.c:821,1
    - Dst: EVENT_REG_ADD_WRITE
      Src: /src/postfix/postfix/src/util/events.c:825,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/events.c:827,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - fd
    - callback
    - context
    argTypes:
    - int
    - EVENT_NOTIFY_RDWR_FN
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 784
    functionDepth: 4
    functionLinenumber: 784
    functionLinenumberEnd: 835
    functionName: event_enable_write
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 2
    functionsReached:
    - EVENT_INIT_NEEDED
    - msg_panic
    - event_extend
    - msg_info
    - EVENT_MASK_SET
    - event_init
    - msg_fatal
    - EVENT_REG_ADD_WRITE
    - EVENT_MASK_ISSET
    linkageType: ''
    returnType: void
    signature: void event_enable_write(int fd, EVENT_NOTIFY_RDWR_FN callback, void
      *context)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_INIT_NEEDED
      Src: /src/postfix/postfix/src/util/events.c:845,1
    - Dst: event_init
      Src: /src/postfix/postfix/src/util/events.c:846,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/events.c:852,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/events.c:855,1
    - Dst: EVENT_MASK_ISSET
      Src: /src/postfix/postfix/src/util/events.c:866,1
    - Dst: EVENT_MASK_ISSET
      Src: /src/postfix/postfix/src/util/events.c:867,1
    - Dst: EVENT_REG_DEL_BOTH
      Src: /src/postfix/postfix/src/util/events.c:868,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/events.c:870,1
    - Dst: EVENT_MASK_ISSET
      Src: /src/postfix/postfix/src/util/events.c:873,1
    - Dst: EVENT_REG_DEL_READ
      Src: /src/postfix/postfix/src/util/events.c:874,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/events.c:876,1
    - Dst: EVENT_MASK_ISSET
      Src: /src/postfix/postfix/src/util/events.c:877,1
    - Dst: EVENT_REG_DEL_WRITE
      Src: /src/postfix/postfix/src/util/events.c:878,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/events.c:880,1
    - Dst: EVENT_MASK_CLR
      Src: /src/postfix/postfix/src/util/events.c:884,1
    - Dst: EVENT_MASK_CLR
      Src: /src/postfix/postfix/src/util/events.c:885,1
    - Dst: EVENT_MASK_CLR
      Src: /src/postfix/postfix/src/util/events.c:886,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 839
    functionDepth: 3
    functionLinenumber: 839
    functionLinenumberEnd: 890
    functionName: event_disable_readwrite
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 21
    functionsReached:
    - EVENT_INIT_NEEDED
    - msg_panic
    - EVENT_REG_DEL_WRITE
    - EVENT_REG_DEL_READ
    - EVENT_MASK_CLR
    - msg_info
    - EVENT_REG_DEL_BOTH
    - event_init
    - msg_fatal
    - EVENT_MASK_ISSET
    linkageType: ''
    returnType: void
    signature: void event_disable_readwrite(int fd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_INIT_NEEDED
      Src: /src/postfix/postfix/src/util/events.c:900,1
    - Dst: event_init
      Src: /src/postfix/postfix/src/util/events.c:901,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/events.c:907,1
    - Dst: time
      Src: /src/postfix/postfix/src/util/events.c:912,1
    - Dst: FOREACH_QUEUE_ENTRY
      Src: /src/postfix/postfix/src/util/events.c:919,1
    - Dst: RING_TO_TIMER
      Src: /src/postfix/postfix/src/util/events.c:920,1
    - Dst: ring_detach
      Src: /src/postfix/postfix/src/util/events.c:924,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/events.c:926,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/events.c:936,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/events.c:942,1
    - Dst: FOREACH_QUEUE_ENTRY
      Src: /src/postfix/postfix/src/util/events.c:954,1
    - Dst: RING_TO_TIMER
      Src: /src/postfix/postfix/src/util/events.c:955,1
    - Dst: ring_prepend
      Src: /src/postfix/postfix/src/util/events.c:958,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - callback
    - context
    - delay
    argTypes:
    - EVENT_NOTIFY_TIME_FN
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 894
    functionDepth: 3
    functionLinenumber: 894
    functionLinenumberEnd: 961
    functionName: event_request_timer
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 71
    functionsReached:
    - EVENT_INIT_NEEDED
    - msg_panic
    - mymalloc
    - time
    - RING_TO_TIMER
    - ring_prepend
    - msg_info
    - FOREACH_QUEUE_ENTRY
    - ring_detach
    - event_init
    linkageType: ''
    returnType: time_t
    signature: time_t event_request_timer(EVENT_NOTIFY_TIME_FN callback, void *context,
      int delay)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_INIT_NEEDED
      Src: /src/postfix/postfix/src/util/events.c:972,1
    - Dst: event_init
      Src: /src/postfix/postfix/src/util/events.c:973,1
    - Dst: FOREACH_QUEUE_ENTRY
      Src: /src/postfix/postfix/src/util/events.c:980,1
    - Dst: RING_TO_TIMER
      Src: /src/postfix/postfix/src/util/events.c:981,1
    - Dst: ring_detach
      Src: /src/postfix/postfix/src/util/events.c:985,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/events.c:986,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/events.c:991,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - callback
    - context
    argTypes:
    - EVENT_NOTIFY_TIME_FN
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 965
    functionDepth: 3
    functionLinenumber: 965
    functionLinenumberEnd: 994
    functionName: event_cancel_timer
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 43
    functionsReached:
    - EVENT_INIT_NEEDED
    - RING_TO_TIMER
    - msg_info
    - myfree
    - FOREACH_QUEUE_ENTRY
    - ring_detach
    - event_init
    linkageType: ''
    returnType: int
    signature: int event_cancel_timer(EVENT_NOTIFY_TIME_FN callback, void *context)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_INIT_NEEDED
      Src: /src/postfix/postfix/src/util/events.c:1022,1
    - Dst: event_init
      Src: /src/postfix/postfix/src/util/events.c:1023,1
    - Dst: FOREACH_QUEUE_ENTRY
      Src: /src/postfix/postfix/src/util/events.c:1031,1
    - Dst: RING_TO_TIMER
      Src: /src/postfix/postfix/src/util/events.c:1032,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/events.c:1033,1
    - Dst: FIRST_TIMER
      Src: /src/postfix/postfix/src/util/events.c:1043,1
    - Dst: time
      Src: /src/postfix/postfix/src/util/events.c:1044,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/events.c:1054,1
    - Dst: select
      Src: /src/postfix/postfix/src/util/events.c:1078,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/events.c:1081,1
    - Dst: EVENT_BUFFER_READ
      Src: /src/postfix/postfix/src/util/events.c:1085,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/events.c:1090,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/events.c:1101,1
    - Dst: time
      Src: /src/postfix/postfix/src/util/events.c:1125,1
    - Dst: FIRST_TIMER
      Src: /src/postfix/postfix/src/util/events.c:1128,1
    - Dst: ring_detach
      Src: /src/postfix/postfix/src/util/events.c:1133,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/events.c:1135,1
    - Dst: EVENT_TIMER*::callback
      Src: /src/postfix/postfix/src/util/events.c:1137,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/events.c:1138,1
    - Dst: FD_ISSET
      Src: /src/postfix/postfix/src/util/events.c:1151,1
    - Dst: FD_ISSET
      Src: /src/postfix/postfix/src/util/events.c:1155,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/events.c:1157,1
    - Dst: EVENT_FDTABLE*::callback
      Src: /src/postfix/postfix/src/util/events.c:1159,1
    - Dst: FD_ISSET
      Src: /src/postfix/postfix/src/util/events.c:1160,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/events.c:1162,1
    - Dst: EVENT_FDTABLE*::callback
      Src: /src/postfix/postfix/src/util/events.c:1164,1
    - Dst: FD_ISSET
      Src: /src/postfix/postfix/src/util/events.c:1165,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/events.c:1167,1
    - Dst: EVENT_FDTABLE*::callback
      Src: /src/postfix/postfix/src/util/events.c:1169,1
    - Dst: EVENT_GET_FD
      Src: /src/postfix/postfix/src/util/events.c:1177,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/events.c:1179,1
    - Dst: EVENT_MASK_ISSET
      Src: /src/postfix/postfix/src/util/events.c:1180,1
    - Dst: EVENT_TEST_READ
      Src: /src/postfix/postfix/src/util/events.c:1182,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/events.c:1184,1
    - Dst: EVENT_FDTABLE*::callback
      Src: /src/postfix/postfix/src/util/events.c:1186,1
    - Dst: EVENT_TEST_WRITE
      Src: /src/postfix/postfix/src/util/events.c:1187,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/events.c:1189,1
    - Dst: EVENT_FDTABLE*::callback
      Src: /src/postfix/postfix/src/util/events.c:1192,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/events.c:1195,1
    - Dst: EVENT_FDTABLE*::callback
      Src: /src/postfix/postfix/src/util/events.c:1197,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 106
    argCount: 1
    argNames:
    - delay
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 998
    functionDepth: 3
    functionLinenumber: 998
    functionLinenumberEnd: 1203
    functionName: event_loop
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 8
    functionsReached:
    - msg_info
    - FOREACH_QUEUE_ENTRY
    - ring_detach
    - EVENT_FDTABLE*::callback
    - EVENT_MASK_ISSET
    - EVENT_BUFFER_READ
    - msg_panic
    - select
    - EVENT_TIMER*::callback
    - RING_TO_TIMER
    - time
    - myfree
    - EVENT_INIT_NEEDED
    - EVENT_GET_FD
    - EVENT_TEST_WRITE
    - FD_ISSET
    - FIRST_TIMER
    - EVENT_TEST_READ
    - event_init
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void event_loop(int delay)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postfix/postfix/src/util/events.c:1220,1
    - Dst: fflush
      Src: /src/postfix/postfix/src/util/events.c:1221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1222
    functionName: timer_event
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 1
    functionsReached:
    - printf
    - fflush
    linkageType: ''
    returnType: void
    signature: void timer_event(int unused_event, void *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/postfix/postfix/src/util/events.c:1230,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/events.c:1231,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/events.c:1232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - unused_event
    - unused_context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1233
    functionName: echo
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 0
    functionsReached:
    - printf
    - exit
    - fgets
    linkageType: ''
    returnType: void
    signature: void echo(int unused_event, void *unused_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/util/events.c:1239,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/util/events.c:1240,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/util/events.c:1241,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/util/events.c:1242,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/util/events.c:1243,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/util/events.c:1244,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/util/events.c:1245,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/util/events.c:1246,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/util/events.c:1247,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/util/events.c:1248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - unused_event
    - unused_context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1237
    functionDepth: 4
    functionLinenumber: 1237
    functionLinenumberEnd: 1249
    functionName: request
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 28
    functionsReached:
    - event_request_timer
    linkageType: ''
    returnType: void
    signature: void request(int unused_event, void *unused_context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/postfix/postfix/src/util/events.c:1254,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/util/events.c:1255,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/util/events.c:1256,1
    - Dst: fileno
      Src: /src/postfix/postfix/src/util/events.c:1256,1
    - Dst: event_drain
      Src: /src/postfix/postfix/src/util/events.c:1257,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/events.c:1258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1251
    functionDepth: 5
    functionLinenumber: 1251
    functionLinenumberEnd: 1259
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/events.c
    functionUses: 41
    functionsReached:
    - event_request_timer
    - event_enable_read
    - exit
    - event_drain
    - atoi
    - fileno
    linkageType: ''
    returnType: int
    signature: int main(int argc, void **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: SEND_ATTR_INT
    functionSourceFile: /src/postfix/postfix/src/util/attr.h
    functionUses: 74
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEND_ATTR_INT(name, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: SEND_ATTR_UINT
    functionSourceFile: /src/postfix/postfix/src/util/attr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEND_ATTR_UINT(name, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: SEND_ATTR_STR
    functionSourceFile: /src/postfix/postfix/src/util/attr.h
    functionUses: 86
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEND_ATTR_STR(name, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: SEND_ATTR_HASH
    functionSourceFile: /src/postfix/postfix/src/util/attr.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEND_ATTR_HASH(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: SEND_ATTR_NV
    functionSourceFile: /src/postfix/postfix/src/util/attr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEND_ATTR_NV(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: SEND_ATTR_LONG
    functionSourceFile: /src/postfix/postfix/src/util/attr.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEND_ATTR_LONG(name, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - len
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: SEND_ATTR_DATA
    functionSourceFile: /src/postfix/postfix/src/util/attr.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEND_ATTR_DATA(name, len, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: SEND_ATTR_FUNC
    functionSourceFile: /src/postfix/postfix/src/util/attr.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEND_ATTR_FUNC(func, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: RECV_ATTR_INT
    functionSourceFile: /src/postfix/postfix/src/util/attr.h
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECV_ATTR_INT(name, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: RECV_ATTR_UINT
    functionSourceFile: /src/postfix/postfix/src/util/attr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECV_ATTR_UINT(name, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: RECV_ATTR_STR
    functionSourceFile: /src/postfix/postfix/src/util/attr.h
    functionUses: 57
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECV_ATTR_STR(name, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: RECV_ATTR_STREQ
    functionSourceFile: /src/postfix/postfix/src/util/attr.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECV_ATTR_STREQ(name, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: RECV_ATTR_HASH
    functionSourceFile: /src/postfix/postfix/src/util/attr.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECV_ATTR_HASH(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: RECV_ATTR_NV
    functionSourceFile: /src/postfix/postfix/src/util/attr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECV_ATTR_NV(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: RECV_ATTR_LONG
    functionSourceFile: /src/postfix/postfix/src/util/attr.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECV_ATTR_LONG(name, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: RECV_ATTR_DATA
    functionSourceFile: /src/postfix/postfix/src/util/attr.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECV_ATTR_DATA(name, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: RECV_ATTR_FUNC
    functionSourceFile: /src/postfix/postfix/src/util/attr.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECV_ATTR_FUNC(func, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: UCHAR_PTR
    functionSourceFile: /src/postfix/postfix/src/util/hex_code.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UCHAR_PTR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hex_encode_opt
      Src: /src/postfix/postfix/src/util/hex_code.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - result
    - in
    - len
    argTypes:
    - VSTRING*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: hex_encode
    functionSourceFile: /src/postfix/postfix/src/util/hex_code.c
    functionUses: 5
    functionsReached:
    - hex_encode_opt
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *hex_encode(VSTRING *result, const char *in, ssize_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/hex_code.c:120,1
    - Dst: UCHAR_PTR
      Src: /src/postfix/postfix/src/util/hex_code.c:125,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/hex_code.c:127,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/hex_code.c:128,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/hex_code.c:130,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/hex_code.c:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - result
    - in
    - len
    - flags
    argTypes:
    - VSTRING*
    - char*
    - ssize_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 134
    functionName: hex_encode_opt
    functionSourceFile: /src/postfix/postfix/src/util/hex_code.c
    functionUses: 2
    functionsReached:
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - UCHAR_PTR
    - VSTRING_ADDCH
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *hex_encode_opt(VSTRING *result, const char *in, ssize_t len,
      int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hex_decode_opt
      Src: /src/postfix/postfix/src/util/hex_code.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - result
    - in
    - len
    argTypes:
    - VSTRING*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: hex_decode
    functionSourceFile: /src/postfix/postfix/src/util/hex_code.c
    functionUses: 1
    functionsReached:
    - hex_decode_opt
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *hex_decode(VSTRING *result, const char *in, ssize_t len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/hex_code.c:154,1
    - Dst: UCHAR_PTR
      Src: /src/postfix/postfix/src/util/hex_code.c:155,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/hex_code.c:176,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/hex_code.c:189,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 4
    argNames:
    - result
    - in
    - len
    - flags
    argTypes:
    - VSTRING*
    - char*
    - ssize_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 191
    functionName: hex_decode_opt
    functionSourceFile: /src/postfix/postfix/src/util/hex_code.c
    functionUses: 3
    functionsReached:
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - UCHAR_PTR
    - VSTRING_ADDCH
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *hex_decode_opt(VSTRING *result, const char *in, ssize_t len,
      int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/util/hex_code.c
    functionUses: 525
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/util/hex_code.c
    functionUses: 158
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/hex_code.c:300,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/hex_code.c:309,1
    - Dst: vstring_memcpy
      Src: /src/postfix/postfix/src/util/hex_code.c:310,1
    - Dst: TEST_CASE*::func
      Src: /src/postfix/postfix/src/util/hex_code.c:311,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/hex_code.c:315,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/hex_code.c:317,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/hex_code.c:318,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/hex_code.c:319,1
    - Dst: memcmp
      Src: /src/postfix/postfix/src/util/hex_code.c:320,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/hex_code.c:320,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/hex_code.c:321,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/hex_code.c:322,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/hex_code.c:322,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/hex_code.c:328,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/hex_code.c:331,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/hex_code.c:335,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/hex_code.c:336,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 338
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/hex_code.c
    functionUses: 41
    functionsReached:
    - msg_warn
    - memcmp
    - vstring_alloc
    - LEN
    - msg_info
    - TEST_CASE*::func
    - vstring_memcpy
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geteuid
      Src: /src/postfix/postfix/src/util/lstat_as.c:53,1
    - Dst: getegid
      Src: /src/postfix/postfix/src/util/lstat_as.c:54,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/util/lstat_as.c:60,1
    - Dst: lstat
      Src: /src/postfix/postfix/src/util/lstat_as.c:65,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/util/lstat_as.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - path
    - st
    - euid
    - egid
    argTypes:
    - char*
    - struct stat*
    - uid_t
    - gid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 73
    functionName: lstat_as
    functionSourceFile: /src/postfix/postfix/src/util/lstat_as.c
    functionUses: 1
    functionsReached:
    - geteuid
    - lstat
    - getegid
    - set_eugid
    linkageType: ''
    returnType: int
    signature: int lstat_as(const char *path, struct stat * st, uid_t euid, gid_t
      egid)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - bp
    - ch
    argTypes:
    - VBUF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: vbuf_unget
    functionSourceFile: /src/postfix/postfix/src/util/vbuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vbuf_unget(VBUF *bp, int ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VBUF*::get_ready
      Src: /src/postfix/postfix/src/util/vbuf.c:177,1
    - Dst: VBUF_GET
      Src: /src/postfix/postfix/src/util/vbuf.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bp
    argTypes:
    - VBUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: vbuf_get
    functionSourceFile: /src/postfix/postfix/src/util/vbuf.c
    functionUses: 0
    functionsReached:
    - VBUF_GET
    - VBUF*::get_ready
    linkageType: ''
    returnType: int
    signature: int vbuf_get(VBUF *bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VBUF*::put_ready
      Src: /src/postfix/postfix/src/util/vbuf.c:185,1
    - Dst: VBUF_PUT
      Src: /src/postfix/postfix/src/util/vbuf.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - ch
    argTypes:
    - VBUF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: vbuf_put
    functionSourceFile: /src/postfix/postfix/src/util/vbuf.c
    functionUses: 0
    functionsReached:
    - VBUF*::put_ready
    - VBUF_PUT
    linkageType: ''
    returnType: int
    signature: int vbuf_put(VBUF *bp, int ch)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VBUF_GET
      Src: /src/postfix/postfix/src/util/vbuf.c:198,1
    - Dst: VBUF*::get_ready
      Src: /src/postfix/postfix/src/util/vbuf.c:203,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/vbuf.c:206,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - bp
    - buf
    - len
    argTypes:
    - VBUF*
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 212
    functionName: vbuf_read
    functionSourceFile: /src/postfix/postfix/src/util/vbuf.c
    functionUses: 0
    functionsReached:
    - memcpy
    - VBUF_GET
    - VBUF*::get_ready
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t vbuf_read(VBUF *bp, void *buf, ssize_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VBUF_PUT
      Src: /src/postfix/postfix/src/util/vbuf.c:224,1
    - Dst: VBUF*::put_ready
      Src: /src/postfix/postfix/src/util/vbuf.c:229,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/vbuf.c:232,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - bp
    - buf
    - len
    argTypes:
    - VBUF*
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 238
    functionName: vbuf_write
    functionSourceFile: /src/postfix/postfix/src/util/vbuf.c
    functionUses: 0
    functionsReached:
    - VBUF*::put_ready
    - VBUF_PUT
    - memcpy
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t vbuf_write(VBUF *bp, const void *buf, ssize_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/postfix/postfix/src/util/watchdog.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - unused_event
    - unused_context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: watchdog_read
    functionSourceFile: /src/postfix/postfix/src/util/watchdog.c
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: void
    signature: void watchdog_read(int unused_event, void *unused_context)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/watchdog.c:166,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/watchdog.c:168,1
    - Dst: write
      Src: /src/postfix/postfix/src/util/watchdog.c:174,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/watchdog.c:175,1
    - Dst: alarm
      Src: /src/postfix/postfix/src/util/watchdog.c:178,1
    - Dst: WATCHDOG*::action
      Src: /src/postfix/postfix/src/util/watchdog.c:181,1
    - Dst: killme_after
      Src: /src/postfix/postfix/src/util/watchdog.c:183,1
    - Dst: pause
      Src: /src/postfix/postfix/src/util/watchdog.c:185,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/watchdog.c:187,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - unused_sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 190
    functionName: watchdog_event
    functionSourceFile: /src/postfix/postfix/src/util/watchdog.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_warn
    - alarm
    - pause
    - WATCHDOG*::action
    - msg_info
    - killme_after
    - msg_fatal
    - write
    linkageType: ''
    returnType: void
    signature: void watchdog_event(int unused_sig)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/watchdog.c:200,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/watchdog.c:202,1
    - Dst: alarm
      Src: /src/postfix/postfix/src/util/watchdog.c:206,1
    - Dst: sigemptyset
      Src: /src/postfix/postfix/src/util/watchdog.c:207,1
    - Dst: sigaction
      Src: /src/postfix/postfix/src/util/watchdog.c:214,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/watchdog.c:215,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/watchdog.c:217,1
    - Dst: pipe
      Src: /src/postfix/postfix/src/util/watchdog.c:220,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/watchdog.c:221,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/util/watchdog.c:222,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/util/watchdog.c:223,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/util/watchdog.c:224,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/util/watchdog.c:225,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/util/watchdog.c:226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - timeout
    - action
    - context
    argTypes:
    - unsigned
    - WATCHDOG_FN
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 194
    functionDepth: 5
    functionLinenumber: 194
    functionLinenumberEnd: 230
    functionName: watchdog_create
    functionSourceFile: /src/postfix/postfix/src/util/watchdog.c
    functionUses: 6
    functionsReached:
    - msg_panic
    - alarm
    - sigaction
    - event_enable_read
    - msg_info
    - pipe
    - close_on_exec
    - non_blocking
    - mymalloc
    - sigemptyset
    - msg_fatal
    linkageType: ''
    returnType: WATCHDOG
    signature: WATCHDOG *watchdog_create(unsigned timeout, WATCHDOG_FN action, char
      *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: watchdog_stop
      Src: /src/postfix/postfix/src/util/watchdog.c:238,1
    - Dst: sigaction
      Src: /src/postfix/postfix/src/util/watchdog.c:240,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/watchdog.c:241,1
    - Dst: alarm
      Src: /src/postfix/postfix/src/util/watchdog.c:243,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/watchdog.c:244,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/util/watchdog.c:247,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/watchdog.c:248,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/watchdog.c:249,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/watchdog.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - wp
    argTypes:
    - WATCHDOG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 234
    functionDepth: 4
    functionLinenumber: 234
    functionLinenumberEnd: 254
    functionName: watchdog_destroy
    functionSourceFile: /src/postfix/postfix/src/util/watchdog.c
    functionUses: 0
    functionsReached:
    - alarm
    - sigaction
    - close
    - watchdog_stop
    - msg_info
    - myfree
    - event_disable_readwrite
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void watchdog_destroy(WATCHDOG *wp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/watchdog.c:263,1
    - Dst: alarm
      Src: /src/postfix/postfix/src/util/watchdog.c:265,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/watchdog.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - wp
    argTypes:
    - WATCHDOG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 268
    functionName: watchdog_start
    functionSourceFile: /src/postfix/postfix/src/util/watchdog.c
    functionUses: 6
    functionsReached:
    - msg_panic
    - alarm
    - msg_info
    linkageType: ''
    returnType: void
    signature: void watchdog_start(WATCHDOG *wp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/watchdog.c:277,1
    - Dst: alarm
      Src: /src/postfix/postfix/src/util/watchdog.c:278,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/watchdog.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - wp
    argTypes:
    - WATCHDOG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 281
    functionName: watchdog_stop
    functionSourceFile: /src/postfix/postfix/src/util/watchdog.c
    functionUses: 6
    functionsReached:
    - msg_panic
    - alarm
    - msg_info
    linkageType: ''
    returnType: void
    signature: void watchdog_stop(WATCHDOG *wp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/watchdog.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 293
    functionName: watchdog_pat
    functionSourceFile: /src/postfix/postfix/src/util/watchdog.c
    functionUses: 1
    functionsReached:
    - msg_info
    linkageType: ''
    returnType: void
    signature: void watchdog_pat(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: watchdog_create
      Src: /src/postfix/postfix/src/util/watchdog.c:305,1
    - Dst: watchdog_start
      Src: /src/postfix/postfix/src/util/watchdog.c:306,1
    - Dst: watchdog_pat
      Src: /src/postfix/postfix/src/util/watchdog.c:308,1
    - Dst: VSTREAM_GETCHAR
      Src: /src/postfix/postfix/src/util/watchdog.c:309,1
    - Dst: watchdog_destroy
      Src: /src/postfix/postfix/src/util/watchdog.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 299
    functionDepth: 6
    functionLinenumber: 299
    functionLinenumberEnd: 312
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/watchdog.c
    functionUses: 41
    functionsReached:
    - watchdog_pat
    - watchdog_destroy
    - watchdog_create
    - VSTREAM_GETCHAR
    - watchdog_start
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISALPHA
      Src: /src/postfix/postfix/src/util/valid_uri_scheme.c:48,1
    - Dst: ISALNUM
      Src: /src/postfix/postfix/src/util/valid_uri_scheme.c:53,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 63
    functionName: valid_uri_scheme
    functionSourceFile: /src/postfix/postfix/src/util/valid_uri_scheme.c
    functionUses: 1
    functionsReached:
    - ISALNUM
    - ISALPHA
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t valid_uri_scheme(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: valid_uri_scheme
      Src: /src/postfix/postfix/src/util/valid_uri_scheme.c:96,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/valid_uri_scheme.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tp
    argTypes:
    - TEST_CASE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: test_validate_scheme
    functionSourceFile: /src/postfix/postfix/src/util/valid_uri_scheme.c
    functionUses: 0
    functionsReached:
    - valid_uri_scheme
    - msg_warn
    linkageType: ''
    returnType: int
    signature: int test_validate_scheme(const TEST_CASE *tp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/valid_uri_scheme.c:110,1
    - Dst: sane_basename
      Src: /src/postfix/postfix/src/util/valid_uri_scheme.c:110,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/valid_uri_scheme.c:115,1
    - Dst: test_validate_scheme
      Src: /src/postfix/postfix/src/util/valid_uri_scheme.c:116,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/valid_uri_scheme.c:118,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/valid_uri_scheme.c:121,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/valid_uri_scheme.c:125,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/valid_uri_scheme.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 127
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/valid_uri_scheme.c
    functionUses: 41
    functionsReached:
    - test_validate_scheme
    - exit
    - msg_info
    - msg_vstream_init
    - sane_basename
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:39,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:40,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:43,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:43,1
    - Dst: inet_proto_init
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:44,1
    - Dst: normalize_v4mapped_hostaddr
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:49,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:55,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:58,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - tp
    argTypes:
    - TEST_CASE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 64
    functionName: test_normalize_v4mapped_hostaddr
    functionSourceFile: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - strlen
    - normalize_v4mapped_hostaddr
    - inet_proto_init
    - strcmp
    - memcpy
    linkageType: ''
    returnType: int
    signature: int test_normalize_v4mapped_hostaddr(const TEST_CASE *tp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:78,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:79,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:82,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:82,1
    - Dst: inet_proto_init
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:83,1
    - Dst: hostaddr_to_sockaddr
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:88,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:89,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:90,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:93,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:95,1
    - Dst: normalize_v4mapped_sockaddr
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:100,1
    - Dst: sockaddr_to_hostaddr
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:105,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:107,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:107,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:115,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:118,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - tp
    argTypes:
    - TEST_CASE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 124
    functionName: test_normalize_v4mapped_sockaddr
    functionSourceFile: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - strlen
    - freeaddrinfo
    - sockaddr_to_hostaddr
    - inet_proto_init
    - strcmp
    - normalize_v4mapped_sockaddr
    - memcpy
    - MAI_STRERROR
    - hostaddr_to_sockaddr
    linkageType: ''
    returnType: int
    signature: int test_normalize_v4mapped_sockaddr(const TEST_CASE *tp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:173,1
    - Dst: sane_basename
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:173,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:177,1
    - Dst: struct test_action*::act_fn
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:178,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:180,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:182,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:187,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 189
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c
    functionUses: 41
    functionsReached:
    - exit
    - msg_info
    - msg_vstream_init
    - sane_basename
    - struct test_action*::act_fn
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/inet_addr_host.c:90,1
    - Dst: mystrndup
      Src: /src/postfix/postfix/src/util/inet_addr_host.c:91,1
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/util/inet_addr_host.c:98,1
    - Dst: hostname_to_sockaddr
      Src: /src/postfix/postfix/src/util/inet_addr_host.c:99,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/util/inet_addr_host.c:105,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/inet_addr_host.c:106,1
    - Dst: socket
      Src: /src/postfix/postfix/src/util/inet_addr_host.c:117,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/inet_addr_host.c:118,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/inet_addr_host.c:122,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/inet_addr_host.c:123,1
    - Dst: inet_addr_list_append
      Src: /src/postfix/postfix/src/util/inet_addr_host.c:125,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/util/inet_addr_host.c:127,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/inet_addr_host.c:130,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - addr_list
    - hostname
    argTypes:
    - INET_ADDR_LIST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 65
    functionDepth: 4
    functionLinenumber: 65
    functionLinenumberEnd: 133
    functionName: inet_addr_host
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_host.c
    functionUses: 5
    functionsReached:
    - inet_proto_info
    - inet_addr_list_append
    - strchr
    - msg_warn
    - strlen
    - mystrndup
    - close
    - socket
    - msg_info
    - myfree
    - hostname_to_sockaddr
    - freeaddrinfo
    linkageType: ''
    returnType: int
    signature: int inet_addr_host(INET_ADDR_LIST *addr_list, const char *hostname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/inet_addr_host.c:149,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_addr_host.c:152,1
    - Dst: inet_proto_init
      Src: /src/postfix/postfix/src/util/inet_addr_host.c:154,1
    - Dst: inet_addr_list_init
      Src: /src/postfix/postfix/src/util/inet_addr_host.c:158,1
    - Dst: inet_addr_host
      Src: /src/postfix/postfix/src/util/inet_addr_host.c:159,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_addr_host.c:160,1
    - Dst: SOCKADDR_TO_HOSTADDR
      Src: /src/postfix/postfix/src/util/inet_addr_host.c:163,1
    - Dst: SOCK_ADDR_PTR
      Src: /src/postfix/postfix/src/util/inet_addr_host.c:163,1
    - Dst: SOCK_ADDR_LEN
      Src: /src/postfix/postfix/src/util/inet_addr_host.c:163,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/inet_addr_host.c:165,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/inet_addr_host.c:167,1
    - Dst: inet_addr_list_free
      Src: /src/postfix/postfix/src/util/inet_addr_host.c:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 142
    functionDepth: 5
    functionLinenumber: 142
    functionLinenumberEnd: 171
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/inet_addr_host.c
    functionUses: 41
    functionsReached:
    - SOCK_ADDR_LEN
    - inet_addr_host
    - SOCK_ADDR_PTR
    - vstream_fflush
    - inet_addr_list_init
    - msg_vstream_init
    - inet_proto_init
    - inet_addr_list_free
    - vstream_printf
    - SOCKADDR_TO_HOSTADDR
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:69,1
    - Dst: ISCNTRL
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:72,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:76,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:79,1
    - Dst: END
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:79,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:80,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:80,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:81,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:82,1
    - Dst: allspace
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:82,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:82,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - result
    - str
    - len
    argTypes:
    - VSTRING*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 83
    functionName: clean_ascii_cntrl_space
    functionSourceFile: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c
    functionUses: 1
    functionsReached:
    - VSTRING_ADDCH
    - vstring_truncate
    - END
    - LEN
    - VSTRING_RESET
    - ISCNTRL
    - VSTRING_TERMINATE
    - allspace
    - STR
    linkageType: ''
    returnType: char
    signature: char *clean_ascii_cntrl_space(VSTRING *result, const char *str, ssize_t
      len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:118,1
    - Dst: clean_ascii_cntrl_space
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:120,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:123,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:128,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - tp
    argTypes:
    - TEST_CASE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 133
    functionName: test_clean_ascii_cntrl_space
    functionSourceFile: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - strcmp
    - vstring_alloc
    - clean_ascii_cntrl_space
    linkageType: ''
    returnType: int
    signature: int test_clean_ascii_cntrl_space(const TEST_CASE *tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:140,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:142,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:143,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:146,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:147,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:147,1
    - Dst: test_clean_ascii_cntrl_space
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - tp
    argTypes:
    - TEST_CASE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: passes_all_non_controls
    functionSourceFile: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - strlen
    - VSTRING_RESET
    - test_clean_ascii_cntrl_space
    - VSTRING_TERMINATE
    - STR
    linkageType: ''
    returnType: int
    signature: int passes_all_non_controls(const TEST_CASE *tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:163,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:164,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:165,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:166,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:167,1
    - Dst: test_clean_ascii_cntrl_space
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - tp
    argTypes:
    - TEST_CASE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 172
    functionName: replaces_all_controls
    functionSourceFile: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c
    functionUses: 0
    functionsReached:
    - test_clean_ascii_cntrl_space
    - vstring_sprintf
    - LEN
    - STR
    linkageType: ''
    returnType: int
    signature: int replaces_all_controls(const TEST_CASE *tp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:222,1
    - Dst: sane_basename
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:222,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:224,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:225,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:230,1
    - Dst: TEST_CASE*::action
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:231,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:233,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:236,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:240,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 242
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c
    functionUses: 41
    functionsReached:
    - TEST_CASE*::action
    - exit
    - vstring_alloc
    - msg_info
    - msg_vstream_init
    - sane_basename
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - type
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: CHECK_VAL
    functionSourceFile: /src/postfix/postfix/src/util/check_arg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_VAL(tag, type, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - type
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: CHECK_PTR
    functionSourceFile: /src/postfix/postfix/src/util/check_arg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_PTR(tag, type, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - type
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: CHECK_CPTR
    functionSourceFile: /src/postfix/postfix/src/util/check_arg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_CPTR(tag, type, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - type
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: CHECK_PPTR
    functionSourceFile: /src/postfix/postfix/src/util/check_arg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_PPTR(tag, type, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: CHECK_VAL_HELPER_DCL
    functionSourceFile: /src/postfix/postfix/src/util/check_arg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_VAL_HELPER_DCL(tag, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: CHECK_PTR_HELPER_DCL
    functionSourceFile: /src/postfix/postfix/src/util/check_arg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_PTR_HELPER_DCL(tag, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: CHECK_CPTR_HELPER_DCL
    functionSourceFile: /src/postfix/postfix/src/util/check_arg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_CPTR_HELPER_DCL(tag, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: CHECK_PPTR_HELPER_DCL
    functionSourceFile: /src/postfix/postfix/src/util/check_arg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_PPTR_HELPER_DCL(tag, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - type
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: CHECK_VAL
    functionSourceFile: /src/postfix/postfix/src/util/check_arg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_VAL(tag, type, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - type
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: CHECK_PTR
    functionSourceFile: /src/postfix/postfix/src/util/check_arg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_PTR(tag, type, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - type
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: CHECK_CPTR
    functionSourceFile: /src/postfix/postfix/src/util/check_arg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_CPTR(tag, type, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - type
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: CHECK_PPTR
    functionSourceFile: /src/postfix/postfix/src/util/check_arg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_PPTR(tag, type, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: CHECK_VAL_HELPER_DCL
    functionSourceFile: /src/postfix/postfix/src/util/check_arg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_VAL_HELPER_DCL(tag, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: CHECK_PTR_HELPER_DCL
    functionSourceFile: /src/postfix/postfix/src/util/check_arg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_PTR_HELPER_DCL(tag, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: CHECK_CPTR_HELPER_DCL
    functionSourceFile: /src/postfix/postfix/src/util/check_arg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_CPTR_HELPER_DCL(tag, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: CHECK_PPTR_HELPER_DCL
    functionSourceFile: /src/postfix/postfix/src/util/check_arg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_PPTR_HELPER_DCL(tag, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: CHECK_VAL_DUMMY
    functionSourceFile: /src/postfix/postfix/src/util/check_arg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_VAL_DUMMY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: CHECK_PTR_DUMMY
    functionSourceFile: /src/postfix/postfix/src/util/check_arg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_PTR_DUMMY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: CHECK_CPTR_DUMMY
    functionSourceFile: /src/postfix/postfix/src/util/check_arg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_CPTR_DUMMY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: CHECK_PPTR_DUMMY
    functionSourceFile: /src/postfix/postfix/src/util/check_arg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_PPTR_DUMMY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/util/midna_domain.c
    functionUses: 529
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str_long_name_mask_opt
      Src: /src/postfix/postfix/src/util/midna_domain.c:143,1
    - Dst: u_errorName
      Src: /src/postfix/postfix/src/util/midna_domain.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - error
    - info_errors
    argTypes:
    - UErrorCode
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 149
    functionName: midna_domain_strerror
    functionSourceFile: /src/postfix/postfix/src/util/midna_domain.c
    functionUses: 0
    functionsReached:
    - str_long_name_mask_opt
    - u_errorName
    linkageType: ''
    returnType: char
    signature: char *midna_domain_strerror(UErrorCode error, int info_errors)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uidna_openUTS46
      Src: /src/postfix/postfix/src/util/midna_domain.c:159,1
    - Dst: U_FAILURE
      Src: /src/postfix/postfix/src/util/midna_domain.c:161,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/midna_domain.c:162,1
    - Dst: midna_domain_strerror
      Src: /src/postfix/postfix/src/util/midna_domain.c:163,1
    - Dst: uidna_close
      Src: /src/postfix/postfix/src/util/midna_domain.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: midna_domain_pre_chroot
    functionSourceFile: /src/postfix/postfix/src/util/midna_domain.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - uidna_close
    - U_FAILURE
    - midna_domain_strerror
    - uidna_openUTS46
    linkageType: ''
    returnType: void
    signature: void midna_domain_pre_chroot(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: allascii
      Src: /src/postfix/postfix/src/util/midna_domain.c:181,1
    - Dst: valid_utf8_stringz
      Src: /src/postfix/postfix/src/util/midna_domain.c:181,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/midna_domain.c:182,1
    - Dst: uidna_openUTS46
      Src: /src/postfix/postfix/src/util/midna_domain.c:190,1
    - Dst: uidna_nameToASCII_UTF8
      Src: /src/postfix/postfix/src/util/midna_domain.c:192,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/midna_domain.c:193,1
    - Dst: uidna_close
      Src: /src/postfix/postfix/src/util/midna_domain.c:197,1
    - Dst: U_SUCCESS
      Src: /src/postfix/postfix/src/util/midna_domain.c:206,1
    - Dst: valid_hostname
      Src: /src/postfix/postfix/src/util/midna_domain.c:208,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/midna_domain.c:209,1
    - Dst: mystrndup
      Src: /src/postfix/postfix/src/util/midna_domain.c:213,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/midna_domain.c:215,1
    - Dst: midna_domain_strerror
      Src: /src/postfix/postfix/src/util/midna_domain.c:216,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - name
    - unused_context
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 219
    functionName: midna_domain_to_ascii_create
    functionSourceFile: /src/postfix/postfix/src/util/midna_domain.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - strlen
    - valid_hostname
    - uidna_close
    - mystrndup
    - midna_domain_strerror
    - uidna_openUTS46
    - valid_utf8_stringz
    - allascii
    - uidna_nameToASCII_UTF8
    - U_SUCCESS
    linkageType: ''
    returnType: void
    signature: void *midna_domain_to_ascii_create(const char *name, void *unused_context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: allascii
      Src: /src/postfix/postfix/src/util/midna_domain.c:235,1
    - Dst: valid_utf8_stringz
      Src: /src/postfix/postfix/src/util/midna_domain.c:235,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/midna_domain.c:236,1
    - Dst: uidna_openUTS46
      Src: /src/postfix/postfix/src/util/midna_domain.c:244,1
    - Dst: uidna_nameToUnicodeUTF8
      Src: /src/postfix/postfix/src/util/midna_domain.c:246,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/midna_domain.c:247,1
    - Dst: uidna_close
      Src: /src/postfix/postfix/src/util/midna_domain.c:251,1
    - Dst: U_SUCCESS
      Src: /src/postfix/postfix/src/util/midna_domain.c:259,1
    - Dst: midna_domain_to_ascii
      Src: /src/postfix/postfix/src/util/midna_domain.c:261,1
    - Dst: mystrndup
      Src: /src/postfix/postfix/src/util/midna_domain.c:263,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/midna_domain.c:265,1
    - Dst: midna_domain_strerror
      Src: /src/postfix/postfix/src/util/midna_domain.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - name
    - unused_context
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 269
    functionName: midna_domain_to_utf8_create
    functionSourceFile: /src/postfix/postfix/src/util/midna_domain.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - strlen
    - uidna_close
    - mystrndup
    - midna_domain_strerror
    - uidna_nameToUnicodeUTF8
    - midna_domain_to_ascii
    - valid_utf8_stringz
    - allascii
    - uidna_openUTS46
    - U_SUCCESS
    linkageType: ''
    returnType: void
    signature: void *midna_domain_to_utf8_create(const char *name, void *unused_context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/midna_domain.c:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - value
    - unused_context
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: midna_domain_cache_free
    functionSourceFile: /src/postfix/postfix/src/util/midna_domain.c
    functionUses: 0
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void midna_domain_cache_free(void *value, void *unused_context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctable_create
      Src: /src/postfix/postfix/src/util/midna_domain.c:286,1
    - Dst: ctable_locate
      Src: /src/postfix/postfix/src/util/midna_domain.c:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: midna_domain_to_ascii
    functionSourceFile: /src/postfix/postfix/src/util/midna_domain.c
    functionUses: 13
    functionsReached:
    - ctable_create
    - ctable_locate
    linkageType: ''
    returnType: char
    signature: char *midna_domain_to_ascii(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctable_create
      Src: /src/postfix/postfix/src/util/midna_domain.c:300,1
    - Dst: ctable_locate
      Src: /src/postfix/postfix/src/util/midna_domain.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 305
    functionName: midna_domain_to_utf8
    functionSourceFile: /src/postfix/postfix/src/util/midna_domain.c
    functionUses: 2
    functionsReached:
    - ctable_create
    - ctable_locate
    linkageType: ''
    returnType: char
    signature: char *midna_domain_to_utf8(const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/midna_domain.c:318,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/midna_domain.c:319,1
    - Dst: midna_domain_to_ascii
      Src: /src/postfix/postfix/src/util/midna_domain.c:320,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/midna_domain.c:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - suffix
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 309
    functionDepth: 4
    functionLinenumber: 309
    functionLinenumberEnd: 324
    functionName: midna_domain_suffix_to_ascii
    functionSourceFile: /src/postfix/postfix/src/util/midna_domain.c
    functionUses: 0
    functionsReached:
    - midna_domain_to_ascii
    - vstring_sprintf
    - vstring_alloc
    - STR
    linkageType: ''
    returnType: char
    signature: char *midna_domain_suffix_to_ascii(const char *suffix)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/midna_domain.c:337,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/midna_domain.c:338,1
    - Dst: midna_domain_to_utf8
      Src: /src/postfix/postfix/src/util/midna_domain.c:339,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/midna_domain.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 328
    functionDepth: 4
    functionLinenumber: 328
    functionLinenumberEnd: 343
    functionName: midna_domain_suffix_to_utf8
    functionSourceFile: /src/postfix/postfix/src/util/midna_domain.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - midna_domain_to_utf8
    - vstring_alloc
    - STR
    linkageType: ''
    returnType: char
    signature: char *midna_domain_suffix_to_utf8(const char *name)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/midna_domain.c:362,1
    - Dst: setlocale
      Src: /src/postfix/postfix/src/util/midna_domain.c:367,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/midna_domain.c:368,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/midna_domain.c:370,1
    - Dst: geteuid
      Src: /src/postfix/postfix/src/util/midna_domain.c:374,1
    - Dst: midna_domain_pre_chroot
      Src: /src/postfix/postfix/src/util/midna_domain.c:375,1
    - Dst: chroot
      Src: /src/postfix/postfix/src/util/midna_domain.c:376,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/midna_domain.c:377,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/util/midna_domain.c:379,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/midna_domain.c:380,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/midna_domain.c:381,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/midna_domain.c:382,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/midna_domain.c:386,1
    - Dst: midna_domain_to_utf8
      Src: /src/postfix/postfix/src/util/midna_domain.c:387,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/midna_domain.c:388,1
    - Dst: midna_domain_to_ascii
      Src: /src/postfix/postfix/src/util/midna_domain.c:389,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/midna_domain.c:390,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/midna_domain.c:391,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/util/midna_domain.c:392,1
    - Dst: midna_domain_to_utf8
      Src: /src/postfix/postfix/src/util/midna_domain.c:394,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/midna_domain.c:395,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/midna_domain.c:398,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/midna_domain.c:399,1
    - Dst: midna_domain_to_ascii
      Src: /src/postfix/postfix/src/util/midna_domain.c:404,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/midna_domain.c:405,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/midna_domain.c:408,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/midna_domain.c:409,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/midna_domain.c:414,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 360
    functionDepth: 4
    functionLinenumber: 360
    functionLinenumberEnd: 415
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/midna_domain.c
    functionUses: 41
    functionsReached:
    - midna_domain_to_utf8
    - msg_warn
    - vstring_fgets_nonl
    - ISSPACE
    - geteuid
    - exit
    - vstring_alloc
    - midna_domain_pre_chroot
    - msg_vstream_init
    - msg_info
    - midna_domain_to_ascii
    - strcmp
    - setlocale
    - chroot
    - msg_fatal
    - allascii
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DICT_INLINE_RETURN
      Src: /src/postfix/postfix/src/util/dict_inline.c:80,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_inline.c:80,1
    - Dst: DICT_NEED_UTF8_ACTIVATION
      Src: /src/postfix/postfix/src/util/dict_inline.c:88,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/util/dict_inline.c:89,1
    - Dst: valid_utf8_stringz
      Src: /src/postfix/postfix/src/util/dict_inline.c:90,1
    - Dst: DICT_INLINE_RETURN
      Src: /src/postfix/postfix/src/util/dict_inline.c:91,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_inline.c:91,1
    - Dst: balpar
      Src: /src/postfix/postfix/src/util/dict_inline.c:101,1
    - Dst: mystrndup
      Src: /src/postfix/postfix/src/util/dict_inline.c:102,1
    - Dst: DICT_INLINE_RETURN
      Src: /src/postfix/postfix/src/util/dict_inline.c:103,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_inline.c:103,1
    - Dst: dict_ht_open
      Src: /src/postfix/postfix/src/util/dict_inline.c:113,1
    - Dst: dict_type_override
      Src: /src/postfix/postfix/src/util/dict_inline.c:114,1
    - Dst: mystrtokq
      Src: /src/postfix/postfix/src/util/dict_inline.c:115,1
    - Dst: extpar
      Src: /src/postfix/postfix/src/util/dict_inline.c:117,1
    - Dst: split_qnameval
      Src: /src/postfix/postfix/src/util/dict_inline.c:118,1
    - Dst: dict_file_to_b64
      Src: /src/postfix/postfix/src/util/dict_inline.c:124,1
    - Dst: dict_file_get_error
      Src: /src/postfix/postfix/src/util/dict_inline.c:125,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_inline.c:128,1
    - Dst: DICT*::update
      Src: /src/postfix/postfix/src/util/dict_inline.c:131,1
    - Dst: DICT*::close
      Src: /src/postfix/postfix/src/util/dict_inline.c:135,1
    - Dst: DICT_INLINE_RETURN
      Src: /src/postfix/postfix/src/util/dict_inline.c:136,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_inline.c:136,1
    - Dst: dict_file_purge_buffers
      Src: /src/postfix/postfix/src/util/dict_inline.c:148,1
    - Dst: DICT_INLINE_RETURN
      Src: /src/postfix/postfix/src/util/dict_inline.c:149,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 3
    argNames:
    - name
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 54
    functionDepth: 6
    functionLinenumber: 54
    functionLinenumberEnd: 150
    functionName: dict_inline_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_inline.c
    functionUses: 0
    functionsReached:
    - dict_file_to_b64
    - DICT*::close
    - extpar
    - balpar
    - dict_file_purge_buffers
    - mystrndup
    - dict_file_get_error
    - dict_surrogate
    - dict_type_override
    - DICT*::update
    - mystrtokq
    - split_qnameval
    - DICT_NEED_UTF8_ACTIVATION
    - vstring_str
    - valid_utf8_stringz
    - allascii
    - dict_ht_open
    - DICT_INLINE_RETURN
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_inline_open(const char *name, int open_flags, int dict_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: DICT_INLINE_RETURN
    functionSourceFile: /src/postfix/postfix/src/util/dict_inline.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DICT_INLINE_RETURN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/postfix/postfix/src/util/sigdelay.c:60,1
    - Dst: sigaddset
      Src: /src/postfix/postfix/src/util/sigdelay.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: siginit
    functionSourceFile: /src/postfix/postfix/src/util/sigdelay.c
    functionUses: 0
    functionsReached:
    - sigemptyset
    - sigaddset
    linkageType: ''
    returnType: void
    signature: void siginit(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sigprocmask
      Src: /src/postfix/postfix/src/util/sigdelay.c:71,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/sigdelay.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: sigresume
    functionSourceFile: /src/postfix/postfix/src/util/sigdelay.c
    functionUses: 2
    functionsReached:
    - msg_fatal
    - sigprocmask
    linkageType: ''
    returnType: void
    signature: void sigresume(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: siginit
      Src: /src/postfix/postfix/src/util/sigdelay.c:81,1
    - Dst: sigprocmask
      Src: /src/postfix/postfix/src/util/sigdelay.c:84,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/sigdelay.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: sigdelay
    functionSourceFile: /src/postfix/postfix/src/util/sigdelay.c
    functionUses: 1
    functionsReached:
    - siginit
    - msg_fatal
    - sigprocmask
    linkageType: ''
    returnType: void
    signature: void sigdelay(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postfix/postfix/src/util/sigdelay.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: gotsig
    functionSourceFile: /src/postfix/postfix/src/util/sigdelay.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void gotsig(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/postfix/postfix/src/util/sigdelay.c:107,1
    - Dst: signal
      Src: /src/postfix/postfix/src/util/sigdelay.c:108,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/sigdelay.c:110,1
    - Dst: sigdelay
      Src: /src/postfix/postfix/src/util/sigdelay.c:111,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/util/sigdelay.c:112,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/sigdelay.c:113,1
    - Dst: sigresume
      Src: /src/postfix/postfix/src/util/sigdelay.c:114,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/sigdelay.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/sigdelay.c
    functionUses: 41
    functionsReached:
    - sleep
    - sigresume
    - exit
    - sigdelay
    - printf
    - signal
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - 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: LEN
    functionSourceFile: /src/postfix/postfix/src/util/ossl_digest_test.c
    functionUses: 162
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(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: STR
    functionSourceFile: /src/postfix/postfix/src/util/ossl_digest_test.c
    functionUses: 532
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_digest_get_errors
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:55,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:56,1
    - Dst: argv_join
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:57,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:58,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: get_error_string
    functionSourceFile: /src/postfix/postfix/src/util/ossl_digest_test.c
    functionUses: 0
    functionsReached:
    - argv_join
    - vstring_export
    - vstring_alloc
    - argv_free
    - ossl_digest_get_errors
    linkageType: ''
    returnType: char
    signature: char *get_error_string(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_digest_new
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:68,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:69,1
    - Dst: ossl_digest_free
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:70,1
    - Dst: get_error_string
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:75,1
    - Dst: strstr
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:76,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:78,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 83
    functionName: reports_bad_digest_name
    functionSourceFile: /src/postfix/postfix/src/util/ossl_digest_test.c
    functionUses: 0
    functionsReached:
    - ossl_digest_free
    - msg_warn
    - get_error_string
    - myfree
    - strstr
    - ossl_digest_new
    linkageType: ''
    returnType: int
    signature: int reports_bad_digest_name(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_digest_new
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:107,1
    - Dst: get_error_string
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:108,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:110,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:111,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:114,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:115,1
    - Dst: ossl_digest_data
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:118,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:118,1
    - Dst: get_error_string
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:119,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:121,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:122,1
    - Dst: hex_encode
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:126,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:126,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:126,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:127,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:127,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:128,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:128,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:129,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:129,1
    - Dst: ossl_digest_free
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:134,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:135,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 139
    functionName: computes_sha256_digests
    functionSourceFile: /src/postfix/postfix/src/util/ossl_digest_test.c
    functionUses: 0
    functionsReached:
    - ossl_digest_free
    - msg_warn
    - strlen
    - get_error_string
    - vstring_alloc
    - LEN
    - myfree
    - ossl_digest_data
    - hex_encode
    - strcmp
    - ossl_digest_new
    - vstring_free
    - lowercase
    - STR
    linkageType: ''
    returnType: int
    signature: int computes_sha256_digests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_digest_new
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:147,1
    - Dst: get_error_string
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:150,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:151,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:152,1
    - Dst: ossl_digest_get_size
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:155,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:156,1
    - Dst: ossl_digest_free
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 162
    functionName: returns_sha256_output_size
    functionSourceFile: /src/postfix/postfix/src/util/ossl_digest_test.c
    functionUses: 0
    functionsReached:
    - ossl_digest_free
    - msg_warn
    - get_error_string
    - myfree
    - ossl_digest_get_size
    - ossl_digest_new
    linkageType: ''
    returnType: int
    signature: int returns_sha256_output_size(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:184,1
    - Dst: struct TEST_CASE*::action
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:185,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:186,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:189,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:193,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 195
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/ossl_digest_test.c
    functionUses: 41
    functionsReached:
    - struct TEST_CASE*::action
    - exit
    - msg_info
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/ossl_digest_test.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/ossl_digest_test.c
    functionUses: 41
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/vstring.c:331,1
    - Dst: myrealloc
      Src: /src/postfix/postfix/src/util/vstring.c:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - bp
    - incr
    argTypes:
    - VBUF*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 338
    functionName: vstring_extend
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 0
    functionsReached:
    - myrealloc
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void vstring_extend(VBUF *bp, ssize_t incr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unused_buf
    argTypes:
    - VBUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: vstring_buf_get_ready
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vstring_buf_get_ready(VBUF *unused_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_extend
      Src: /src/postfix/postfix/src/util/vstring.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bp
    argTypes:
    - VBUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 4
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: vstring_buf_put_ready
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 0
    functionsReached:
    - vstring_extend
    linkageType: ''
    returnType: int
    signature: int vstring_buf_put_ready(VBUF *bp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstring.c:362,1
    - Dst: vstring_extend
      Src: /src/postfix/postfix/src/util/vstring.c:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - bp
    - len
    argTypes:
    - VBUF*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 357
    functionDepth: 4
    functionLinenumber: 357
    functionLinenumberEnd: 366
    functionName: vstring_buf_space
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstring_extend
    linkageType: ''
    returnType: int
    signature: int vstring_buf_space(VBUF *bp, ssize_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstring.c:379,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/vstring.c:380,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/vstring.c:383,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/vstring.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - len
    argTypes:
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 392
    functionName: vstring_alloc
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 531
    functionsReached:
    - msg_panic
    - VSTRING_RESET
    - mymalloc
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *vstring_alloc(ssize_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/vstring.c:399,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/vstring.c:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vp
    argTypes:
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 402
    functionName: vstring_free
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 314
    functionsReached:
    - myfree
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *vstring_free(VSTRING *vp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/vstring.c:411,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vstring.c:412,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstring.c:415,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/vstring.c:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - vp
    argTypes:
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 422
    functionName: vstring_ctl
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    - va_arg
    - msg_panic
    linkageType: ''
    returnType: void
    signature: void vstring_ctl(VSTRING *vp,...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstring.c:432,1
    - Dst: memmove
      Src: /src/postfix/postfix/src/util/vstring.c:433,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vstring.c:433,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vstring.c:433,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstring.c:435,1
    - Dst: VSTRING_AT_OFFSET
      Src: /src/postfix/postfix/src/util/vstring.c:436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - vp
    - len
    argTypes:
    - VSTRING*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 438
    functionName: vstring_truncate
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 27
    functionsReached:
    - memmove
    - VSTRING_AT_OFFSET
    - vstring_str
    - VSTRING_LEN
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *vstring_truncate(VSTRING *vp, ssize_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstring.c:445,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstring.c:447,1
    - Dst: VSTRING_AT_OFFSET
      Src: /src/postfix/postfix/src/util/vstring.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - vp
    - len
    argTypes:
    - VSTRING*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 450
    functionName: vstring_set_payload_size
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 9
    functionsReached:
    - msg_panic
    - VSTRING_AT_OFFSET
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *vstring_set_payload_size(VSTRING *vp, ssize_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/vstring.c:456,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/vstring.c:459,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/vstring.c:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - vp
    - src
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 464
    functionName: vstring_strcpy
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 127
    functionsReached:
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - VSTRING_ADDCH
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *vstring_strcpy(VSTRING *vp, const char *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/vstring.c:470,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/vstring.c:473,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/vstring.c:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - vp
    - src
    - len
    argTypes:
    - VSTRING*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 478
    functionName: vstring_strncpy
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 16
    functionsReached:
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - VSTRING_ADDCH
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *vstring_strncpy(VSTRING *vp, const char *src, ssize_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/vstring.c:485,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/vstring.c:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - vp
    - src
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 490
    functionName: vstring_strcat
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 56
    functionsReached:
    - VSTRING_ADDCH
    - VSTRING_TERMINATE
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *vstring_strcat(VSTRING *vp, const char *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/vstring.c:497,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/vstring.c:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - vp
    - src
    - len
    argTypes:
    - VSTRING*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 502
    functionName: vstring_strncat
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 11
    functionsReached:
    - VSTRING_ADDCH
    - VSTRING_TERMINATE
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *vstring_strncat(VSTRING *vp, const char *src, ssize_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/vstring.c:508,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/util/vstring.c:510,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/vstring.c:511,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vstring.c:511,1
    - Dst: VSTRING_AT_OFFSET
      Src: /src/postfix/postfix/src/util/vstring.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - vp
    - src
    - len
    argTypes:
    - VSTRING*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 514
    functionName: vstring_memcpy
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 5
    functionsReached:
    - VSTRING_SPACE
    - VSTRING_RESET
    - memcpy
    - vstring_str
    - VSTRING_AT_OFFSET
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *vstring_memcpy(VSTRING *vp, const char *src, ssize_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/util/vstring.c:520,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/vstring.c:521,1
    - Dst: vstring_end
      Src: /src/postfix/postfix/src/util/vstring.c:521,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstring.c:522,1
    - Dst: VSTRING_AT_OFFSET
      Src: /src/postfix/postfix/src/util/vstring.c:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - vp
    - src
    - len
    argTypes:
    - VSTRING*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 525
    functionName: vstring_memcat
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 1
    functionsReached:
    - vstring_end
    - VSTRING_LEN
    - VSTRING_SPACE
    - memcpy
    - VSTRING_AT_OFFSET
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *vstring_memcat(VSTRING *vp, const char *src, ssize_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vstring.c:533,1
    - Dst: vstring_end
      Src: /src/postfix/postfix/src/util/vstring.c:533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - vp
    - ch
    argTypes:
    - VSTRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 537
    functionName: vstring_memchr
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 1
    functionsReached:
    - vstring_str
    - vstring_end
    linkageType: ''
    returnType: char
    signature: char *vstring_memchr(VSTRING *vp, int ch)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstring.c:548,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstring.c:549,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstring.c:551,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstring.c:556,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/util/vstring.c:557,1
    - Dst: memmove
      Src: /src/postfix/postfix/src/util/vstring.c:558,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vstring.c:558,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vstring.c:558,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstring.c:559,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/vstring.c:560,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vstring.c:560,1
    - Dst: VSTRING_AT_OFFSET
      Src: /src/postfix/postfix/src/util/vstring.c:561,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/vstring.c:562,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - vp
    - start
    - buf
    - len
    argTypes:
    - VSTRING*
    - ssize_t
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 541
    functionDepth: 2
    functionLinenumber: 541
    functionLinenumberEnd: 564
    functionName: vstring_insert
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - memmove
    - VSTRING_LEN
    - VSTRING_SPACE
    - VSTRING_TERMINATE
    - memcpy
    - vstring_str
    - VSTRING_AT_OFFSET
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *vstring_insert(VSTRING *vp, ssize_t start, const char *buf,
      ssize_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstring.c:576,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstring.c:581,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/util/vstring.c:582,1
    - Dst: memmove
      Src: /src/postfix/postfix/src/util/vstring.c:583,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vstring.c:583,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vstring.c:583,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstring.c:583,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/vstring.c:584,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vstring.c:584,1
    - Dst: VSTRING_AT_OFFSET
      Src: /src/postfix/postfix/src/util/vstring.c:585,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/vstring.c:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - vp
    - buf
    - len
    argTypes:
    - VSTRING*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 588
    functionName: vstring_prepend
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 5
    functionsReached:
    - msg_panic
    - memmove
    - VSTRING_LEN
    - VSTRING_SPACE
    - VSTRING_TERMINATE
    - memcpy
    - vstring_str
    - VSTRING_AT_OFFSET
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *vstring_prepend(VSTRING *vp, const char *buf, ssize_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/vstring.c:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vp
    argTypes:
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 600
    functionName: vstring_export
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 21
    functionsReached:
    - myfree
    linkageType: ''
    returnType: char
    signature: char *vstring_export(VSTRING *vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/vstring.c:609,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/vstring.c:610,1
    - Dst: VSTRING_AT_OFFSET
      Src: /src/postfix/postfix/src/util/vstring.c:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 604
    functionDepth: 2
    functionLinenumber: 604
    functionLinenumberEnd: 620
    functionName: vstring_import
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - VSTRING_AT_OFFSET
    - strlen
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *vstring_import(char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/vstring.c:628,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/util/vstring.c:629,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/vstring.c:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - vp
    - format
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 632
    functionName: vstring_sprintf
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 128
    functionsReached:
    - va_start
    - vstring_vsprintf
    - va_end
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *vstring_sprintf(VSTRING *vp, const char *format,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/vstring.c:638,1
    - Dst: vbuf_print
      Src: /src/postfix/postfix/src/util/vstring.c:639,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/vstring.c:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - vp
    - format
    - ap
    argTypes:
    - VSTRING*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 636
    functionDepth: 3
    functionLinenumber: 636
    functionLinenumberEnd: 642
    functionName: vstring_vsprintf
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 23
    functionsReached:
    - vbuf_print
    - VSTRING_RESET
    - VSTRING_TERMINATE
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *vstring_vsprintf(VSTRING *vp, const char *format, va_list
      ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/vstring.c:650,1
    - Dst: vstring_vsprintf_append
      Src: /src/postfix/postfix/src/util/vstring.c:651,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/vstring.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - vp
    - format
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 654
    functionName: vstring_sprintf_append
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 47
    functionsReached:
    - va_start
    - va_end
    - vstring_vsprintf_append
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *vstring_sprintf_append(VSTRING *vp, const char *format,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vbuf_print
      Src: /src/postfix/postfix/src/util/vstring.c:660,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/vstring.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - vp
    - format
    - ap
    argTypes:
    - VSTRING*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 658
    functionDepth: 3
    functionLinenumber: 658
    functionLinenumberEnd: 663
    functionName: vstring_vsprintf_append
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 3
    functionsReached:
    - vbuf_print
    - VSTRING_TERMINATE
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *vstring_vsprintf_append(VSTRING *vp, const char *format, va_list
      ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstring.c:670,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/vstring.c:674,1
    - Dst: vstring_vsprintf_append
      Src: /src/postfix/postfix/src/util/vstring.c:675,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/vstring.c:676,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstring.c:677,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/util/vstring.c:680,1
    - Dst: vstring_memcat
      Src: /src/postfix/postfix/src/util/vstring.c:681,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vstring.c:681,1
    - Dst: memmove
      Src: /src/postfix/postfix/src/util/vstring.c:684,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vstring.c:684,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vstring.c:684,1
    - Dst: VSTRING_AT_OFFSET
      Src: /src/postfix/postfix/src/util/vstring.c:685,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/vstring.c:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - vp
    - format
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 667
    functionDepth: 4
    functionLinenumber: 667
    functionLinenumberEnd: 688
    functionName: vstring_sprintf_prepend
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 5
    functionsReached:
    - va_start
    - va_end
    - memmove
    - VSTRING_LEN
    - VSTRING_SPACE
    - VSTRING_TERMINATE
    - vstring_vsprintf_append
    - vstring_str
    - VSTRING_AT_OFFSET
    - vstring_memcat
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *vstring_sprintf_prepend(VSTRING *vp, const char *format,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/vstring.c:699,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/vstring.c:706,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/vstring.c:707,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/vstring.c:708,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vstring.c:708,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/vstring.c:711,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/util/vstring.c:713,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/util/vstring.c:714,1
    - Dst: printf
      Src: /src/postfix/postfix/src/util/vstring.c:716,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vstring.c:716,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/vstring.c:717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 697
    functionDepth: 3
    functionLinenumber: 697
    functionLinenumberEnd: 719
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/vstring.c
    functionUses: 41
    functionsReached:
    - VSTRING_ADDCH
    - strlen
    - vstring_alloc
    - VSTRING_RESET
    - printf
    - vstring_strcat
    - vstring_str
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vp
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: VSTRING_SPACE
    functionSourceFile: /src/postfix/postfix/src/util/vstring.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTRING_SPACE(vp, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: vstring_str
    functionSourceFile: /src/postfix/postfix/src/util/vstring.h
    functionUses: 227
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstring_str(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: VSTRING_LEN
    functionSourceFile: /src/postfix/postfix/src/util/vstring.h
    functionUses: 70
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTRING_LEN(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: vstring_end
    functionSourceFile: /src/postfix/postfix/src/util/vstring.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstring_end(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: VSTRING_TERMINATE
    functionSourceFile: /src/postfix/postfix/src/util/vstring.h
    functionUses: 107
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTRING_TERMINATE(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: VSTRING_RESET
    functionSourceFile: /src/postfix/postfix/src/util/vstring.h
    functionUses: 121
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTRING_RESET(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vp
    - ','
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: VSTRING_ADDCH
    functionSourceFile: /src/postfix/postfix/src/util/vstring.h
    functionUses: 81
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTRING_ADDCH(vp, ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: VSTRING_SKIP
    functionSourceFile: /src/postfix/postfix/src/util/vstring.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTRING_SKIP(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: vstring_avail
    functionSourceFile: /src/postfix/postfix/src/util/vstring.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstring_avail(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vp
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: VSTRING_AT_OFFSET
    functionSourceFile: /src/postfix/postfix/src/util/vstring.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTRING_AT_OFFSET(vp, offset)
  - 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: STR
    functionSourceFile: /src/postfix/postfix/src/util/name_mask.c
    functionUses: 533
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/name_mask.c:210,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/name_mask.c:219,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/util/name_mask.c:231,1
    - Dst: hex_to_ulong
      Src: /src/postfix/postfix/src/util/name_mask.c:235,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/name_mask.c:238,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/name_mask.c:241,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/name_mask.c:243,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/name_mask.c:246,1
    - Dst: lookup
      Src: /src/postfix/postfix/src/util/name_mask.c:251,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/name_mask.c:253,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/name_mask.c:259,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 5
    argNames:
    - context
    - table
    - names
    - delim
    - flags
    argTypes:
    - char*
    - NAME_MASK*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 261
    functionName: name_mask_delim_opt
    functionSourceFile: /src/postfix/postfix/src/util/name_mask.c
    functionUses: 3
    functionsReached:
    - msg_panic
    - msg_warn
    - hex_to_ulong
    - msg_info
    - myfree
    - mystrtok
    - msg_fatal
    - lookup
    - mystrdup
    linkageType: ''
    returnType: int
    signature: "int name_mask_delim_opt(const char *context, const NAME_MASK *table,\n\t\t
      \           const char *names, const char *delim, int flags)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/name_mask.c:277,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/name_mask.c:282,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/name_mask.c:285,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/name_mask.c:290,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/name_mask.c:292,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/name_mask.c:295,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/name_mask.c:299,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/name_mask.c:306,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/name_mask.c:309,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/util/name_mask.c:310,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/name_mask.c:311,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/name_mask.c:313,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 5
    argNames:
    - buf
    - context
    - table
    - mask
    - flags
    argTypes:
    - VSTRING*
    - char*
    - NAME_MASK*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 314
    functionName: str_name_mask_opt
    functionSourceFile: /src/postfix/postfix/src/util/name_mask.c
    functionUses: 9
    functionsReached:
    - msg_panic
    - msg_warn
    - vstring_truncate
    - VSTRING_LEN
    - vstring_alloc
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - vstring_sprintf_append
    - msg_fatal
    - STR
    linkageType: ''
    returnType: char
    signature: "char *str_name_mask_opt(VSTRING *buf, const char *context,\n\t\t\t
      \             const NAME_MASK *table,\n\t\t\t              int mask, int flags)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/name_mask.c:324,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/name_mask.c:333,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/util/name_mask.c:345,1
    - Dst: hex_to_ulong
      Src: /src/postfix/postfix/src/util/name_mask.c:349,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/name_mask.c:352,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/name_mask.c:355,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/name_mask.c:357,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/name_mask.c:360,1
    - Dst: lookup
      Src: /src/postfix/postfix/src/util/name_mask.c:365,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/name_mask.c:367,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/name_mask.c:374,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 5
    argNames:
    - context
    - table
    - names
    - delim
    - flags
    argTypes:
    - char*
    - LONG_NAME_MASK*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 318
    functionDepth: 3
    functionLinenumber: 318
    functionLinenumberEnd: 376
    functionName: long_name_mask_delim_opt
    functionSourceFile: /src/postfix/postfix/src/util/name_mask.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_warn
    - hex_to_ulong
    - msg_info
    - myfree
    - mystrtok
    - msg_fatal
    - lookup
    - mystrdup
    linkageType: ''
    returnType: long
    signature: "long long_name_mask_delim_opt(const char *context,\n\t\t\t\t         const
      LONG_NAME_MASK *table,\n\t\t\t               const char *names, const char *delim,\n\t\t\t\t
      \        int flags)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/name_mask.c:392,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/name_mask.c:397,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/name_mask.c:400,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/name_mask.c:405,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/name_mask.c:407,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/name_mask.c:410,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/name_mask.c:414,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/name_mask.c:421,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/name_mask.c:424,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/util/name_mask.c:425,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/name_mask.c:426,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/name_mask.c:428,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 5
    argNames:
    - buf
    - context
    - table
    - mask
    - flags
    argTypes:
    - VSTRING*
    - char*
    - LONG_NAME_MASK*
    - long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 380
    functionDepth: 3
    functionLinenumber: 380
    functionLinenumberEnd: 429
    functionName: str_long_name_mask_opt
    functionSourceFile: /src/postfix/postfix/src/util/name_mask.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - msg_warn
    - vstring_truncate
    - VSTRING_LEN
    - vstring_alloc
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - vstring_sprintf_append
    - msg_fatal
    - STR
    linkageType: ''
    returnType: char
    signature: "char *str_long_name_mask_opt(VSTRING *buf, const char *context,\n\t\t\t\t
      \          const LONG_NAME_MASK *table,\n\t\t\t\t           long mask, int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/util/name_mask.c:438,1
    - Dst: strtoul
      Src: /src/postfix/postfix/src/util/name_mask.c:447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - value
    - mask
    - ulp
    argTypes:
    - char*
    - unsigned long
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 453
    functionName: hex_to_ulong
    functionSourceFile: /src/postfix/postfix/src/util/name_mask.c
    functionUses: 2
    functionsReached:
    - strtoul
    - strncasecmp
    linkageType: ''
    returnType: int
    signature: int hex_to_ulong(char *value, unsigned long mask, unsigned long *ulp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/name_mask.c:489,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/name_mask.c:490,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/name_mask.c:493,1
    - Dst: name_mask
      Src: /src/postfix/postfix/src/util/name_mask.c:494,1
    - Dst: name_mask
      Src: /src/postfix/postfix/src/util/name_mask.c:495,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/util/name_mask.c:496,1
    - Dst: name_mask_opt
      Src: /src/postfix/postfix/src/util/name_mask.c:497,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/name_mask.c:498,1
    - Dst: str_name_mask_opt
      Src: /src/postfix/postfix/src/util/name_mask.c:499,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/name_mask.c:501,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/name_mask.c:502,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/name_mask.c:504,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/name_mask.c:506,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/name_mask.c:507,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/name_mask.c:508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 464
    functionDepth: 4
    functionLinenumber: 464
    functionLinenumberEnd: 509
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/name_mask.c
    functionUses: 41
    functionsReached:
    - vstring_get_nonl
    - name_mask
    - vstream_fflush
    - vstring_alloc
    - name_mask_opt
    - exit
    - str_name_mask_opt
    - vstream_printf
    - msg_fatal
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fake_argv
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: ARGV_FAKE_BEGIN
    functionSourceFile: /src/postfix/postfix/src/util/argv.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGV_FAKE_BEGIN(fake_argv, arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNSIGNED
      Src: /src/postfix/postfix/src/util/timecmp.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - time_t
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 55
    functionName: timecmp
    functionSourceFile: /src/postfix/postfix/src/util/timecmp.c
    functionUses: 2
    functionsReached:
    - UNSIGNED
    linkageType: ''
    returnType: int
    signature: int timecmp(time_t t1, time_t t2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: UNSIGNED
    functionSourceFile: /src/postfix/postfix/src/util/timecmp.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNSIGNED(type)
  - 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: __MAXINT__
    functionSourceFile: /src/postfix/postfix/src/util/timecmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __MAXINT__(T)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/postfix/postfix/src/util/timecmp.c:73,1
    - Dst: assert
      Src: /src/postfix/postfix/src/util/timecmp.c:76,1
    - Dst: timecmp
      Src: /src/postfix/postfix/src/util/timecmp.c:76,1
    - Dst: assert
      Src: /src/postfix/postfix/src/util/timecmp.c:77,1
    - Dst: timecmp
      Src: /src/postfix/postfix/src/util/timecmp.c:77,1
    - Dst: assert
      Src: /src/postfix/postfix/src/util/timecmp.c:78,1
    - Dst: timecmp
      Src: /src/postfix/postfix/src/util/timecmp.c:78,1
    - Dst: UNSIGNED
      Src: /src/postfix/postfix/src/util/timecmp.c:81,1
    - Dst: __MAXINT__
      Src: /src/postfix/postfix/src/util/timecmp.c:84,1
    - Dst: assert
      Src: /src/postfix/postfix/src/util/timecmp.c:86,1
    - Dst: timecmp
      Src: /src/postfix/postfix/src/util/timecmp.c:86,1
    - Dst: assert
      Src: /src/postfix/postfix/src/util/timecmp.c:87,1
    - Dst: timecmp
      Src: /src/postfix/postfix/src/util/timecmp.c:87,1
    - Dst: assert
      Src: /src/postfix/postfix/src/util/timecmp.c:88,1
    - Dst: timecmp
      Src: /src/postfix/postfix/src/util/timecmp.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (timecmp(now + 10, now) > 0)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/postfix/postfix/src/util/timecmp.c
    - condition: (timecmp(now, now) == 0)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/postfix/postfix/src/util/timecmp.c
    - condition: (timecmp(now - 10, now) < 0)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/postfix/postfix/src/util/timecmp.c
    - condition: (timecmp(now + 10, now) > 0)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/postfix/postfix/src/util/timecmp.c
    - condition: (timecmp(now, now) == 0)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/postfix/postfix/src/util/timecmp.c
    - condition: (timecmp(now - 10, now) < 0)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/postfix/postfix/src/util/timecmp.c
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/timecmp.c
    functionUses: 41
    functionsReached:
    - UNSIGNED
    - time
    - timecmp
    - assert
    - __MAXINT__
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 270
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/util/mac_expand.c
    functionUses: 536
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sane_strtol
      Src: /src/postfix/postfix/src/util/mac_expand.c:278,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/mac_expand.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - strval
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 282
    functionName: atol_or_die
    functionSourceFile: /src/postfix/postfix/src/util/mac_expand.c
    functionUses: 0
    functionsReached:
    - sane_strtol
    - msg_fatal
    linkageType: ''
    returnType: long
    signature: long atol_or_die(const char *strval)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: alldig
      Src: /src/postfix/postfix/src/util/mac_expand.c:295,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/util/mac_expand.c:295,1
    - Dst: atol_or_die
      Src: /src/postfix/postfix/src/util/mac_expand.c:296,1
    - Dst: atol_or_die
      Src: /src/postfix/postfix/src/util/mac_expand.c:296,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/mac_expand.c:298,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/mac_expand.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - left
    - tok_val
    - rite
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 317
    functionName: mac_exp_eval
    functionSourceFile: /src/postfix/postfix/src/util/mac_expand.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - strcmp
    - alldig
    - atol_or_die
    linkageType: ''
    returnType: MAC_EXP_OP_RES
    signature: "MAC_EXP_OP_RES mac_exp_eval(const char *left, int tok_val,\n\t\t\t\t
      \          const char *rite)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/mac_expand.c:326,1
    - Dst: vmsg_warn
      Src: /src/postfix/postfix/src/util/mac_expand.c:327,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/mac_expand.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - mc
    - fmt
    argTypes:
    - MAC_EXP_CONTEXT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 330
    functionName: mac_exp_parse_error
    functionSourceFile: /src/postfix/postfix/src/util/mac_expand.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vmsg_warn
    linkageType: ''
    returnType: void
    signature: "void mac_exp_parse_error(MAC_EXP_CONTEXT *mc,\n\t\t\t\t\t\t        const
      char *fmt,...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mc
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: MAC_EXP_ERR_RETURN
    functionSourceFile: /src/postfix/postfix/src/util/mac_expand.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAC_EXP_ERR_RETURN(mc, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - len
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: MAC_EXP_FIND_LEFT_CURLY
    functionSourceFile: /src/postfix/postfix/src/util/mac_expand.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAC_EXP_FIND_LEFT_CURLY(len, cp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mac_exp_parse_error
      Src: /src/postfix/postfix/src/util/mac_expand.c:376,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/util/mac_expand.c:392,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - mc
    - bp
    argTypes:
    - MAC_EXP_CONTEXT*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 363
    functionDepth: 3
    functionLinenumber: 363
    functionLinenumberEnd: 394
    functionName: mac_exp_extract_curly_payload
    functionSourceFile: /src/postfix/postfix/src/util/mac_expand.c
    functionUses: 0
    functionsReached:
    - strspn
    - mac_exp_parse_error
    linkageType: ''
    returnType: char
    signature: char *mac_exp_extract_curly_payload(MAC_EXP_CONTEXT *mc, char **bp)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mac_exp_extract_curly_payload
      Src: /src/postfix/postfix/src/util/mac_expand.c:420,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/util/mac_expand.c:427,1
    - Dst: mystrndup
      Src: /src/postfix/postfix/src/util/mac_expand.c:428,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/util/mac_expand.c:429,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/mac_expand.c:430,1
    - Dst: MAC_EXP_ERR_RETURN
      Src: /src/postfix/postfix/src/util/mac_expand.c:432,1
    - Dst: ISALNUM
      Src: /src/postfix/postfix/src/util/mac_expand.c:439,1
    - Dst: ISALNUM
      Src: /src/postfix/postfix/src/util/mac_expand.c:441,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/mac_expand.c:444,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/util/mac_expand.c:446,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/mac_expand.c:447,1
    - Dst: MAC_EXP_ERR_RETURN
      Src: /src/postfix/postfix/src/util/mac_expand.c:448,1
    - Dst: MAC_EXP_FIND_LEFT_CURLY
      Src: /src/postfix/postfix/src/util/mac_expand.c:457,1
    - Dst: MAC_EXP_ERR_RETURN
      Src: /src/postfix/postfix/src/util/mac_expand.c:458,1
    - Dst: mac_exp_extract_curly_payload
      Src: /src/postfix/postfix/src/util/mac_expand.c:461,1
    - Dst: mac_expand
      Src: /src/postfix/postfix/src/util/mac_expand.c:468,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/mac_expand.c:468,1
    - Dst: mac_expand
      Src: /src/postfix/postfix/src/util/mac_expand.c:471,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/mac_expand.c:471,1
    - Dst: relop_eval
      Src: /src/postfix/postfix/src/util/mac_expand.c:474,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/mac_expand.c:474,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/mac_expand.c:475,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/mac_expand.c:477,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/mac_expand.c:478,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/mac_expand.c:498,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 3
    argNames:
    - mc
    - lookup
    - bp
    argTypes:
    - MAC_EXP_CONTEXT*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 398
    functionDepth: 4
    functionLinenumber: 398
    functionLinenumberEnd: 503
    functionName: mac_exp_parse_relational
    functionSourceFile: /src/postfix/postfix/src/util/mac_expand.c
    functionUses: 0
    functionsReached:
    - name_code
    - msg_panic
    - vstring_sprintf
    - strspn
    - mystrndup
    - vstring_alloc
    - mac_expand
    - myfree
    - ISALNUM
    - MAC_EXP_ERR_RETURN
    - mac_exp_extract_curly_payload
    - MAC_EXP_FIND_LEFT_CURLY
    - vstring_str
    - relop_eval
    - htable_find
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: "int mac_exp_parse_relational(MAC_EXP_CONTEXT *mc, const char **lookup,\n\t\t\t\t
      \           char **bp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: allalnum
      Src: /src/postfix/postfix/src/util/mac_expand.c:517,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/mac_expand.c:518,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/util/mac_expand.c:524,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/mac_expand.c:525,1
    - Dst: str_name_code
      Src: /src/postfix/postfix/src/util/mac_expand.c:528,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/mac_expand.c:529,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/mac_expand.c:530,1
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/util/mac_expand.c:531,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/mac_expand.c:531,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/mac_expand.c:532,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/mac_expand.c:532,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/util/mac_expand.c:533,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/mac_expand.c:534,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - tok_list
    - suffix
    - relop_eval
    argTypes:
    - int*
    - char*
    - MAC_EXPAND_RELOP_FN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 507
    functionDepth: 5
    functionLinenumber: 507
    functionLinenumberEnd: 536
    functionName: mac_expand_add_relop
    functionSourceFile: /src/postfix/postfix/src/util/mac_expand.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - vstring_sprintf
    - htable_create
    - str_name_code
    - vstring_alloc
    - htable_enter
    - allalnum
    - htable_locate
    - STR
    linkageType: ''
    returnType: void
    signature: "void mac_expand_add_relop(int *tok_list, const char *suffix,\n\t\t\t
      \            MAC_EXPAND_RELOP_FN relop_eval)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: mac_exp_parse_error
      Src: /src/postfix/postfix/src/util/mac_expand.c:557,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/mac_expand.c:558,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/mac_expand.c:568,1
    - Dst: MAC_EXP_FIND_LEFT_CURLY
      Src: /src/postfix/postfix/src/util/mac_expand.c:574,1
    - Dst: mac_exp_parse_relational
      Src: /src/postfix/postfix/src/util/mac_expand.c:575,1
    - Dst: MAC_EXP_ERR_RETURN
      Src: /src/postfix/postfix/src/util/mac_expand.c:583,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/util/mac_expand.c:599,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/util/mac_expand.c:601,1
    - Dst: ISALNUM
      Src: /src/postfix/postfix/src/util/mac_expand.c:613,1
    - Dst: MAC_EXP_ERR_RETURN
      Src: /src/postfix/postfix/src/util/mac_expand.c:614,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/mac_expand.c:616,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/mac_expand.c:617,1
    - Dst: MAC_EXP_CONTEXT*::lookup
      Src: /src/postfix/postfix/src/util/mac_expand.c:625,1
    - Dst: MAC_EXP_FIND_LEFT_CURLY
      Src: /src/postfix/postfix/src/util/mac_expand.c:640,1
    - Dst: mac_exp_extract_curly_payload
      Src: /src/postfix/postfix/src/util/mac_expand.c:641,1
    - Dst: mac_parse
      Src: /src/postfix/postfix/src/util/mac_expand.c:648,1
    - Dst: MAC_EXP_ERR_RETURN
      Src: /src/postfix/postfix/src/util/mac_expand.c:653,1
    - Dst: MAC_EXP_FIND_LEFT_CURLY
      Src: /src/postfix/postfix/src/util/mac_expand.c:658,1
    - Dst: mac_exp_extract_curly_payload
      Src: /src/postfix/postfix/src/util/mac_expand.c:659,1
    - Dst: mac_parse
      Src: /src/postfix/postfix/src/util/mac_expand.c:666,1
    - Dst: MAC_EXP_ERR_RETURN
      Src: /src/postfix/postfix/src/util/mac_expand.c:669,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/mac_expand.c:678,1
    - Dst: mac_parse
      Src: /src/postfix/postfix/src/util/mac_expand.c:679,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/mac_expand.c:679,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/mac_expand.c:682,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/util/mac_expand.c:683,1
    - Dst: printable
      Src: /src/postfix/postfix/src/util/mac_expand.c:685,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/mac_expand.c:685,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/mac_expand.c:687,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/util/mac_expand.c:688,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/mac_expand.c:694,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/util/mac_expand.c:702,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/mac_expand.c:702,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 97
    argCount: 3
    argNames:
    - type
    - buf
    - ptr
    argTypes:
    - int
    - VSTRING*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 540
    functionDepth: 5
    functionLinenumber: 540
    functionLinenumberEnd: 707
    functionName: mac_expand_callback
    functionSourceFile: /src/postfix/postfix/src/util/mac_expand.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - printable
    - VSTRING_LEN
    - strspn
    - mac_exp_parse_relational
    - mac_exp_parse_error
    - MAC_EXP_ERR_RETURN
    - ISALNUM
    - MAC_EXP_FIND_LEFT_CURLY
    - MAC_EXP_CONTEXT*::lookup
    - mac_exp_extract_curly_payload
    - vstring_strcpy
    - vstring_strcat
    - vstring_str
    - mac_parse
    linkageType: ''
    returnType: int
    signature: int mac_expand_callback(int type, VSTRING *buf, void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/mac_expand.c:729,1
    - Dst: mac_parse
      Src: /src/postfix/postfix/src/util/mac_expand.c:730,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/mac_expand.c:732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - result
    - pattern
    - flags
    - filter
    - lookup
    - context
    argTypes:
    - VSTRING*
    - char*
    - int
    - char*
    - MAC_EXP_LOOKUP_FN
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 735
    functionName: mac_expand
    functionSourceFile: /src/postfix/postfix/src/util/mac_expand.c
    functionUses: 9
    functionsReached:
    - VSTRING_RESET
    - mac_parse
    - VSTRING_TERMINATE
    linkageType: ''
    returnType: int
    signature: "int mac_expand(VSTRING *result, const char *pattern, int flags,\n\t\t
      \          const char *filter,\n\t\t           MAC_EXP_LOOKUP_FN lookup, void
      *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htable_find
      Src: /src/postfix/postfix/src/util/mac_expand.c:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - unused_mode
    - context
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 747
    functionDepth: 2
    functionLinenumber: 747
    functionLinenumberEnd: 752
    functionName: lookup
    functionSourceFile: /src/postfix/postfix/src/util/mac_expand.c
    functionUses: 67
    functionsReached:
    - htable_find
    linkageType: ''
    returnType: char
    signature: char *lookup(const char *name, int unused_mode, void *context)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/mac_expand.c:758,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/mac_expand.c:758,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/mac_expand.c:774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - left
    - relop
    - rite
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 754
    functionDepth: 2
    functionLinenumber: 754
    functionLinenumberEnd: 777
    functionName: length_relop_eval
    functionSourceFile: /src/postfix/postfix/src/util/mac_expand.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - strlen
    linkageType: ''
    returnType: MAC_EXP_OP_RES
    signature: "MAC_EXP_OP_RES length_relop_eval(const char *left, int relop,\n\t\t\t\t\t
      \       const char *rite)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/mac_expand.c:781,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/mac_expand.c:782,1
    - Dst: mac_expand_add_relop
      Src: /src/postfix/postfix/src/util/mac_expand.c:798,1
    - Dst: vstream_feof
      Src: /src/postfix/postfix/src/util/mac_expand.c:803,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/util/mac_expand.c:805,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/util/mac_expand.c:810,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/mac_expand.c:811,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/mac_expand.c:811,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/mac_expand.c:812,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/mac_expand.c:813,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/mac_expand.c:815,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/util/mac_expand.c:816,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/util/mac_expand.c:817,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/util/mac_expand.c:818,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/mac_expand.c:818,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/util/mac_expand.c:824,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/mac_expand.c:825,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/mac_expand.c:825,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/mac_expand.c:826,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/mac_expand.c:827,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/mac_expand.c:829,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/mac_expand.c:830,1
    - Dst: mac_expand
      Src: /src/postfix/postfix/src/util/mac_expand.c:831,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/mac_expand.c:831,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/mac_expand.c:833,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/mac_expand.c:833,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/mac_expand.c:834,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/util/mac_expand.c:836,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/mac_expand.c:837,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/mac_expand.c:843,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/mac_expand.c:844,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/mac_expand.c:845,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - unused_argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 779
    functionDepth: 6
    functionLinenumber: 779
    functionLinenumberEnd: 846
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/mac_expand.c
    functionUses: 41
    functionsReached:
    - vstream_feof
    - vstring_get_nonl
    - VSTRING_LEN
    - htable_create
    - vstream_fflush
    - vstring_alloc
    - mac_expand
    - htable_free
    - exit
    - mystrtok
    - htable_enter
    - VSTRING_RESET
    - mac_expand_add_relop
    - vstream_printf
    - vstring_str
    - mystrdup
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **argv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/inet_connect.c:100,1
    - Dst: host_port
      Src: /src/postfix/postfix/src/util/inet_connect.c:101,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_connect.c:102,1
    - Dst: hostname_to_sockaddr
      Src: /src/postfix/postfix/src/util/inet_connect.c:103,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/inet_connect.c:104,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/util/inet_connect.c:105,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/inet_connect.c:106,1
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/util/inet_connect.c:111,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/util/inet_connect.c:117,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/inet_connect.c:118,1
    - Dst: SOCKADDR_TO_HOSTADDR
      Src: /src/postfix/postfix/src/util/inet_connect.c:128,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/inet_connect.c:130,1
    - Dst: inet_connect_one
      Src: /src/postfix/postfix/src/util/inet_connect.c:132,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/inet_connect.c:134,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_connect.c:139,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/util/inet_connect.c:140,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - addr
    - block_mode
    - timeout
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 142
    functionName: inet_connect
    functionSourceFile: /src/postfix/postfix/src/util/inet_connect.c
    functionUses: 3
    functionsReached:
    - inet_connect_one
    - inet_proto_info
    - msg_warn
    - MAI_STRERROR
    - strchr
    - msg_info
    - myfree
    - SOCKADDR_TO_HOSTADDR
    - msg_fatal
    - host_port
    - mystrdup
    - hostname_to_sockaddr
    - freeaddrinfo
    linkageType: ''
    returnType: int
    signature: int inet_connect(const char *addr, int block_mode, int timeout)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/postfix/postfix/src/util/inet_connect.c:153,1
    - Dst: set_inet_windowsize
      Src: /src/postfix/postfix/src/util/inet_connect.c:161,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/util/inet_connect.c:167,1
    - Dst: timed_connect
      Src: /src/postfix/postfix/src/util/inet_connect.c:168,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/inet_connect.c:169,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/util/inet_connect.c:173,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/util/inet_connect.c:181,1
    - Dst: sane_connect
      Src: /src/postfix/postfix/src/util/inet_connect.c:182,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/inet_connect.c:184,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - res
    - block_mode
    - timeout
    argTypes:
    - struct addrinfo*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 189
    functionName: inet_connect_one
    functionSourceFile: /src/postfix/postfix/src/util/inet_connect.c
    functionUses: 1
    functionsReached:
    - close
    - socket
    - sane_connect
    - non_blocking
    - set_inet_windowsize
    - timed_connect
    linkageType: ''
    returnType: int
    signature: int inet_connect_one(struct addrinfo * res, int block_mode, int timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pattern
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: MATCH_DICTIONARY
    functionSourceFile: /src/postfix/postfix/src/util/match_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DICTIONARY(pattern)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/match_ops.c:93,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/match_ops.c:99,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/util/match_ops.c:100,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/match_ops.c:101,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/match_ops.c:103,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/match_ops.c:103,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/match_ops.c:105,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/match_ops.c:105,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/match_ops.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - list
    - fmt
    argTypes:
    - MATCH_LIST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 109
    functionName: match_error
    functionSourceFile: /src/postfix/postfix/src/util/match_ops.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - msg_warn
    - vstring_vsprintf
    - vstring_alloc
    - vstring_str
    - vstring_free
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int match_error(MATCH_LIST *list, const char *fmt,...)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/match_ops.c:119,1
    - Dst: MATCH_DICTIONARY
      Src: /src/postfix/postfix/src/util/match_ops.c:124,1
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/util/match_ops.c:125,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/match_ops.c:126,1
    - Dst: dict_get
      Src: /src/postfix/postfix/src/util/match_ops.c:127,1
    - Dst: match_error
      Src: /src/postfix/postfix/src/util/match_ops.c:130,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/match_ops.c:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - list
    - string
    - pattern
    argTypes:
    - MATCH_LIST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 113
    functionDepth: 5
    functionLinenumber: 113
    functionLinenumberEnd: 147
    functionName: match_string
    functionSourceFile: /src/postfix/postfix/src/util/match_ops.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - MATCH_DICTIONARY
    - msg_info
    - match_error
    - strcmp
    - dict_get
    - dict_handle
    linkageType: ''
    returnType: int
    signature: int match_string(MATCH_LIST *list, const char *string, const char *pattern)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/match_ops.c:161,1
    - Dst: MATCH_DICTIONARY
      Src: /src/postfix/postfix/src/util/match_ops.c:168,1
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/util/match_ops.c:169,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/match_ops.c:170,1
    - Dst: dict_get
      Src: /src/postfix/postfix/src/util/match_ops.c:174,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/match_ops.c:176,1
    - Dst: match_error
      Src: /src/postfix/postfix/src/util/match_ops.c:182,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/util/match_ops.c:185,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/match_ops.c:197,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/match_ops.c:207,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/match_ops.c:207,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/match_ops.c:208,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/match_ops.c:211,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/match_ops.c:211,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/match_ops.c:212,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 39
    argCount: 3
    argNames:
    - list
    - name
    - pattern
    argTypes:
    - MATCH_LIST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 151
    functionDepth: 5
    functionLinenumber: 151
    functionLinenumberEnd: 217
    functionName: match_hostname
    functionSourceFile: /src/postfix/postfix/src/util/match_ops.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - strchr
    - strlen
    - MATCH_DICTIONARY
    - msg_info
    - match_error
    - strcmp
    - dict_get
    - dict_handle
    linkageType: ''
    returnType: int
    signature: int match_hostname(MATCH_LIST *list, const char *name, const char *pattern)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/match_ops.c:231,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/util/match_ops.c:236,1
    - Dst: MATCH_DICTIONARY
      Src: /src/postfix/postfix/src/util/match_ops.c:242,1
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/util/match_ops.c:243,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/match_ops.c:244,1
    - Dst: dict_get
      Src: /src/postfix/postfix/src/util/match_ops.c:245,1
    - Dst: match_error
      Src: /src/postfix/postfix/src/util/match_ops.c:248,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/match_ops.c:258,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/match_ops.c:261,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/util/match_ops.c:263,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/match_ops.c:264,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/util/match_ops.c:288,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/util/match_ops.c:288,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/util/match_ops.c:289,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/util/match_ops.c:290,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/util/match_ops.c:291,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/match_ops.c:301,1
    - Dst: cidr_match_parse
      Src: /src/postfix/postfix/src/util/match_ops.c:302,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/match_ops.c:304,1
    - Dst: match_error
      Src: /src/postfix/postfix/src/util/match_ops.c:307,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/match_ops.c:307,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/match_ops.c:308,1
    - Dst: cidr_match_execute
      Src: /src/postfix/postfix/src/util/match_ops.c:311,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 3
    argNames:
    - list
    - addr
    - pattern
    argTypes:
    - MATCH_LIST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 221
    functionDepth: 5
    functionLinenumber: 221
    functionLinenumberEnd: 312
    functionName: match_hostaddr
    functionSourceFile: /src/postfix/postfix/src/util/match_ops.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - strchr
    - strlen
    - strspn
    - MATCH_DICTIONARY
    - msg_info
    - myfree
    - cidr_match_parse
    - match_error
    - strcmp
    - strncmp
    - strcspn
    - cidr_match_execute
    - vstring_str
    - dict_get
    - mystrdup
    - dict_handle
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int match_hostaddr(MATCH_LIST *list, const char *addr, const char *pattern)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/spawn_command.c:144,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/spawn_command.c:148,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/spawn_command.c:150,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/spawn_command.c:154,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/spawn_command.c:156,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/spawn_command.c:159,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/spawn_command.c:162,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/spawn_command.c:165,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/spawn_command.c:168,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/spawn_command.c:170,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/spawn_command.c:173,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/spawn_command.c:175,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/spawn_command.c:178,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/spawn_command.c:181,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/spawn_command.c:184,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/spawn_command.c:187,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/spawn_command.c:190,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/spawn_command.c:194,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/spawn_command.c:196,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 3
    argNames:
    - args
    - init_key
    - ap
    argTypes:
    - struct spawn_args*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 198
    functionName: get_spawn_args
    functionSourceFile: /src/postfix/postfix/src/util/spawn_command.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - va_arg
    linkageType: ''
    returnType: void
    signature: void get_spawn_args(struct spawn_args * args, int init_key, va_list
      ap)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/spawn_command.c:217,1
    - Dst: get_spawn_args
      Src: /src/postfix/postfix/src/util/spawn_command.c:218,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/spawn_command.c:219,1
    - Dst: fork
      Src: /src/postfix/postfix/src/util/spawn_command.c:233,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/spawn_command.c:240,1
    - Dst: set_ugid
      Src: /src/postfix/postfix/src/util/spawn_command.c:248,1
    - Dst: setsid
      Src: /src/postfix/postfix/src/util/spawn_command.c:249,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/spawn_command.c:250,1
    - Dst: DUP2
      Src: /src/postfix/postfix/src/util/spawn_command.c:255,1
    - Dst: DUP2
      Src: /src/postfix/postfix/src/util/spawn_command.c:256,1
    - Dst: DUP2
      Src: /src/postfix/postfix/src/util/spawn_command.c:257,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/spawn_command.c:258,1
    - Dst: clean_env
      Src: /src/postfix/postfix/src/util/spawn_command.c:265,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/util/spawn_command.c:266,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/spawn_command.c:267,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/util/spawn_command.c:270,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/spawn_command.c:271,1
    - Dst: closelog
      Src: /src/postfix/postfix/src/util/spawn_command.c:276,1
    - Dst: execvp
      Src: /src/postfix/postfix/src/util/spawn_command.c:278,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/spawn_command.c:279,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/util/spawn_command.c:281,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/spawn_command.c:282,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/util/spawn_command.c:283,1
    - Dst: execvp
      Src: /src/postfix/postfix/src/util/spawn_command.c:284,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/spawn_command.c:285,1
    - Dst: exec_command
      Src: /src/postfix/postfix/src/util/spawn_command.c:287,1
    - Dst: timed_waitpid
      Src: /src/postfix/postfix/src/util/spawn_command.c:304,1
    - Dst: geteuid
      Src: /src/postfix/postfix/src/util/spawn_command.c:306,1
    - Dst: getegid
      Src: /src/postfix/postfix/src/util/spawn_command.c:307,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/spawn_command.c:309,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/util/spawn_command.c:311,1
    - Dst: kill
      Src: /src/postfix/postfix/src/util/spawn_command.c:312,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/spawn_command.c:313,1
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/util/spawn_command.c:314,1
    - Dst: waitpid
      Src: /src/postfix/postfix/src/util/spawn_command.c:315,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/spawn_command.c:318,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 202
    functionDepth: 5
    functionLinenumber: 202
    functionLinenumberEnd: 321
    functionName: spawn_command
    functionSourceFile: /src/postfix/postfix/src/util/spawn_command.c
    functionUses: 0
    functionsReached:
    - fork
    - kill
    - setsid
    - get_spawn_args
    - set_ugid
    - DUP2
    - argv_terminate
    - setenv
    - va_start
    - clean_env
    - exec_command
    - closelog
    - timed_waitpid
    - getegid
    - execvp
    - argv_split
    - set_eugid
    - va_end
    - waitpid
    - msg_warn
    - geteuid
    - argv_add
    - msg_fatal
    linkageType: ''
    returnType: WAIT_STATUS_T
    signature: WAIT_STATUS_T spawn_command(int key,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ep
    - ','
    - path
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: EDIT_FILE_ALLOC
    functionSourceFile: /src/postfix/postfix/src/util/edit_file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EDIT_FILE_ALLOC(ep, path, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ep
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: EDIT_FILE_FREE
    functionSourceFile: /src/postfix/postfix/src/util/edit_file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EDIT_FILE_FREE(ep)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EDIT_FILE_ALLOC
      Src: /src/postfix/postfix/src/util/edit_file.c:200,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/edit_file.c:209,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/util/edit_file.c:225,1
    - Dst: EDIT_FILE_FREE
      Src: /src/postfix/postfix/src/util/edit_file.c:228,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/edit_file.c:238,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/edit_file.c:238,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/edit_file.c:240,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/util/edit_file.c:247,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/edit_file.c:247,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/edit_file.c:248,1
    - Dst: stat
      Src: /src/postfix/postfix/src/util/edit_file.c:249,1
    - Dst: S_ISREG
      Src: /src/postfix/postfix/src/util/edit_file.c:282,1
    - Dst: unlink
      Src: /src/postfix/postfix/src/util/edit_file.c:288,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/edit_file.c:289,1
    - Dst: ftruncate
      Src: /src/postfix/postfix/src/util/edit_file.c:297,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/edit_file.c:297,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/edit_file.c:298,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 3
    argNames:
    - path
    - flags
    - mode
    argTypes:
    - char*
    - int
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 302
    functionName: edit_file_open
    functionSourceFile: /src/postfix/postfix/src/util/edit_file.c
    functionUses: 2
    functionsReached:
    - stat
    - myflock
    - S_ISREG
    - vstream_fclose
    - unlink
    - EDIT_FILE_FREE
    - EDIT_FILE_ALLOC
    - fstat
    - vstream_fileno
    - msg_fatal
    - vstream_fopen
    - ftruncate
    linkageType: ''
    returnType: EDIT_FILE
    signature: EDIT_FILE *edit_file_open(const char *path, int flags, mode_t mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/postfix/postfix/src/util/edit_file.c:312,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/edit_file.c:313,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/edit_file.c:314,1
    - Dst: EDIT_FILE_FREE
      Src: /src/postfix/postfix/src/util/edit_file.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ep
    argTypes:
    - EDIT_FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 316
    functionName: edit_file_cleanup
    functionSourceFile: /src/postfix/postfix/src/util/edit_file.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - vstream_fclose
    - EDIT_FILE_FREE
    - unlink
    linkageType: ''
    returnType: void
    signature: void edit_file_cleanup(EDIT_FILE *ep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/edit_file.c:323,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/edit_file.c:338,1
    - Dst: fchmod
      Src: /src/postfix/postfix/src/util/edit_file.c:339,1
    - Dst: fsync
      Src: /src/postfix/postfix/src/util/edit_file.c:341,1
    - Dst: rename
      Src: /src/postfix/postfix/src/util/edit_file.c:343,1
    - Dst: edit_file_cleanup
      Src: /src/postfix/postfix/src/util/edit_file.c:345,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/edit_file.c:349,1
    - Dst: EDIT_FILE_FREE
      Src: /src/postfix/postfix/src/util/edit_file.c:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ep
    argTypes:
    - EDIT_FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 353
    functionName: edit_file_close
    functionSourceFile: /src/postfix/postfix/src/util/edit_file.c
    functionUses: 2
    functionsReached:
    - rename
    - vstream_fflush
    - vstream_fclose
    - fchmod
    - EDIT_FILE_FREE
    - vstream_fileno
    - fsync
    - edit_file_cleanup
    linkageType: ''
    returnType: int
    signature: int edit_file_close(EDIT_FILE *ep)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rename
      Src: /src/postfix/postfix/src/util/sane_rename.c:50,1
    - Dst: stat
      Src: /src/postfix/postfix/src/util/sane_rename.c:58,1
    - Dst: stat
      Src: /src/postfix/postfix/src/util/sane_rename.c:58,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/sane_rename.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 69
    functionName: sane_rename
    functionSourceFile: /src/postfix/postfix/src/util/sane_rename.c
    functionUses: 4
    functionsReached:
    - stat
    - rename
    - msg_info
    linkageType: ''
    returnType: int
    signature: int sane_rename(const char *from, const char *to)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_utf8_char
      Src: /src/postfix/postfix/src/util/valid_utf8_string.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 77
    functionName: valid_utf8_string
    functionSourceFile: /src/postfix/postfix/src/util/valid_utf8_string.c
    functionUses: 1
    functionsReached:
    - parse_utf8_char
    linkageType: ''
    returnType: int
    signature: int valid_utf8_string(const char *str, ssize_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_utf8_char
      Src: /src/postfix/postfix/src/util/valid_utf8_string.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: valid_utf8_stringz
    functionSourceFile: /src/postfix/postfix/src/util/valid_utf8_string.c
    functionUses: 19
    functionsReached:
    - parse_utf8_char
    linkageType: ''
    returnType: int
    signature: int valid_utf8_stringz(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: valid_to_str
    functionSourceFile: /src/postfix/postfix/src/util/valid_utf8_string.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: valid_to_str(v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/valid_utf8_string.c:195,1
    - Dst: basename
      Src: /src/postfix/postfix/src/util/valid_utf8_string.c:195,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/valid_utf8_string.c:209,1
    - Dst: valid_utf8_string
      Src: /src/postfix/postfix/src/util/valid_utf8_string.c:210,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/valid_utf8_string.c:210,1
    - Dst: valid_utf8_stringz
      Src: /src/postfix/postfix/src/util/valid_utf8_string.c:211,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/valid_utf8_string.c:214,1
    - Dst: valid_to_str
      Src: /src/postfix/postfix/src/util/valid_utf8_string.c:216,1
    - Dst: valid_to_str
      Src: /src/postfix/postfix/src/util/valid_utf8_string.c:217,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/valid_utf8_string.c:219,1
    - Dst: valid_to_str
      Src: /src/postfix/postfix/src/util/valid_utf8_string.c:221,1
    - Dst: valid_to_str
      Src: /src/postfix/postfix/src/util/valid_utf8_string.c:222,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/valid_utf8_string.c:224,1
    - Dst: valid_to_str
      Src: /src/postfix/postfix/src/util/valid_utf8_string.c:225,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/valid_utf8_string.c:229,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/valid_utf8_string.c:232,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/valid_utf8_string.c:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 238
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/valid_utf8_string.c
    functionUses: 41
    functionsReached:
    - strlen
    - vstream_fprintf
    - basename
    - valid_utf8_string
    - msg_vstream_init
    - msg_info
    - valid_to_str
    - valid_utf8_stringz
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/postfix/postfix/src/util/close_on_exec.c:53,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/close_on_exec.c:54,1
    - Dst: fcntl
      Src: /src/postfix/postfix/src/util/close_on_exec.c:55,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/close_on_exec.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - 'on'
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: close_on_exec
    functionSourceFile: /src/postfix/postfix/src/util/close_on_exec.c
    functionUses: 35
    functionsReached:
    - fcntl
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int close_on_exec(int fd, int on)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geteuid
      Src: /src/postfix/postfix/src/util/set_eugid.c:58,1
    - Dst: seteuid
      Src: /src/postfix/postfix/src/util/set_eugid.c:59,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/set_eugid.c:60,1
    - Dst: setegid
      Src: /src/postfix/postfix/src/util/set_eugid.c:61,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/set_eugid.c:62,1
    - Dst: setgroups
      Src: /src/postfix/postfix/src/util/set_eugid.c:63,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/set_eugid.c:64,1
    - Dst: seteuid
      Src: /src/postfix/postfix/src/util/set_eugid.c:65,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/set_eugid.c:66,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/set_eugid.c:68,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - euid
    - egid
    argTypes:
    - uid_t
    - gid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: set_eugid
    functionSourceFile: /src/postfix/postfix/src/util/set_eugid.c
    functionUses: 21
    functionsReached:
    - geteuid
    - setgroups
    - msg_info
    - seteuid
    - msg_fatal
    - setegid
    linkageType: ''
    returnType: void
    signature: void set_eugid(uid_t euid, gid_t egid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: CA_SPAWN_CMD_ARGV
    functionSourceFile: /src/postfix/postfix/src/util/spawn_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_SPAWN_CMD_ARGV(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: CA_SPAWN_CMD_COMMAND
    functionSourceFile: /src/postfix/postfix/src/util/spawn_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_SPAWN_CMD_COMMAND(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: CA_SPAWN_CMD_STDIN
    functionSourceFile: /src/postfix/postfix/src/util/spawn_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_SPAWN_CMD_STDIN(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: CA_SPAWN_CMD_STDOUT
    functionSourceFile: /src/postfix/postfix/src/util/spawn_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_SPAWN_CMD_STDOUT(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: CA_SPAWN_CMD_STDERR
    functionSourceFile: /src/postfix/postfix/src/util/spawn_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_SPAWN_CMD_STDERR(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: CA_SPAWN_CMD_UID
    functionSourceFile: /src/postfix/postfix/src/util/spawn_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_SPAWN_CMD_UID(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: CA_SPAWN_CMD_GID
    functionSourceFile: /src/postfix/postfix/src/util/spawn_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_SPAWN_CMD_GID(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: CA_SPAWN_CMD_TIME_LIMIT
    functionSourceFile: /src/postfix/postfix/src/util/spawn_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_SPAWN_CMD_TIME_LIMIT(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: CA_SPAWN_CMD_ENV
    functionSourceFile: /src/postfix/postfix/src/util/spawn_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_SPAWN_CMD_ENV(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: CA_SPAWN_CMD_SHELL
    functionSourceFile: /src/postfix/postfix/src/util/spawn_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_SPAWN_CMD_SHELL(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: CA_SPAWN_CMD_EXPORT
    functionSourceFile: /src/postfix/postfix/src/util/spawn_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_SPAWN_CMD_EXPORT(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pattern
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: MATCH_DICTIONARY
    functionSourceFile: /src/postfix/postfix/src/util/match_list.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DICTIONARY(pattern)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/match_list.c:121,1
    - Dst: mystrtokq_cw
      Src: /src/postfix/postfix/src/util/match_list.c:147,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/match_list.c:153,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/util/match_list.c:155,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/match_list.c:157,1
    - Dst: dict_handle
      Src: /src/postfix/postfix/src/util/match_list.c:158,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/match_list.c:158,1
    - Dst: dict_register
      Src: /src/postfix/postfix/src/util/match_list.c:159,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/match_list.c:159,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/match_list.c:160,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/match_list.c:163,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/match_list.c:163,1
    - Dst: readlline
      Src: /src/postfix/postfix/src/util/match_list.c:165,1
    - Dst: match_list_parse
      Src: /src/postfix/postfix/src/util/match_list.c:166,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/match_list.c:167,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/match_list.c:168,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/match_list.c:169,1
    - Dst: MATCH_DICTIONARY
      Src: /src/postfix/postfix/src/util/match_list.c:171,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/match_list.c:172,1
    - Dst: dict_open
      Src: /src/postfix/postfix/src/util/match_list.c:173,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/match_list.c:174,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/match_list.c:174,1
    - Dst: casefold
      Src: /src/postfix/postfix/src/util/match_list.c:176,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/match_list.c:177,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/match_list.c:177,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/match_list.c:178,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/match_list.c:178,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/match_list.c:181,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - match_list
    - pat_list
    - string
    - init_match
    argTypes:
    - MATCH_LIST*
    - ARGV*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 117
    functionDepth: 6
    functionLinenumber: 117
    functionLinenumberEnd: 183
    functionName: match_list_parse
    functionSourceFile: /src/postfix/postfix/src/util/match_list.c
    functionUses: 1
    functionsReached:
    - vstring_sprintf
    - vstring_str
    - dict_open
    - MATCH_DICTIONARY
    - mystrtokq_cw
    - vstring_alloc
    - match_list_parse
    - dict_register
    - vstream_fclose
    - dict_surrogate
    - readlline
    - argv_add
    - casefold
    - msg_fatal
    - vstream_fopen
    - dict_handle
    - vstring_free
    - STR
    linkageType: ''
    returnType: ARGV
    signature: "ARGV *match_list_parse(MATCH_LIST *match_list, ARGV *pat_list,\n\t\t\t
      \             char *string, int init_match)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/util/match_list.c
    functionUses: 539
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/match_list.c:196,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/match_list.c:198,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/match_list.c:199,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/match_list.c:203,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/match_list.c:205,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/match_list.c:206,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/match_list.c:208,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/match_list.c:209,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/match_list.c:211,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/match_list.c:215,1
    - Dst: match_list_parse
      Src: /src/postfix/postfix/src/util/match_list.c:216,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/util/match_list.c:216,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/util/match_list.c:218,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/match_list.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - pname
    - flags
    - patterns
    - match_count
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 187
    functionDepth: 7
    functionLinenumber: 187
    functionLinenumberEnd: 221
    functionName: match_list_init
    functionSourceFile: /src/postfix/postfix/src/util/match_list.c
    functionUses: 3
    functionsReached:
    - msg_panic
    - va_start
    - va_end
    - va_arg
    - vstring_alloc
    - match_list_parse
    - myfree
    - argv_alloc
    - mymalloc
    - mystrdup
    - argv_terminate
    linkageType: ''
    returnType: MATCH_LIST
    signature: "MATCH_LIST *match_list_init(const char *pname, int flags,\n\t\t\t
      \         const char *patterns, int match_count,...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/match_list.c:237,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/match_list.c:239,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/match_list.c:240,1
    - Dst: casefold
      Src: /src/postfix/postfix/src/util/match_list.c:247,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/match_list.c:248,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/match_list.c:256,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - list
    argTypes:
    - MATCH_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 258
    functionName: match_list_match
    functionSourceFile: /src/postfix/postfix/src/util/match_list.c
    functionUses: 5
    functionsReached:
    - va_start
    - va_end
    - va_arg
    - msg_info
    - casefold
    - STR
    linkageType: ''
    returnType: int
    signature: int match_list_match(MATCH_LIST *list,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/match_list.c:265,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/util/match_list.c:266,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/match_list.c:267,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/match_list.c:268,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/match_list.c:269,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/match_list.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - list
    argTypes:
    - MATCH_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: match_list_free
    functionSourceFile: /src/postfix/postfix/src/util/match_list.c
    functionUses: 2
    functionsReached:
    - myfree
    - vstring_free
    - argv_free
    linkageType: ''
    returnType: void
    signature: void match_list_free(MATCH_LIST *list)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_unix.c:79,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_unix.c:80,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_unix.c:81,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_unix.c:81,1
    - Dst: getpwnam
      Src: /src/postfix/postfix/src/util/dict_unix.c:83,1
    - Dst: getpwuid
      Src: /src/postfix/postfix/src/util/dict_unix.c:87,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_unix.c:88,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_unix.c:95,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/dict_unix.c:97,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_unix.c:101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - dict
    - key
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 103
    functionName: dict_unix_getpwnam
    functionSourceFile: /src/postfix/postfix/src/util/dict_unix.c
    functionUses: 0
    functionsReached:
    - getpwuid
    - getpwnam
    - msg_warn
    - vstring_sprintf
    - vstring_alloc
    - vstring_strcpy
    - vstring_str
    - lowercase
    linkageType: ''
    returnType: char
    signature: char *dict_unix_getpwnam(DICT *dict, const char *key)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_unix.c:121,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_unix.c:122,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_unix.c:123,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_unix.c:123,1
    - Dst: getgrnam
      Src: /src/postfix/postfix/src/util/dict_unix.c:125,1
    - Dst: getgrgid
      Src: /src/postfix/postfix/src/util/dict_unix.c:129,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_unix.c:130,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_unix.c:137,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/dict_unix.c:139,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/util/dict_unix.c:142,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/dict_unix.c:144,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/dict_unix.c:146,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_unix.c:147,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - dict
    - key
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 149
    functionName: dict_unix_getgrnam
    functionSourceFile: /src/postfix/postfix/src/util/dict_unix.c
    functionUses: 0
    functionsReached:
    - getgrgid
    - VSTRING_ADDCH
    - msg_warn
    - vstring_sprintf
    - vstring_alloc
    - getgrnam
    - vstring_strcat
    - VSTRING_TERMINATE
    - vstring_strcpy
    - vstring_str
    - lowercase
    linkageType: ''
    returnType: char
    signature: char *dict_unix_getgrnam(DICT *dict, const char *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_unix.c:156,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/util/dict_unix.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: dict_unix_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_unix.c
    functionUses: 0
    functionsReached:
    - dict_free
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_unix_close(DICT *dict)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_unix.c:180,1
    - Dst: dict_surrogate
      Src: /src/postfix/postfix/src/util/dict_unix.c:189,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/dict_unix.c:191,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/util/dict_unix.c:194,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_unix.c:200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - map
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 204
    functionName: dict_unix_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_unix.c
    functionUses: 0
    functionsReached:
    - dict_surrogate
    - strcmp
    - vstring_alloc
    - dict_alloc
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_unix_open(const char *map, int open_flags, int dict_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe
      Src: /src/postfix/postfix/src/util/safe_getenv.c:40,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/util/safe_getenv.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: safe_getenv
    functionSourceFile: /src/postfix/postfix/src/util/safe_getenv.c
    functionUses: 11
    functionsReached:
    - unsafe
    - getenv
    linkageType: ''
    returnType: char
    signature: char *safe_getenv(const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/line_number.c:59,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/line_number.c:66,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/line_number.c:68,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/line_number.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - result
    - first
    - last
    argTypes:
    - VSTRING*
    - ssize_t
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 71
    functionName: format_line_number
    functionSourceFile: /src/postfix/postfix/src/util/line_number.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf_append
    - vstring_sprintf
    - vstring_str
    - vstring_alloc
    linkageType: ''
    returnType: char
    signature: char *format_line_number(VSTRING *result, ssize_t first, ssize_t last)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - slmdb
    - ','
    - status
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: SLMDB_API_RETURN
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLMDB_API_RETURN(slmdb, status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mdb_cursor_txn
      Src: /src/postfix/postfix/src/util/slmdb.c:324,1
    - Dst: mdb_cursor_close
      Src: /src/postfix/postfix/src/util/slmdb.c:325,1
    - Dst: mdb_txn_abort
      Src: /src/postfix/postfix/src/util/slmdb.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - slmdb
    argTypes:
    - SLMDB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 328
    functionName: slmdb_cursor_close
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.c
    functionUses: 0
    functionsReached:
    - mdb_cursor_txn
    - mdb_txn_abort
    - mdb_cursor_close
    linkageType: ''
    returnType: void
    signature: void slmdb_cursor_close(SLMDB *slmdb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - slmdb
    argTypes:
    - SLMDB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 337
    functionName: slmdb_saved_key_init
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void slmdb_saved_key_init(SLMDB *slmdb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/postfix/postfix/src/util/slmdb.c:343,1
    - Dst: slmdb_saved_key_init
      Src: /src/postfix/postfix/src/util/slmdb.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - slmdb
    argTypes:
    - SLMDB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: slmdb_saved_key_free
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.c
    functionUses: 0
    functionsReached:
    - free
    - slmdb_saved_key_init
    linkageType: ''
    returnType: void
    signature: void slmdb_saved_key_free(SLMDB *slmdb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 348
    functionName: HAVE_SLMDB_SAVED_KEY
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAVE_SLMDB_SAVED_KEY(s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postfix/postfix/src/util/slmdb.c:360,1
    - Dst: realloc
      Src: /src/postfix/postfix/src/util/slmdb.c:363,1
    - Dst: slmdb_saved_key_init
      Src: /src/postfix/postfix/src/util/slmdb.c:365,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/slmdb.c:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - slmdb
    - key_val
    argTypes:
    - SLMDB*
    - MDB_val*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 378
    functionName: slmdb_saved_key_assign
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.c
    functionUses: 0
    functionsReached:
    - malloc
    - slmdb_saved_key_init
    - realloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: int slmdb_saved_key_assign(SLMDB *slmdb, MDB_val *key_val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mdb_drop
      Src: /src/postfix/postfix/src/util/slmdb.c:399,1
    - Dst: mdb_txn_abort
      Src: /src/postfix/postfix/src/util/slmdb.c:400,1
    - Dst: mdb_txn_commit
      Src: /src/postfix/postfix/src/util/slmdb.c:405,1
    - Dst: mdb_txn_abort
      Src: /src/postfix/postfix/src/util/slmdb.c:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - slmdb
    argTypes:
    - SLMDB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 416
    functionName: slmdb_prepare
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.c
    functionUses: 0
    functionsReached:
    - mdb_txn_abort
    - mdb_txn_commit
    - mdb_drop
    linkageType: ''
    returnType: int
    signature: int slmdb_prepare(SLMDB *slmdb)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: slmdb_cursor_close
      Src: /src/postfix/postfix/src/util/slmdb.c:430,1
    - Dst: SLMDB*::notify_fn
      Src: /src/postfix/postfix/src/util/slmdb.c:466,1
    - Dst: mdb_env_set_mapsize
      Src: /src/postfix/postfix/src/util/slmdb.c:468,1
    - Dst: mdb_env_set_mapsize
      Src: /src/postfix/postfix/src/util/slmdb.c:482,1
    - Dst: mdb_env_info
      Src: /src/postfix/postfix/src/util/slmdb.c:484,1
    - Dst: SLMDB*::notify_fn
      Src: /src/postfix/postfix/src/util/slmdb.c:487,1
    - Dst: SLMDB*::notify_fn
      Src: /src/postfix/postfix/src/util/slmdb.c:499,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/util/slmdb.c:500,1
    - Dst: mdb_txn_begin
      Src: /src/postfix/postfix/src/util/slmdb.c:534,1
    - Dst: slmdb_prepare
      Src: /src/postfix/postfix/src/util/slmdb.c:537,1
    - Dst: SLMDB*::longjmp_fn
      Src: /src/postfix/postfix/src/util/slmdb.c:538,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 2
    argNames:
    - slmdb
    - status
    argTypes:
    - SLMDB*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 541
    functionName: slmdb_recover
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.c
    functionUses: 0
    functionsReached:
    - sleep
    - slmdb_prepare
    - slmdb_cursor_close
    - mdb_env_info
    - SLMDB*::longjmp_fn
    - mdb_env_set_mapsize
    - mdb_txn_begin
    - SLMDB*::notify_fn
    linkageType: ''
    returnType: int
    signature: int slmdb_recover(SLMDB *slmdb, int status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mdb_txn_begin
      Src: /src/postfix/postfix/src/util/slmdb.c:549,1
    - Dst: slmdb_recover
      Src: /src/postfix/postfix/src/util/slmdb.c:550,1
    - Dst: slmdb_txn_begin
      Src: /src/postfix/postfix/src/util/slmdb.c:551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - slmdb
    - rdonly
    - txn
    argTypes:
    - SLMDB*
    - int
    - MDB_txn**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 554
    functionName: slmdb_txn_begin
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.c
    functionUses: 1
    functionsReached:
    - mdb_txn_begin
    - slmdb_txn_begin
    - slmdb_recover
    linkageType: ''
    returnType: int
    signature: int slmdb_txn_begin(SLMDB *slmdb, int rdonly, MDB_txn **txn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: slmdb_txn_begin
      Src: /src/postfix/postfix/src/util/slmdb.c:568,1
    - Dst: SLMDB_API_RETURN
      Src: /src/postfix/postfix/src/util/slmdb.c:569,1
    - Dst: mdb_get
      Src: /src/postfix/postfix/src/util/slmdb.c:574,1
    - Dst: mdb_txn_abort
      Src: /src/postfix/postfix/src/util/slmdb.c:576,1
    - Dst: slmdb_recover
      Src: /src/postfix/postfix/src/util/slmdb.c:579,1
    - Dst: slmdb_get
      Src: /src/postfix/postfix/src/util/slmdb.c:580,1
    - Dst: SLMDB_API_RETURN
      Src: /src/postfix/postfix/src/util/slmdb.c:581,1
    - Dst: mdb_txn_abort
      Src: /src/postfix/postfix/src/util/slmdb.c:588,1
    - Dst: SLMDB_API_RETURN
      Src: /src/postfix/postfix/src/util/slmdb.c:590,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - slmdb
    - mdb_key
    - mdb_value
    argTypes:
    - SLMDB*
    - MDB_val*
    - MDB_val*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 558
    functionDepth: 3
    functionLinenumber: 558
    functionLinenumberEnd: 591
    functionName: slmdb_get
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.c
    functionUses: 2
    functionsReached:
    - SLMDB_API_RETURN
    - slmdb_txn_begin
    - mdb_txn_abort
    - slmdb_get
    - mdb_get
    - slmdb_recover
    linkageType: ''
    returnType: int
    signature: int slmdb_get(SLMDB *slmdb, MDB_val *mdb_key, MDB_val *mdb_value)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: slmdb_txn_begin
      Src: /src/postfix/postfix/src/util/slmdb.c:606,1
    - Dst: SLMDB_API_RETURN
      Src: /src/postfix/postfix/src/util/slmdb.c:607,1
    - Dst: mdb_put
      Src: /src/postfix/postfix/src/util/slmdb.c:612,1
    - Dst: mdb_txn_abort
      Src: /src/postfix/postfix/src/util/slmdb.c:614,1
    - Dst: slmdb_recover
      Src: /src/postfix/postfix/src/util/slmdb.c:617,1
    - Dst: slmdb_put
      Src: /src/postfix/postfix/src/util/slmdb.c:618,1
    - Dst: SLMDB_API_RETURN
      Src: /src/postfix/postfix/src/util/slmdb.c:619,1
    - Dst: mdb_txn_abort
      Src: /src/postfix/postfix/src/util/slmdb.c:623,1
    - Dst: mdb_txn_commit
      Src: /src/postfix/postfix/src/util/slmdb.c:630,1
    - Dst: slmdb_recover
      Src: /src/postfix/postfix/src/util/slmdb.c:631,1
    - Dst: slmdb_put
      Src: /src/postfix/postfix/src/util/slmdb.c:632,1
    - Dst: SLMDB_API_RETURN
      Src: /src/postfix/postfix/src/util/slmdb.c:634,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - slmdb
    - mdb_key
    - mdb_value
    - flags
    argTypes:
    - SLMDB*
    - MDB_val*
    - MDB_val*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 595
    functionDepth: 3
    functionLinenumber: 595
    functionLinenumberEnd: 635
    functionName: slmdb_put
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.c
    functionUses: 2
    functionsReached:
    - SLMDB_API_RETURN
    - mdb_txn_commit
    - slmdb_put
    - mdb_put
    - slmdb_txn_begin
    - mdb_txn_abort
    - slmdb_recover
    linkageType: ''
    returnType: int
    signature: "int slmdb_put(SLMDB *slmdb, MDB_val *mdb_key,\n\t\t          MDB_val
      *mdb_value, int flags)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: slmdb_txn_begin
      Src: /src/postfix/postfix/src/util/slmdb.c:649,1
    - Dst: SLMDB_API_RETURN
      Src: /src/postfix/postfix/src/util/slmdb.c:650,1
    - Dst: mdb_del
      Src: /src/postfix/postfix/src/util/slmdb.c:655,1
    - Dst: mdb_txn_abort
      Src: /src/postfix/postfix/src/util/slmdb.c:657,1
    - Dst: slmdb_recover
      Src: /src/postfix/postfix/src/util/slmdb.c:660,1
    - Dst: slmdb_del
      Src: /src/postfix/postfix/src/util/slmdb.c:661,1
    - Dst: SLMDB_API_RETURN
      Src: /src/postfix/postfix/src/util/slmdb.c:662,1
    - Dst: mdb_txn_abort
      Src: /src/postfix/postfix/src/util/slmdb.c:666,1
    - Dst: mdb_txn_commit
      Src: /src/postfix/postfix/src/util/slmdb.c:673,1
    - Dst: slmdb_recover
      Src: /src/postfix/postfix/src/util/slmdb.c:674,1
    - Dst: slmdb_del
      Src: /src/postfix/postfix/src/util/slmdb.c:675,1
    - Dst: SLMDB_API_RETURN
      Src: /src/postfix/postfix/src/util/slmdb.c:677,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - slmdb
    - mdb_key
    argTypes:
    - SLMDB*
    - MDB_val*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 639
    functionDepth: 3
    functionLinenumber: 639
    functionLinenumberEnd: 678
    functionName: slmdb_del
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.c
    functionUses: 2
    functionsReached:
    - SLMDB_API_RETURN
    - mdb_txn_commit
    - slmdb_txn_begin
    - slmdb_del
    - mdb_txn_abort
    - mdb_del
    - slmdb_recover
    linkageType: ''
    returnType: int
    signature: int slmdb_del(SLMDB *slmdb, MDB_val *mdb_key)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: SLMDB*::assert_fn
      Src: /src/postfix/postfix/src/util/slmdb.c:693,1
    - Dst: slmdb_txn_begin
      Src: /src/postfix/postfix/src/util/slmdb.c:702,1
    - Dst: SLMDB_API_RETURN
      Src: /src/postfix/postfix/src/util/slmdb.c:703,1
    - Dst: mdb_cursor_open
      Src: /src/postfix/postfix/src/util/slmdb.c:704,1
    - Dst: mdb_txn_abort
      Src: /src/postfix/postfix/src/util/slmdb.c:705,1
    - Dst: slmdb_recover
      Src: /src/postfix/postfix/src/util/slmdb.c:706,1
    - Dst: slmdb_cursor_get
      Src: /src/postfix/postfix/src/util/slmdb.c:707,1
    - Dst: SLMDB_API_RETURN
      Src: /src/postfix/postfix/src/util/slmdb.c:708,1
    - Dst: HAVE_SLMDB_SAVED_KEY
      Src: /src/postfix/postfix/src/util/slmdb.c:714,1
    - Dst: mdb_cursor_get
      Src: /src/postfix/postfix/src/util/slmdb.c:715,1
    - Dst: mdb_cursor_get
      Src: /src/postfix/postfix/src/util/slmdb.c:723,1
    - Dst: slmdb_saved_key_assign
      Src: /src/postfix/postfix/src/util/slmdb.c:733,1
    - Dst: slmdb_cursor_close
      Src: /src/postfix/postfix/src/util/slmdb.c:735,1
    - Dst: slmdb_cursor_close
      Src: /src/postfix/postfix/src/util/slmdb.c:744,1
    - Dst: HAVE_SLMDB_SAVED_KEY
      Src: /src/postfix/postfix/src/util/slmdb.c:745,1
    - Dst: slmdb_saved_key_free
      Src: /src/postfix/postfix/src/util/slmdb.c:746,1
    - Dst: slmdb_cursor_close
      Src: /src/postfix/postfix/src/util/slmdb.c:748,1
    - Dst: slmdb_recover
      Src: /src/postfix/postfix/src/util/slmdb.c:749,1
    - Dst: slmdb_cursor_get
      Src: /src/postfix/postfix/src/util/slmdb.c:750,1
    - Dst: SLMDB_API_RETURN
      Src: /src/postfix/postfix/src/util/slmdb.c:751,1
    - Dst: SLMDB_API_RETURN
      Src: /src/postfix/postfix/src/util/slmdb.c:755,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 4
    argNames:
    - slmdb
    - mdb_key
    - mdb_value
    - op
    argTypes:
    - SLMDB*
    - MDB_val*
    - MDB_val*
    - MDB_cursor_op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 682
    functionDepth: 3
    functionLinenumber: 682
    functionLinenumberEnd: 756
    functionName: slmdb_cursor_get
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.c
    functionUses: 2
    functionsReached:
    - HAVE_SLMDB_SAVED_KEY
    - SLMDB_API_RETURN
    - slmdb_saved_key_assign
    - SLMDB*::assert_fn
    - slmdb_cursor_close
    - mdb_cursor_get
    - slmdb_txn_begin
    - mdb_txn_abort
    - slmdb_saved_key_free
    - slmdb_cursor_get
    - mdb_cursor_open
    - slmdb_recover
    linkageType: ''
    returnType: int
    signature: "int slmdb_cursor_get(SLMDB *slmdb, MDB_val *mdb_key,\n\t\t\t         MDB_val
      *mdb_value, MDB_cursor_op op)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mdb_env_get_userctx
      Src: /src/postfix/postfix/src/util/slmdb.c:762,1
    - Dst: SLMDB*::assert_fn
      Src: /src/postfix/postfix/src/util/slmdb.c:765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - env
    - text
    argTypes:
    - MDB_env*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 766
    functionName: slmdb_assert_cb
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.c
    functionUses: 0
    functionsReached:
    - mdb_env_get_userctx
    - SLMDB*::assert_fn
    linkageType: ''
    returnType: void
    signature: void slmdb_assert_cb(MDB_env *env, const char *text)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/slmdb.c:777,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/slmdb.c:778,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/slmdb.c:781,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/slmdb.c:784,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/slmdb.c:787,1
    - Dst: mdb_env_set_userctx
      Src: /src/postfix/postfix/src/util/slmdb.c:788,1
    - Dst: mdb_env_set_assert
      Src: /src/postfix/postfix/src/util/slmdb.c:789,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/slmdb.c:793,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/slmdb.c:796,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/slmdb.c:799,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/slmdb.c:806,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - slmdb
    - first
    argTypes:
    - SLMDB*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 808
    functionName: slmdb_control
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    - mdb_env_set_assert
    - va_arg
    - mdb_env_set_userctx
    linkageType: ''
    returnType: int
    signature: int slmdb_control(SLMDB *slmdb, int first,...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mdb_txn_commit
      Src: /src/postfix/postfix/src/util/slmdb.c:822,1
    - Dst: slmdb_recover
      Src: /src/postfix/postfix/src/util/slmdb.c:823,1
    - Dst: slmdb_cursor_close
      Src: /src/postfix/postfix/src/util/slmdb.c:829,1
    - Dst: mdb_env_close
      Src: /src/postfix/postfix/src/util/slmdb.c:831,1
    - Dst: HAVE_SLMDB_SAVED_KEY
      Src: /src/postfix/postfix/src/util/slmdb.c:836,1
    - Dst: slmdb_saved_key_free
      Src: /src/postfix/postfix/src/util/slmdb.c:837,1
    - Dst: SLMDB_API_RETURN
      Src: /src/postfix/postfix/src/util/slmdb.c:839,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - slmdb
    argTypes:
    - SLMDB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 812
    functionDepth: 2
    functionLinenumber: 812
    functionLinenumberEnd: 840
    functionName: slmdb_close
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.c
    functionUses: 1
    functionsReached:
    - HAVE_SLMDB_SAVED_KEY
    - mdb_txn_commit
    - SLMDB_API_RETURN
    - slmdb_cursor_close
    - slmdb_saved_key_free
    - mdb_env_close
    - slmdb_recover
    linkageType: ''
    returnType: int
    signature: int slmdb_close(SLMDB *slmdb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - slmdb
    - curr_limit
    - size_incr
    - hard_limit
    argTypes:
    - SLMDB*
    - size_t
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 857
    functionName: slmdb_init
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int slmdb_init(SLMDB *slmdb, size_t curr_limit, int size_incr,\n\t\t
      \          size_t hard_limit)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mdb_env_create
      Src: /src/postfix/postfix/src/util/slmdb.c:874,1
    - Dst: stat
      Src: /src/postfix/postfix/src/util/slmdb.c:886,1
    - Dst: mdb_env_set_mapsize
      Src: /src/postfix/postfix/src/util/slmdb.c:901,1
    - Dst: mdb_env_open
      Src: /src/postfix/postfix/src/util/slmdb.c:902,1
    - Dst: mdb_txn_begin
      Src: /src/postfix/postfix/src/util/slmdb.c:903,1
    - Dst: mdb_open
      Src: /src/postfix/postfix/src/util/slmdb.c:905,1
    - Dst: mdb_env_get_fd
      Src: /src/postfix/postfix/src/util/slmdb.c:906,1
    - Dst: mdb_env_close
      Src: /src/postfix/postfix/src/util/slmdb.c:907,1
    - Dst: slmdb_saved_key_init
      Src: /src/postfix/postfix/src/util/slmdb.c:921,1
    - Dst: slmdb_prepare
      Src: /src/postfix/postfix/src/util/slmdb.c:932,1
    - Dst: mdb_env_close
      Src: /src/postfix/postfix/src/util/slmdb.c:933,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 5
    argNames:
    - slmdb
    - path
    - open_flags
    - lmdb_flags
    - slmdb_flags
    argTypes:
    - SLMDB*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 936
    functionName: slmdb_open
    functionSourceFile: /src/postfix/postfix/src/util/slmdb.c
    functionUses: 1
    functionsReached:
    - stat
    - mdb_env_get_fd
    - slmdb_saved_key_init
    - mdb_env_create
    - slmdb_prepare
    - mdb_env_open
    - mdb_open
    - mdb_txn_begin
    - mdb_env_set_mapsize
    - mdb_env_close
    linkageType: ''
    returnType: int
    signature: "int slmdb_open(SLMDB *slmdb, const char *path, int open_flags,\n\t\t
      \          int lmdb_flags, int slmdb_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf
    - ','
    - data
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: SCOPY
    functionSourceFile: /src/postfix/postfix/src/util/dict_sdbm.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCOPY(buf, data, size)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:86,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:93,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:94,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:95,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:95,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:102,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:103,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:111,1
    - Dst: sdbm_fetch
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:112,1
    - Dst: SCOPY
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:115,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:125,1
    - Dst: sdbm_fetch
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:126,1
    - Dst: SCOPY
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:129,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:137,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:138,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - dict
    - name
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 141
    functionName: dict_sdbm_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_sdbm.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_fatal
    - myflock
    - strlen
    - sdbm_fetch
    - vstring_alloc
    - SCOPY
    - vstring_strcpy
    - vstring_str
    - lowercase
    linkageType: ''
    returnType: char
    signature: char *dict_sdbm_lookup(DICT *dict, const char *name)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:158,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:165,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:166,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:167,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:167,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:171,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:172,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:199,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:200,1
    - Dst: sdbm_store
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:205,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:207,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:212,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:214,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:221,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:222,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - dict
    - name
    - value
    argTypes:
    - DICT*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 145
    functionDepth: 3
    functionLinenumber: 145
    functionLinenumberEnd: 225
    functionName: dict_sdbm_update
    functionSourceFile: /src/postfix/postfix/src/util/dict_sdbm.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_fatal
    - myflock
    - msg_warn
    - strlen
    - vstring_alloc
    - vstring_strcpy
    - vstring_str
    - sdbm_store
    - lowercase
    linkageType: ''
    returnType: int
    signature: int dict_sdbm_update(DICT *dict, const char *name, const char *value)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:241,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:248,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:249,1
    - Dst: lowercase
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:250,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:250,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:257,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:258,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:266,1
    - Dst: sdbm_clearerr
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:267,1
    - Dst: sdbm_delete
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:268,1
    - Dst: sdbm_error
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:269,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:270,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:283,1
    - Dst: sdbm_clearerr
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:284,1
    - Dst: sdbm_delete
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:285,1
    - Dst: sdbm_error
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:286,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:287,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:298,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:299,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - dict
    - name
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 302
    functionName: dict_sdbm_delete
    functionSourceFile: /src/postfix/postfix/src/util/dict_sdbm.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_fatal
    - myflock
    - strlen
    - sdbm_clearerr
    - vstring_alloc
    - vstring_strcpy
    - sdbm_error
    - vstring_str
    - sdbm_delete
    - lowercase
    linkageType: ''
    returnType: int
    signature: int dict_sdbm_delete(DICT *dict, const char *name)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:321,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:322,1
    - Dst: sdbm_clearerr
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:327,1
    - Dst: sdbm_firstkey
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:330,1
    - Dst: sdbm_nextkey
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:333,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:336,1
    - Dst: SCOPY
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:344,1
    - Dst: sdbm_fetch
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:349,1
    - Dst: SCOPY
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:356,1
    - Dst: sdbm_error
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:364,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:365,1
    - Dst: sdbm_error
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:374,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:375,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:383,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:384,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 4
    argNames:
    - dict
    - function
    - key
    - value
    argTypes:
    - DICT*
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 387
    functionName: dict_sdbm_sequence
    functionSourceFile: /src/postfix/postfix/src/util/dict_sdbm.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - myflock
    - sdbm_nextkey
    - sdbm_clearerr
    - sdbm_fetch
    - SCOPY
    - sdbm_error
    - msg_fatal
    - sdbm_firstkey
    linkageType: ''
    returnType: int
    signature: "int dict_sdbm_sequence(DICT *dict, const int function,\n\t\t\t              const
      char **key, const char **value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdbm_close
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:395,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:397,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:399,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:401,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 403
    functionName: dict_sdbm_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_sdbm.c
    functionUses: 0
    functionsReached:
    - sdbm_close
    - dict_free
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void dict_sdbm_close(DICT *dict)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: concatenate
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:423,1
    - Dst: open
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:424,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:425,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:426,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:427,1
    - Dst: sdbm_open
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:433,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:434,1
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:437,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:438,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:439,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:440,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:442,1
    - Dst: sdbm_dirfno
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:448,1
    - Dst: sdbm_pagfno
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:449,1
    - Dst: fstat
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:450,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:451,1
    - Dst: stat
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:462,1
    - Dst: time
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:464,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:465,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:467,1
    - Dst: sdbm_pagfno
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:467,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:468,1
    - Dst: sdbm_dirfno
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:468,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:473,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_sdbm.c:479,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 3
    argNames:
    - path
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 482
    functionName: dict_sdbm_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_sdbm.c
    functionUses: 0
    functionsReached:
    - stat
    - myflock
    - msg_warn
    - sdbm_dirfno
    - time
    - close
    - vstring_alloc
    - close_on_exec
    - myfree
    - open
    - sdbm_open
    - sdbm_pagfno
    - fstat
    - dict_alloc
    - concatenate
    - msg_fatal
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_sdbm_open(const char *path, int open_flags, int dict_flags)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dup
      Src: /src/postfix/postfix/src/util/poll_fd.c:163,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/poll_fd.c:164,1
    - Dst: FD_ZERO
      Src: /src/postfix/postfix/src/util/poll_fd.c:174,1
    - Dst: FD_SET
      Src: /src/postfix/postfix/src/util/poll_fd.c:175,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/poll_fd.c:184,1
    - Dst: select
      Src: /src/postfix/postfix/src/util/poll_fd.c:196,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/poll_fd.c:199,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/poll_fd.c:203,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/poll_fd.c:209,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 5
    argNames:
    - fd
    - request
    - time_limit
    - true_res
    - false_res
    argTypes:
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 213
    functionName: poll_fd_bsd
    functionSourceFile: /src/postfix/postfix/src/util/poll_fd.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - select
    - FD_ZERO
    - close
    - msg_fatal
    - dup
    - FD_SET
    linkageType: ''
    returnType: int
    signature: "int poll_fd_bsd(int fd, int request, int time_limit,\n\t\t            int
      true_res, int false_res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - fd
    - ','
    - req
    - ','
    - time_limit
    - ','
    - true_res
    - ','
    - false_res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: HANDLE_SYSV_POLL_ERROR
    functionSourceFile: /src/postfix/postfix/src/util/poll_fd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_SYSV_POLL_ERROR(fd, req, time_limit, true_res, false_res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - fd
    - ','
    - req
    - ','
    - time_limit
    - ','
    - true_res
    - ','
    - false_res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: HANDLE_SYSV_POLL_ERROR
    functionSourceFile: /src/postfix/postfix/src/util/poll_fd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_SYSV_POLL_ERROR(fd, req, time_limit, true_res, false_res)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/poll_fd.c:245,1
    - Dst: poll
      Src: /src/postfix/postfix/src/util/poll_fd.c:249,1
    - Dst: HANDLE_SYSV_POLL_ERROR
      Src: /src/postfix/postfix/src/util/poll_fd.c:253,1
    - Dst: HANDLE_SYSV_POLL_ERROR
      Src: /src/postfix/postfix/src/util/poll_fd.c:262,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - fd
    - request
    - time_limit
    - true_res
    - false_res
    argTypes:
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 267
    functionName: poll_fd_sysv
    functionSourceFile: /src/postfix/postfix/src/util/poll_fd.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - poll
    - HANDLE_SYSV_POLL_ERROR
    linkageType: ''
    returnType: int
    signature: "int poll_fd_sysv(int fd, int request, int time_limit,\n\t\t             int
      true_res, int false_res)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/postfix/postfix/src/util/strcasecmp.c:47,1
    - Dst: tolower
      Src: /src/postfix/postfix/src/util/strcasecmp.c:47,1
    - Dst: tolower
      Src: /src/postfix/postfix/src/util/strcasecmp.c:50,1
    - Dst: tolower
      Src: /src/postfix/postfix/src/util/strcasecmp.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: strcasecmp
    functionSourceFile: /src/postfix/postfix/src/util/strcasecmp.c
    functionUses: 60
    functionsReached:
    - tolower
    linkageType: ''
    returnType: int
    signature: int strcasecmp(const char *s1, const char *s2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/postfix/postfix/src/util/strcasecmp.c:60,1
    - Dst: tolower
      Src: /src/postfix/postfix/src/util/strcasecmp.c:60,1
    - Dst: tolower
      Src: /src/postfix/postfix/src/util/strcasecmp.c:61,1
    - Dst: tolower
      Src: /src/postfix/postfix/src/util/strcasecmp.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: strncasecmp
    functionSourceFile: /src/postfix/postfix/src/util/strcasecmp.c
    functionUses: 16
    functionsReached:
    - tolower
    linkageType: ''
    returnType: int
    signature: int strncasecmp(const char *s1, const char *s2, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: stat
    functionSourceFile: /src/postfix/postfix/src/util/warn_stat.h
    functionUses: 76
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stat(p, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: lstat
    functionSourceFile: /src/postfix/postfix/src/util/warn_stat.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lstat(p, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: fstat
    functionSourceFile: /src/postfix/postfix/src/util/warn_stat.h
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fstat(f, s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/trimblanks.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - string
    - len
    argTypes:
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: trimblanks
    functionSourceFile: /src/postfix/postfix/src/util/trimblanks.c
    functionUses: 11
    functionsReached:
    - ISSPACE
    linkageType: ''
    returnType: char
    signature: char *trimblanks(char *string, ssize_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_alloc.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dict
    - unused_key
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: dict_default_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_alloc.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: char
    signature: char *dict_default_lookup(DICT *dict, const char *unused_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_alloc.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dict
    - unused_key
    - unused_value
    argTypes:
    - DICT*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: dict_default_update
    functionSourceFile: /src/postfix/postfix/src/util/dict_alloc.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: "int dict_default_update(DICT *dict, const char *unused_key,\n\t\t\t
      \              const char *unused_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_alloc.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dict
    - unused_key
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: dict_default_delete
    functionSourceFile: /src/postfix/postfix/src/util/dict_alloc.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int dict_default_delete(DICT *dict, const char *unused_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_alloc.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dict
    - unused_function
    - unused_key
    - unused_value
    argTypes:
    - DICT*
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: dict_default_sequence
    functionSourceFile: /src/postfix/postfix/src/util/dict_alloc.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: "int dict_default_sequence(DICT *dict, int unused_function,\n\t\t         const
      char **unused_key, const char **unused_value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myflock
      Src: /src/postfix/postfix/src/util/dict_alloc.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dict
    - operation
    argTypes:
    - DICT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: dict_default_lock
    functionSourceFile: /src/postfix/postfix/src/util/dict_alloc.c
    functionUses: 0
    functionsReached:
    - myflock
    linkageType: ''
    returnType: int
    signature: int dict_default_lock(DICT *dict, int operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/dict_alloc.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: dict_default_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_alloc.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void dict_default_close(DICT *dict)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/dict_alloc.c:142,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_alloc.c:145,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/dict_alloc.c:148,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/dict_alloc.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 3
    argNames:
    - dict_type
    - dict_name
    - size
    argTypes:
    - char*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 172
    functionName: dict_alloc
    functionSourceFile: /src/postfix/postfix/src/util/dict_alloc.c
    functionUses: 29
    functionsReached:
    - mymalloc
    - mystrdup
    - msg_info
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_alloc(const char *dict_type, const char *dict_name, ssize_t
      size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_alloc.c:179,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_alloc.c:183,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_alloc.c:184,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_alloc.c:186,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_alloc.c:188,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_alloc.c:190,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/dict_alloc.c:192,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_alloc.c:194,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_alloc.c:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 196
    functionName: dict_free
    functionSourceFile: /src/postfix/postfix/src/util/dict_alloc.c
    functionUses: 29
    functionsReached:
    - myfree
    - vstring_free
    - msg_info
    linkageType: ''
    returnType: void
    signature: void dict_free(DICT *dict)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/dict_alloc.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: dict_jmp_alloc
    functionSourceFile: /src/postfix/postfix/src/util/dict_alloc.c
    functionUses: 1
    functionsReached:
    - mymalloc
    linkageType: ''
    returnType: void
    signature: void dict_jmp_alloc(DICT *dict)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/util/known_tcp_ports.c
    functionUses: 540
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: alldig
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:77,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:79,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:82,1
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:83,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:85,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - name
    - port
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 5
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: add_known_tcp_port
    functionSourceFile: /src/postfix/postfix/src/util/known_tcp_ports.c
    functionUses: 2
    functionsReached:
    - htable_create
    - alldig
    - htable_enter
    - htable_locate
    - mystrdup
    linkageType: ''
    returnType: char
    signature: char *add_known_tcp_port(const char *name, const char *port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: alldig
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:95,1
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - name_or_port
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: filter_known_tcp_port
    functionSourceFile: /src/postfix/postfix/src/util/known_tcp_ports.c
    functionUses: 5
    functionsReached:
    - htable_locate
    - alldig
    linkageType: ''
    returnType: char
    signature: char *filter_known_tcp_port(const char *name_or_port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htable_free
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: clear_known_tcp_ports
    functionSourceFile: /src/postfix/postfix/src/util/known_tcp_ports.c
    functionUses: 3
    functionsReached:
    - htable_free
    linkageType: ''
    returnType: void
    signature: void clear_known_tcp_ports(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: compare_ht_keys
    functionSourceFile: /src/postfix/postfix/src/util/known_tcp_ports.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int compare_ht_keys(const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:129,1
    - Dst: htable_list
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:131,1
    - Dst: qsort
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:132,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:135,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:137,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:139,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - out
    argTypes:
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: export_known_tcp_ports
    functionSourceFile: /src/postfix/postfix/src/util/known_tcp_ports.c
    functionUses: 1
    functionsReached:
    - qsort
    - myfree
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - htable_list
    - vstring_sprintf_append
    - STR
    linkageType: ''
    returnType: char
    signature: char *export_known_tcp_ports(VSTRING *out)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:208,1
    - Dst: add_known_tcp_port
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:212,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:214,1
    - Dst: STRING_OR_NULL
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:215,1
    - Dst: STRING_OR_NULL
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:215,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:218,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:219,1
    - Dst: export_known_tcp_ports
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:224,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:225,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:226,1
    - Dst: filter_known_tcp_port
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:231,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:232,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:233,1
    - Dst: clear_known_tcp_ports
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:239,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:241,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:244,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:248,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:249,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/known_tcp_ports.c:250,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 193
    functionDepth: 6
    functionLinenumber: 193
    functionLinenumberEnd: 251
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/known_tcp_ports.c
    functionUses: 41
    functionsReached:
    - add_known_tcp_port
    - STRING_OR_NULL
    - msg_warn
    - filter_known_tcp_port
    - exit
    - vstring_alloc
    - clear_known_tcp_ports
    - msg_info
    - strcmp
    - export_known_tcp_ports
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: STRING_OR_NULL
    functionSourceFile: /src/postfix/postfix/src/util/known_tcp_ports.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRING_OR_NULL(s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/allascii.c:57,1
    - Dst: ISASCII
      Src: /src/postfix/postfix/src/util/allascii.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - string
    - len
    argTypes:
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 65
    functionName: allascii_len
    functionSourceFile: /src/postfix/postfix/src/util/allascii.c
    functionUses: 1
    functionsReached:
    - ISASCII
    - strlen
    linkageType: ''
    returnType: int
    signature: int allascii_len(const char *string, ssize_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - string
    - ','
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: vstring_get
    functionSourceFile: /src/postfix/postfix/src/util/vstring_vstream.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstring_get(string, stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - string
    - ','
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: vstring_get_nonl
    functionSourceFile: /src/postfix/postfix/src/util/vstring_vstream.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstring_get_nonl(string, stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - string
    - ','
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: vstring_get_null
    functionSourceFile: /src/postfix/postfix/src/util/vstring_vstream.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstring_get_null(string, stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - string
    - ','
    - stream
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: vstring_get_bound
    functionSourceFile: /src/postfix/postfix/src/util/vstring_vstream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstring_get_bound(string, stream, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - string
    - ','
    - stream
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: vstring_get_nonl_bound
    functionSourceFile: /src/postfix/postfix/src/util/vstring_vstream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstring_get_nonl_bound(string, stream, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - string
    - ','
    - stream
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: vstring_get_null_bound
    functionSourceFile: /src/postfix/postfix/src/util/vstring_vstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstring_get_null_bound(string, stream, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: vstring_fgets
    functionSourceFile: /src/postfix/postfix/src/util/vstring_vstream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstring_fgets(s, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: vstring_fgets_nonl
    functionSourceFile: /src/postfix/postfix/src/util/vstring_vstream.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstring_fgets_nonl(s, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: vstring_fgets_null
    functionSourceFile: /src/postfix/postfix/src/util/vstring_vstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstring_fgets_null(s, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - p
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: vstring_fgets_bound
    functionSourceFile: /src/postfix/postfix/src/util/vstring_vstream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstring_fgets_bound(s, p, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - p
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: vstring_fgets_nonl_bound
    functionSourceFile: /src/postfix/postfix/src/util/vstring_vstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstring_fgets_nonl_bound(s, p, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - bp
    - ','
    - cp
    - ','
    - ln
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: base64_encode
    functionSourceFile: /src/postfix/postfix/src/util/base64_code.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: base64_encode(bp, cp, ln)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - bp
    - ','
    - cp
    - ','
    - ln
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: base64_decode
    functionSourceFile: /src/postfix/postfix/src/util/base64_code.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: base64_decode(bp, cp, ln)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/util/argv_splitq.c:69,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/argv_splitq.c:70,1
    - Dst: mystrtokq
      Src: /src/postfix/postfix/src/util/argv_splitq.c:74,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/argv_splitq.c:75,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/util/argv_splitq.c:76,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/argv_splitq.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - string
    - delim
    - parens
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: argv_splitq
    functionSourceFile: /src/postfix/postfix/src/util/argv_splitq.c
    functionUses: 6
    functionsReached:
    - myfree
    - argv_alloc
    - argv_add
    - mystrtokq
    - mystrdup
    - argv_terminate
    linkageType: ''
    returnType: ARGV
    signature: ARGV *argv_splitq(const char *string, const char *delim, const char
      *parens)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/util/argv_splitq.c:86,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/argv_splitq.c:87,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/argv_splitq.c:92,1
    - Dst: mystrtokq
      Src: /src/postfix/postfix/src/util/argv_splitq.c:93,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/argv_splitq.c:94,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/util/argv_splitq.c:96,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/argv_splitq.c:98,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/util/argv_splitq.c:99,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/argv_splitq.c:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - string
    - delim
    - parens
    - count
    argTypes:
    - char*
    - char*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 83
    functionDepth: 5
    functionLinenumber: 83
    functionLinenumberEnd: 102
    functionName: argv_splitq_count
    functionSourceFile: /src/postfix/postfix/src/util/argv_splitq.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - strspn
    - myfree
    - argv_alloc
    - argv_add
    - mystrtokq
    - mystrdup
    - argv_terminate
    linkageType: ''
    returnType: ARGV
    signature: "ARGV *argv_splitq_count(const char *string, const char *delim,\n\t\t\t
      \         const char *parens, ssize_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/argv_splitq.c:109,1
    - Dst: mystrtokq
      Src: /src/postfix/postfix/src/util/argv_splitq.c:113,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/argv_splitq.c:114,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/util/argv_splitq.c:115,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/argv_splitq.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - argvp
    - string
    - delim
    - parens
    argTypes:
    - ARGV*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 106
    functionDepth: 5
    functionLinenumber: 106
    functionLinenumberEnd: 118
    functionName: argv_splitq_append
    functionSourceFile: /src/postfix/postfix/src/util/argv_splitq.c
    functionUses: 1
    functionsReached:
    - myfree
    - argv_add
    - mystrtokq
    - mystrdup
    - argv_terminate
    linkageType: ''
    returnType: ARGV
    signature: "ARGV *argv_splitq_append(ARGV *argvp, const char *string, const char
      *delim,\n\t\t\t           const char *parens)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/util/skipblanks.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: skipblanks
    functionSourceFile: /src/postfix/postfix/src/util/skipblanks.c
    functionUses: 0
    functionsReached:
    - ISSPACE
    linkageType: ''
    returnType: char
    signature: char *skipblanks(const char *string)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/util/alldig.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: alldig
    functionSourceFile: /src/postfix/postfix/src/util/alldig.c
    functionUses: 40
    functionsReached:
    - ISDIGIT
    linkageType: ''
    returnType: int
    signature: int alldig(const char *string)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISALNUM
      Src: /src/postfix/postfix/src/util/alldig.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: allalnum
    functionSourceFile: /src/postfix/postfix/src/util/alldig.c
    functionUses: 1
    functionsReached:
    - ISALNUM
    linkageType: ''
    returnType: int
    signature: int allalnum(const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/util/netstring.c
    functionUses: 541
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/util/netstring.c
    functionUses: 172
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/util/netstring.c:188,1
    - Dst: CA_VSTREAM_CTL_TIMEOUT
      Src: /src/postfix/postfix/src/util/netstring.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - timeout
    argTypes:
    - VSTREAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: netstring_setup
    functionSourceFile: /src/postfix/postfix/src/util/netstring.c
    functionUses: 1
    functionsReached:
    - vstream_control
    - CA_VSTREAM_CTL_TIMEOUT
    linkageType: ''
    returnType: void
    signature: void netstring_setup(VSTREAM *stream, int timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_longjmp
      Src: /src/postfix/postfix/src/util/netstring.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - exception
    argTypes:
    - VSTREAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: netstring_except
    functionSourceFile: /src/postfix/postfix/src/util/netstring.c
    functionUses: 0
    functionsReached:
    - vstream_longjmp
    linkageType: ''
    returnType: void
    signature: void netstring_except(VSTREAM *stream, int exception)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/util/netstring.c:211,1
    - Dst: netstring_except
      Src: /src/postfix/postfix/src/util/netstring.c:213,1
    - Dst: vstream_ftimeout
      Src: /src/postfix/postfix/src/util/netstring.c:213,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/netstring.c:217,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/util/netstring.c:220,1
    - Dst: netstring_except
      Src: /src/postfix/postfix/src/util/netstring.c:221,1
    - Dst: netstring_except
      Src: /src/postfix/postfix/src/util/netstring.c:225,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 230
    functionName: netstring_get_length
    functionSourceFile: /src/postfix/postfix/src/util/netstring.c
    functionUses: 0
    functionsReached:
    - vstream_ftimeout
    - msg_info
    - VSTREAM_GETC
    - ISDIGIT
    - netstring_except
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t netstring_get_length(VSTREAM *stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fread_buf
      Src: /src/postfix/postfix/src/util/netstring.c:241,1
    - Dst: netstring_except
      Src: /src/postfix/postfix/src/util/netstring.c:242,1
    - Dst: vstream_ftimeout
      Src: /src/postfix/postfix/src/util/netstring.c:242,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/netstring.c:245,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/netstring.c:246,1
    - Dst: netstring_get_terminator
      Src: /src/postfix/postfix/src/util/netstring.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - stream
    - buf
    - len
    argTypes:
    - VSTREAM*
    - VSTRING*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 253
    functionName: netstring_get_data
    functionSourceFile: /src/postfix/postfix/src/util/netstring.c
    functionUses: 0
    functionsReached:
    - vstream_ftimeout
    - msg_info
    - netstring_get_terminator
    - vstream_fread_buf
    - netstring_except
    - STR
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *netstring_get_data(VSTREAM *stream, VSTRING *buf, ssize_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/util/netstring.c:259,1
    - Dst: netstring_except
      Src: /src/postfix/postfix/src/util/netstring.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: netstring_get_terminator
    functionSourceFile: /src/postfix/postfix/src/util/netstring.c
    functionUses: 1
    functionsReached:
    - VSTREAM_GETC
    - netstring_except
    linkageType: ''
    returnType: void
    signature: void netstring_get_terminator(VSTREAM *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: netstring_get_length
      Src: /src/postfix/postfix/src/util/netstring.c:269,1
    - Dst: ENFORCING_SIZE_LIMIT
      Src: /src/postfix/postfix/src/util/netstring.c:270,1
    - Dst: netstring_except
      Src: /src/postfix/postfix/src/util/netstring.c:271,1
    - Dst: netstring_get_data
      Src: /src/postfix/postfix/src/util/netstring.c:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - buf
    - limit
    argTypes:
    - VSTREAM*
    - VSTRING*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 274
    functionName: netstring_get
    functionSourceFile: /src/postfix/postfix/src/util/netstring.c
    functionUses: 1
    functionsReached:
    - ENFORCING_SIZE_LIMIT
    - netstring_get_data
    - netstring_get_length
    - netstring_except
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *netstring_get(VSTREAM *stream, VSTRING *buf, ssize_t limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/netstring.c:283,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/netstring.c:285,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/util/netstring.c:286,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/netstring.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - data
    - len
    argTypes:
    - VSTREAM*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 288
    functionName: netstring_put
    functionSourceFile: /src/postfix/postfix/src/util/netstring.c
    functionUses: 0
    functionsReached:
    - vstream_fwrite
    - VSTREAM_PUTC
    - vstream_fprintf
    - msg_info
    linkageType: ''
    returnType: void
    signature: void netstring_put(VSTREAM *stream, const char *data, ssize_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/netstring.c:304,1
    - Dst: VA_COPY
      Src: /src/postfix/postfix/src/util/netstring.c:305,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/netstring.c:310,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/netstring.c:311,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/netstring.c:312,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/netstring.c:313,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/netstring.c:315,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/netstring.c:317,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/netstring.c:322,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/netstring.c:323,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/netstring.c:324,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/netstring.c:326,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/util/netstring.c:329,1
    - Dst: netstring_except
      Src: /src/postfix/postfix/src/util/netstring.c:330,1
    - Dst: vstream_ftimeout
      Src: /src/postfix/postfix/src/util/netstring.c:330,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/netstring.c:333,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/util/netstring.c:334,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 335
    functionName: netstring_put_multi
    functionSourceFile: /src/postfix/postfix/src/util/netstring.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - msg_panic
    - vstream_fprintf
    - va_arg
    - msg_info
    - vstream_fwrite
    - vstream_ftimeout
    - netstring_except
    - VA_COPY
    linkageType: ''
    returnType: void
    signature: void netstring_put_multi(VSTREAM *stream,...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/netstring.c:341,1
    - Dst: netstring_except
      Src: /src/postfix/postfix/src/util/netstring.c:342,1
    - Dst: vstream_ftimeout
      Src: /src/postfix/postfix/src/util/netstring.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 344
    functionName: netstring_fflush
    functionSourceFile: /src/postfix/postfix/src/util/netstring.c
    functionUses: 0
    functionsReached:
    - vstream_ftimeout
    - vstream_fflush
    - netstring_except
    linkageType: ''
    returnType: void
    signature: void netstring_fflush(VSTREAM *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/netstring.c:350,1
    - Dst: vstring_memcat
      Src: /src/postfix/postfix/src/util/netstring.c:351,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/netstring.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - src
    - len
    argTypes:
    - VSTRING*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 354
    functionName: netstring_memcpy
    functionSourceFile: /src/postfix/postfix/src/util/netstring.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - vstring_sprintf
    - vstring_memcat
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *netstring_memcpy(VSTRING *buf, const char *src, ssize_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/netstring.c:360,1
    - Dst: vstring_memcat
      Src: /src/postfix/postfix/src/util/netstring.c:361,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/netstring.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - src
    - len
    argTypes:
    - VSTRING*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 364
    functionName: netstring_memcat
    functionSourceFile: /src/postfix/postfix/src/util/netstring.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - vstring_sprintf_append
    - vstring_memcat
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *netstring_memcat(VSTRING *buf, const char *src, ssize_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 388
    functionName: netstring_strerror
    functionSourceFile: /src/postfix/postfix/src/util/netstring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *netstring_strerror(int err)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VSTREAM_GETCHAR
      Src: /src/postfix/postfix/src/util/netstring.c:424,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/netstring.c:427,1
    - Dst: NETSTRING_PUT_BUF
      Src: /src/postfix/postfix/src/util/netstring.c:430,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/netstring.c:431,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/netstring.c:432,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/util/netstring.c:436,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/netstring.c:437,1
    - Dst: vstream_peek
      Src: /src/postfix/postfix/src/util/netstring.c:439,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 440
    functionName: stdin_read_event
    functionSourceFile: /src/postfix/postfix/src/util/netstring.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - sleep
    - NETSTRING_PUT_BUF
    - vstream_fflush
    - exit
    - vstream_peek
    - VSTRING_RESET
    - VSTREAM_GETCHAR
    linkageType: ''
    returnType: void
    signature: void stdin_read_event(int event, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: netstring_get
      Src: /src/postfix/postfix/src/util/netstring.c:458,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/util/netstring.c:459,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/netstring.c:459,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/util/netstring.c:459,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/netstring.c:460,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/netstring.c:461,1
    - Dst: vstream_peek
      Src: /src/postfix/postfix/src/util/netstring.c:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 444
    functionDepth: 4
    functionLinenumber: 444
    functionLinenumberEnd: 463
    functionName: child_read_event
    functionSourceFile: /src/postfix/postfix/src/util/netstring.c
    functionUses: 0
    functionsReached:
    - VSTREAM_PUTC
    - vstream_fflush
    - LEN
    - vstream_peek
    - vstream_fwrite
    - netstring_get
    - STR
    linkageType: ''
    returnType: void
    signature: void child_read_event(int event, void *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/netstring.c:473,1
    - Dst: vstream_popen
      Src: /src/postfix/postfix/src/util/netstring.c:479,1
    - Dst: CA_VSTREAM_POPEN_ARGV
      Src: /src/postfix/postfix/src/util/netstring.c:479,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/util/netstring.c:481,1
    - Dst: netstring_setup
      Src: /src/postfix/postfix/src/util/netstring.c:482,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/netstring.c:487,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/netstring.c:488,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/util/netstring.c:496,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/netstring.c:496,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/util/netstring.c:497,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/netstring.c:497,1
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/util/netstring.c:500,1
    - Dst: event_loop
      Src: /src/postfix/postfix/src/util/netstring.c:502,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/netstring.c:504,1
    - Dst: netstring_strerror
      Src: /src/postfix/postfix/src/util/netstring.c:504,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 465
    functionDepth: 5
    functionLinenumber: 465
    functionLinenumberEnd: 506
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/netstring.c
    functionUses: 41
    functionsReached:
    - netstring_setup
    - event_enable_read
    - event_loop
    - netstring_strerror
    - vstring_alloc
    - vstream_control
    - vstream_setjmp
    - vstream_popen
    - vstream_fileno
    - msg_fatal
    - CA_VSTREAM_POPEN_ARGV
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - uid
    - ','
    - gid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: SAVE_AND_SET_EUGID
    functionSourceFile: /src/postfix/postfix/src/util/set_eugid.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAVE_AND_SET_EUGID(uid, gid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: RESTORE_SAVED_EUGID
    functionSourceFile: /src/postfix/postfix/src/util/set_eugid.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESTORE_SAVED_EUGID()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - vbuf_ptr
    - ','
    - app_type
    - ','
    - vbuf_member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: VBUF_TO_APPL
    functionSourceFile: /src/postfix/postfix/src/util/vbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VBUF_TO_APPL(vbuf_ptr,app_type,vbuf_member)
  - 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: vbuf_rd_error
    functionSourceFile: /src/postfix/postfix/src/util/vbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vbuf_rd_error(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: vbuf_wr_error
    functionSourceFile: /src/postfix/postfix/src/util/vbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vbuf_wr_error(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: vbuf_rd_timeout
    functionSourceFile: /src/postfix/postfix/src/util/vbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vbuf_rd_timeout(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: vbuf_wr_timeout
    functionSourceFile: /src/postfix/postfix/src/util/vbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vbuf_wr_timeout(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: vbuf_error
    functionSourceFile: /src/postfix/postfix/src/util/vbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vbuf_error(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: vbuf_eof
    functionSourceFile: /src/postfix/postfix/src/util/vbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vbuf_eof(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: vbuf_timeout
    functionSourceFile: /src/postfix/postfix/src/util/vbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vbuf_timeout(v)
  - 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: vbuf_clearerr
    functionSourceFile: /src/postfix/postfix/src/util/vbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vbuf_clearerr(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: VBUF_GET
    functionSourceFile: /src/postfix/postfix/src/util/vbuf.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VBUF_GET(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: VBUF_PUT
    functionSourceFile: /src/postfix/postfix/src/util/vbuf.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VBUF_PUT(v,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: VBUF_SPACE
    functionSourceFile: /src/postfix/postfix/src/util/vbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VBUF_SPACE(v,n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/inet_windowsize.c:70,1
    - Dst: setsockopt
      Src: /src/postfix/postfix/src/util/inet_windowsize.c:76,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/inet_windowsize.c:78,1
    - Dst: setsockopt
      Src: /src/postfix/postfix/src/util/inet_windowsize.c:79,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/inet_windowsize.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - sock
    - windowsize
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 82
    functionName: set_inet_windowsize
    functionSourceFile: /src/postfix/postfix/src/util/inet_windowsize.c
    functionUses: 3
    functionsReached:
    - msg_panic
    - msg_warn
    - setsockopt
    linkageType: ''
    returnType: void
    signature: void set_inet_windowsize(int sock, int windowsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/mkmap_lmdb.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 74
    functionName: mkmap_lmdb_open
    functionSourceFile: /src/postfix/postfix/src/util/mkmap_lmdb.c
    functionUses: 0
    functionsReached:
    - mymalloc
    linkageType: ''
    returnType: MKMAP
    signature: MKMAP *mkmap_lmdb_open(const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/postfix/postfix/src/util/stream_send_fd.c:60,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_send_fd.c:61,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_send_fd.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - fd
    - sendfd
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: stream_send_fd
    functionSourceFile: /src/postfix/postfix/src/util/stream_send_fd.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - ioctl
    linkageType: ''
    returnType: int
    signature: int stream_send_fd(int fd, int sendfd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: split_at
      Src: /src/postfix/postfix/src/util/stream_send_fd.c:90,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_send_fd.c:92,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/stream_send_fd.c:94,1
    - Dst: stream_connect
      Src: /src/postfix/postfix/src/util/stream_send_fd.c:95,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_send_fd.c:97,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_send_fd.c:100,1
    - Dst: open
      Src: /src/postfix/postfix/src/util/stream_send_fd.c:104,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_send_fd.c:105,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/stream_send_fd.c:106,1
    - Dst: stream_send_fd
      Src: /src/postfix/postfix/src/util/stream_send_fd.c:107,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_send_fd.c:108,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/stream_send_fd.c:109,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/stream_send_fd.c:110,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/stream_send_fd.c:112,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 113
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/stream_send_fd.c
    functionUses: 41
    functionsReached:
    - close
    - exit
    - msg_info
    - open
    - stream_send_fd
    - strcmp
    - stream_connect
    - split_at
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto_clnt_free
      Src: /src/postfix/postfix/src/util/attr_clnt.c:133,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/attr_clnt.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - client
    argTypes:
    - ATTR_CLNT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: attr_clnt_free
    functionSourceFile: /src/postfix/postfix/src/util/attr_clnt.c
    functionUses: 1
    functionsReached:
    - myfree
    - auto_clnt_free
    linkageType: ''
    returnType: void
    signature: void attr_clnt_free(ATTR_CLNT *client)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/attr_clnt.c:144,1
    - Dst: auto_clnt_create
      Src: /src/postfix/postfix/src/util/attr_clnt.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - service
    - timeout
    - max_idle
    - max_ttl
    argTypes:
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: attr_clnt_create
    functionSourceFile: /src/postfix/postfix/src/util/attr_clnt.c
    functionUses: 3
    functionsReached:
    - mymalloc
    - auto_clnt_create
    linkageType: ''
    returnType: ATTR_CLNT
    signature: "ATTR_CLNT *attr_clnt_create(const char *service, int timeout,\n\t\t\t
      \           int max_idle, int max_ttl)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/attr_clnt.c:186,1
    - Dst: auto_clnt_access
      Src: /src/postfix/postfix/src/util/attr_clnt.c:189,1
    - Dst: readable
      Src: /src/postfix/postfix/src/util/attr_clnt.c:190,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/attr_clnt.c:190,1
    - Dst: VA_COPY
      Src: /src/postfix/postfix/src/util/attr_clnt.c:192,1
    - Dst: ATTR_CLNT*::print
      Src: /src/postfix/postfix/src/util/attr_clnt.c:193,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/attr_clnt.c:194,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/attr_clnt.c:195,1
    - Dst: VA_COPY
      Src: /src/postfix/postfix/src/util/attr_clnt.c:197,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_clnt.c:198,1
    - Dst: SKIP_ARG
      Src: /src/postfix/postfix/src/util/attr_clnt.c:201,1
    - Dst: SKIP_ARG2
      Src: /src/postfix/postfix/src/util/attr_clnt.c:204,1
    - Dst: SKIP_ARG
      Src: /src/postfix/postfix/src/util/attr_clnt.c:207,1
    - Dst: SKIP_ARG
      Src: /src/postfix/postfix/src/util/attr_clnt.c:210,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_clnt.c:213,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/attr_clnt.c:216,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_clnt.c:220,1
    - Dst: ATTR_CLNT*::scan
      Src: /src/postfix/postfix/src/util/attr_clnt.c:221,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/attr_clnt.c:222,1
    - Dst: auto_clnt_recover
      Src: /src/postfix/postfix/src/util/attr_clnt.c:227,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/attr_clnt.c:237,1
    - Dst: auto_clnt_name
      Src: /src/postfix/postfix/src/util/attr_clnt.c:238,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/util/attr_clnt.c:244,1
    - Dst: auto_clnt_recover
      Src: /src/postfix/postfix/src/util/attr_clnt.c:245,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/attr_clnt.c:249,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 56
    argCount: 2
    argNames:
    - client
    - send_flags
    argTypes:
    - ATTR_CLNT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 251
    functionName: attr_clnt_request
    functionSourceFile: /src/postfix/postfix/src/util/attr_clnt.c
    functionUses: 15
    functionsReached:
    - va_start
    - va_end
    - msg_panic
    - readable
    - msg_warn
    - auto_clnt_name
    - SKIP_ARG2
    - sleep
    - auto_clnt_access
    - vstream_fflush
    - ATTR_CLNT*::print
    - va_arg
    - SKIP_ARG
    - ATTR_CLNT*::scan
    - auto_clnt_recover
    - vstream_fileno
    - VA_COPY
    linkageType: ''
    returnType: int
    signature: int attr_clnt_request(ATTR_CLNT *client, int send_flags,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ap
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: SKIP_ARG
    functionSourceFile: /src/postfix/postfix/src/util/attr_clnt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKIP_ARG(ap, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ap
    - ','
    - t1
    - ','
    - t2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: SKIP_ARG2
    functionSourceFile: /src/postfix/postfix/src/util/attr_clnt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKIP_ARG2(ap, t1, t2)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/attr_clnt.c:260,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_clnt.c:260,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_clnt.c:263,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_clnt.c:264,1
    - Dst: auto_clnt_control
      Src: /src/postfix/postfix/src/util/attr_clnt.c:267,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_clnt.c:269,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_clnt.c:273,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/attr_clnt.c:275,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_clnt.c:278,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_clnt.c:282,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/attr_clnt.c:284,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_clnt.c:286,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/attr_clnt.c:289,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/attr_clnt.c:291,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/attr_clnt.c:293,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/attr_clnt.c:296,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/attr_clnt.c:299,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - client
    - name
    argTypes:
    - ATTR_CLNT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 300
    functionName: attr_clnt_control
    functionSourceFile: /src/postfix/postfix/src/util/attr_clnt.c
    functionUses: 3
    functionsReached:
    - va_start
    - msg_panic
    - va_end
    - va_arg
    - msg_info
    - auto_clnt_control
    linkageType: ''
    returnType: void
    signature: void attr_clnt_control(ATTR_CLNT *client, int name,...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/sys_compat.c:94,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/util/sys_compat.c:95,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/sys_compat.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 100
    functionName: strerror
    functionSourceFile: /src/postfix/postfix/src/util/sys_compat.c
    functionUses: 38
    functionsReached:
    - vstring_str
    - vstring_sprintf
    - vstring_alloc
    linkageType: ''
    returnType: char
    signature: char *strerror(int err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/postfix/postfix/src/util/sys_compat.c:119,1
    - Dst: malloc
      Src: /src/postfix/postfix/src/util/sys_compat.c:121,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/sys_compat.c:121,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/sys_compat.c:121,1
    - Dst: sprintf
      Src: /src/postfix/postfix/src/util/sys_compat.c:123,1
    - Dst: putenv
      Src: /src/postfix/postfix/src/util/sys_compat.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - name
    - value
    - clobber
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: setenv
    functionSourceFile: /src/postfix/postfix/src/util/sys_compat.c
    functionUses: 29
    functionsReached:
    - strlen
    - putenv
    - sprintf
    - malloc
    - getenv
    linkageType: ''
    returnType: int
    signature: int setenv(const char *name, const char *value, int clobber)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/sys_compat.c:132,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/util/sys_compat.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 146
    functionName: unsetenv
    functionSourceFile: /src/postfix/postfix/src/util/sys_compat.c
    functionUses: 2
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int unsetenv(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setresuid
      Src: /src/postfix/postfix/src/util/sys_compat.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - euid
    argTypes:
    - uid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: seteuid
    functionSourceFile: /src/postfix/postfix/src/util/sys_compat.c
    functionUses: 3
    functionsReached:
    - setresuid
    linkageType: ''
    returnType: int
    signature: int seteuid(uid_t euid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setresgid
      Src: /src/postfix/postfix/src/util/sys_compat.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - egid
    argTypes:
    - gid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: setegid
    functionSourceFile: /src/postfix/postfix/src/util/sys_compat.c
    functionUses: 1
    functionsReached:
    - setresgid
    linkageType: ''
    returnType: int
    signature: int setegid(gid_t egid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mknod
      Src: /src/postfix/postfix/src/util/sys_compat.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: mkfifo
    functionSourceFile: /src/postfix/postfix/src/util/sys_compat.c
    functionUses: 4
    functionsReached:
    - mknod
    linkageType: ''
    returnType: int
    signature: int mkfifo(char *path, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wait4
      Src: /src/postfix/postfix/src/util/sys_compat.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pid
    - status
    - options
    argTypes:
    - int
    - WAIT_STATUS_T*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: waitpid
    functionSourceFile: /src/postfix/postfix/src/util/sys_compat.c
    functionUses: 8
    functionsReached:
    - wait4
    linkageType: ''
    returnType: int
    signature: int waitpid(int pid, WAIT_STATUS_T *status, int options)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/postfix/postfix/src/util/sys_compat.c:235,1
    - Dst: setpgrp
      Src: /src/postfix/postfix/src/util/sys_compat.c:238,1
    - Dst: open
      Src: /src/postfix/postfix/src/util/sys_compat.c:241,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/sys_compat.c:244,1
    - Dst: ioctl
      Src: /src/postfix/postfix/src/util/sys_compat.c:247,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/sys_compat.c:248,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/sys_compat.c:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 254
    functionName: setsid
    functionSourceFile: /src/postfix/postfix/src/util/sys_compat.c
    functionUses: 6
    functionsReached:
    - msg_warn
    - getpid
    - ioctl
    - close
    - open
    - setpgrp
    linkageType: ''
    returnType: int
    signature: int setsid(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dup2
      Src: /src/postfix/postfix/src/util/sys_compat.c:273,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/util/sys_compat.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - oldd
    - newd
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 269
    functionDepth: 3
    functionLinenumber: 269
    functionLinenumberEnd: 277
    functionName: dup2_pass_on_exec
    functionSourceFile: /src/postfix/postfix/src/util/sys_compat.c
    functionUses: 0
    functionsReached:
    - dup2
    - close_on_exec
    linkageType: ''
    returnType: int
    signature: int dup2_pass_on_exec(int oldd, int newd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: open_limit
      Src: /src/postfix/postfix/src/util/sys_compat.c:291,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/sys_compat.c:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - lowfd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 307
    functionName: closefrom
    functionSourceFile: /src/postfix/postfix/src/util/sys_compat.c
    functionUses: 1
    functionsReached:
    - open_limit
    - close
    linkageType: ''
    returnType: void
    signature: void closefrom(int lowfd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/postfix/postfix/src/util/sys_compat.c:335,1
    - Dst: sprintf
      Src: /src/postfix/postfix/src/util/sys_compat.c:338,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/sys_compat.c:340,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/sys_compat.c:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - af
    - src
    - dst
    - size
    argTypes:
    - int
    - void*
    - char*
    - SOCKADDR_SIZE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 347
    functionName: inet_ntop
    functionSourceFile: /src/postfix/postfix/src/util/sys_compat.c
    functionUses: 7
    functionsReached:
    - sprintf
    - strlen
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *inet_ntop(int af, const void *src, char *dst, SOCKADDR_SIZE size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inet_addr
      Src: /src/postfix/postfix/src/util/sys_compat.c:378,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/sys_compat.c:379,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/sys_compat.c:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - af
    - src
    - dst
    argTypes:
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 385
    functionName: inet_pton
    functionSourceFile: /src/postfix/postfix/src/util/sys_compat.c
    functionUses: 6
    functionsReached:
    - inet_addr
    - strcmp
    - memcpy
    linkageType: ''
    returnType: int
    signature: int inet_pton(int af, const char *src, void *dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - name
    - value
    argTypes:
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: split_nameval
    functionSourceFile: /src/postfix/postfix/src/util/split_nameval.c
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *split_nameval(char *buf, char **name, char **value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - start
    - ','
    - var
    - ','
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: SKIP
    functionSourceFile: /src/postfix/postfix/src/util/split_nameval.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKIP(start, var, cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: TRIM
    functionSourceFile: /src/postfix/postfix/src/util/split_nameval.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRIM(s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: inet_addr_sizes
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:74,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:75,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:77,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:85,1
    - Dst: mask_addr
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:87,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:88,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:90,1
    - Dst: inet_ntop
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:96,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:96,1
    - Dst: vstring_avail
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:96,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:97,1
    - Dst: vstring_set_payload_size
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:98,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:98,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:98,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:100,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - af
    - src
    - prefix_len
    argTypes:
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 102
    functionName: inet_prefix_top
    functionSourceFile: /src/postfix/postfix/src/util/inet_prefix_top.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - vstring_sprintf_append
    - vstring_export
    - vstring_str
    - strlen
    - vstring_alloc
    - vstring_set_payload_size
    - vstring_avail
    - inet_ntop
    - memcpy
    - mask_addr
    - msg_fatal
    - inet_addr_sizes
    linkageType: ''
    returnType: char
    signature: char *inet_prefix_top(int af, const void *src, int prefix_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:150,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:151,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:154,1
    - Dst: str_name_code
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:154,1
    - Dst: inet_prefix_top
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:156,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:157,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:158,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:160,1
    - Dst: str_name_code
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:160,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:164,1
    - Dst: str_name_code
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:164,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:167,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/inet_prefix_top.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 171
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/inet_prefix_top.c
    functionUses: 41
    functionsReached:
    - msg_warn
    - inet_prefix_top
    - str_name_code
    - msg_info
    - msg_vstream_init
    - myfree
    - strcmp
    - memset
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_ACCEPT
      Src: /src/postfix/postfix/src/util/pass_accept.c:60,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/pass_accept.c:63,1
    - Dst: read_wait
      Src: /src/postfix/postfix/src/util/pass_accept.c:66,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/pass_accept.c:67,1
    - Dst: LOCAL_RECV_FD
      Src: /src/postfix/postfix/src/util/pass_accept.c:68,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/pass_accept.c:69,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/pass_accept.c:70,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/pass_accept.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - listen_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 74
    functionName: pass_accept
    functionSourceFile: /src/postfix/postfix/src/util/pass_accept.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - read_wait
    - LOCAL_RECV_FD
    - close
    - LOCAL_ACCEPT
    linkageType: ''
    returnType: int
    signature: int pass_accept(int listen_fd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_ACCEPT
      Src: /src/postfix/postfix/src/util/pass_accept.c:85,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/pass_accept.c:88,1
    - Dst: read_wait
      Src: /src/postfix/postfix/src/util/pass_accept.c:91,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/pass_accept.c:92,1
    - Dst: LOCAL_RECV_FD
      Src: /src/postfix/postfix/src/util/pass_accept.c:93,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/pass_accept.c:94,1
    - Dst: read_wait
      Src: /src/postfix/postfix/src/util/pass_accept.c:95,1
    - Dst: recv_pass_attr
      Src: /src/postfix/postfix/src/util/pass_accept.c:96,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/pass_accept.c:97,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/pass_accept.c:98,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/pass_accept.c:99,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/pass_accept.c:102,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/pass_accept.c:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - listen_fd
    - attr
    argTypes:
    - int
    - HTABLE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 106
    functionName: pass_accept_attr
    functionSourceFile: /src/postfix/postfix/src/util/pass_accept.c
    functionUses: 3
    functionsReached:
    - msg_warn
    - read_wait
    - LOCAL_RECV_FD
    - close
    - LOCAL_ACCEPT
    - recv_pass_attr
    linkageType: ''
    returnType: int
    signature: int pass_accept_attr(int listen_fd, HTABLE **attr)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/nbbio.c:175,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/nbbio.c:178,1
    - Dst: read
      Src: /src/postfix/postfix/src/util/nbbio.c:180,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/nbbio.c:185,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/nbbio.c:190,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/nbbio.c:194,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/nbbio.c:198,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/nbbio.c:211,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/nbbio.c:213,1
    - Dst: write
      Src: /src/postfix/postfix/src/util/nbbio.c:215,1
    - Dst: memmove
      Src: /src/postfix/postfix/src/util/nbbio.c:219,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/nbbio.c:222,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/nbbio.c:226,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/nbbio.c:236,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/nbbio.c:245,1
    - Dst: NBBIO_OP_NAME
      Src: /src/postfix/postfix/src/util/nbbio.c:246,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/nbbio.c:250,1
    - Dst: NBBIO*::action
      Src: /src/postfix/postfix/src/util/nbbio.c:258,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 259
    functionName: nbbio_event
    functionSourceFile: /src/postfix/postfix/src/util/nbbio.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - memmove
    - msg_warn
    - read
    - NBBIO_OP_NAME
    - msg_info
    - NBBIO*::action
    - write
    linkageType: ''
    returnType: void
    signature: void nbbio_event(int event, void *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/nbbio.c:271,1
    - Dst: NBBIO_OP_NAME
      Src: /src/postfix/postfix/src/util/nbbio.c:272,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/nbbio.c:274,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/nbbio.c:277,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/util/nbbio.c:284,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/util/nbbio.c:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - np
    - timeout
    argTypes:
    - NBBIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 263
    functionDepth: 5
    functionLinenumber: 263
    functionLinenumberEnd: 288
    functionName: nbbio_enable_read
    functionSourceFile: /src/postfix/postfix/src/util/nbbio.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - event_enable_read
    - NBBIO_OP_NAME
    - event_request_timer
    linkageType: ''
    returnType: void
    signature: void nbbio_enable_read(NBBIO *np, int timeout)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/nbbio.c:300,1
    - Dst: NBBIO_OP_NAME
      Src: /src/postfix/postfix/src/util/nbbio.c:301,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/nbbio.c:303,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/nbbio.c:306,1
    - Dst: event_enable_write
      Src: /src/postfix/postfix/src/util/nbbio.c:313,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/util/nbbio.c:316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - np
    - timeout
    argTypes:
    - NBBIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 292
    functionDepth: 5
    functionLinenumber: 292
    functionLinenumberEnd: 317
    functionName: nbbio_enable_write
    functionSourceFile: /src/postfix/postfix/src/util/nbbio.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - event_enable_write
    - NBBIO_OP_NAME
    - event_request_timer
    linkageType: ''
    returnType: void
    signature: void nbbio_enable_write(NBBIO *np, int timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/util/nbbio.c:324,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/util/nbbio.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - np
    argTypes:
    - NBBIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 4
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: nbbio_disable_readwrite
    functionSourceFile: /src/postfix/postfix/src/util/nbbio.c
    functionUses: 1
    functionsReached:
    - event_cancel_timer
    - event_disable_readwrite
    linkageType: ''
    returnType: void
    signature: void nbbio_disable_readwrite(NBBIO *np)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/util/nbbio.c:333,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/util/nbbio.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - np
    - timeout
    argTypes:
    - NBBIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 330
    functionDepth: 4
    functionLinenumber: 330
    functionLinenumberEnd: 335
    functionName: nbbio_slumber
    functionSourceFile: /src/postfix/postfix/src/util/nbbio.c
    functionUses: 1
    functionsReached:
    - event_request_timer
    - event_disable_readwrite
    linkageType: ''
    returnType: void
    signature: void nbbio_slumber(NBBIO *np, int timeout)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/nbbio.c:348,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/nbbio.c:350,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/nbbio.c:355,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/nbbio.c:358,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/nbbio.c:363,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/nbbio.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - fd
    - bufsize
    - label
    - action
    - context
    argTypes:
    - int
    - ssize_t
    - char*
    - NBBIO_ACTION
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 339
    functionDepth: 3
    functionLinenumber: 339
    functionLinenumberEnd: 370
    functionName: nbbio_create
    functionSourceFile: /src/postfix/postfix/src/util/nbbio.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - mystrdup
    - mymalloc
    linkageType: ''
    returnType: NBBIO
    signature: "NBBIO *nbbio_create(int fd, ssize_t bufsize, const char *label,\n\t\t
      \            NBBIO_ACTION action, void *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nbbio_disable_readwrite
      Src: /src/postfix/postfix/src/util/nbbio.c:376,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/nbbio.c:377,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/nbbio.c:378,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/nbbio.c:379,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/nbbio.c:380,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/nbbio.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - np
    argTypes:
    - NBBIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 374
    functionDepth: 5
    functionLinenumber: 374
    functionLinenumberEnd: 382
    functionName: nbbio_free
    functionSourceFile: /src/postfix/postfix/src/util/nbbio.c
    functionUses: 1
    functionsReached:
    - myfree
    - close
    - nbbio_disable_readwrite
    linkageType: ''
    returnType: void
    signature: void nbbio_free(NBBIO *np)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_get
      Src: /src/postfix/postfix/src/util/dict_debug.c:67,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_debug.c:69,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_debug.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dict
    - key
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: dict_debug_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_debug.c
    functionUses: 0
    functionsReached:
    - dict_get
    - DICT_ERR_VAL_RETURN
    - msg_info
    linkageType: ''
    returnType: char
    signature: char *dict_debug_lookup(DICT *dict, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_put
      Src: /src/postfix/postfix/src/util/dict_debug.c:83,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_debug.c:85,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_debug.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - dict
    - key
    - value
    argTypes:
    - DICT*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: dict_debug_update
    functionSourceFile: /src/postfix/postfix/src/util/dict_debug.c
    functionUses: 0
    functionsReached:
    - dict_put
    - DICT_ERR_VAL_RETURN
    - msg_info
    linkageType: ''
    returnType: int
    signature: int dict_debug_update(DICT *dict, const char *key, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_del
      Src: /src/postfix/postfix/src/util/dict_debug.c:100,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_debug.c:102,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_debug.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dict
    - key
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 106
    functionName: dict_debug_delete
    functionSourceFile: /src/postfix/postfix/src/util/dict_debug.c
    functionUses: 0
    functionsReached:
    - dict_del
    - DICT_ERR_VAL_RETURN
    - msg_info
    linkageType: ''
    returnType: int
    signature: int dict_debug_delete(DICT *dict, const char *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_seq
      Src: /src/postfix/postfix/src/util/dict_debug.c:118,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_debug.c:121,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_debug.c:123,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_debug.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - dict
    - function
    - key
    - value
    argTypes:
    - DICT*
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 125
    functionName: dict_debug_sequence
    functionSourceFile: /src/postfix/postfix/src/util/dict_debug.c
    functionUses: 0
    functionsReached:
    - DICT_ERR_VAL_RETURN
    - dict_seq
    - msg_info
    linkageType: ''
    returnType: int
    signature: "int dict_debug_sequence(DICT *dict, int function,\n\t\t\t               const
      char **key, const char **value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_close
      Src: /src/postfix/postfix/src/util/dict_debug.c:133,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/util/dict_debug.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: dict_debug_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_debug.c
    functionUses: 0
    functionsReached:
    - dict_free
    - dict_close
    linkageType: ''
    returnType: void
    signature: void dict_debug_close(DICT *dict)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/dict_debug.c:144,1
    - Dst: dict_open
      Src: /src/postfix/postfix/src/util/dict_debug.c:151,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/util/dict_debug.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - name
    - open_flags
    - dict_flags
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 164
    functionName: dict_debug_open
    functionSourceFile: /src/postfix/postfix/src/util/dict_debug.c
    functionUses: 0
    functionsReached:
    - dict_alloc
    - dict_open
    - msg_info
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_debug_open(const char *name, int open_flags, int dict_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 584
    functionName: VSTREAM_STATIC
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_STATIC(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 590
    functionName: VSTREAM_ACC_MASK
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_ACC_MASK(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 593
    functionName: VSTREAM_CAN_READ
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_CAN_READ(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 596
    functionName: VSTREAM_CAN_WRITE
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_CAN_WRITE(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bp
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: VSTREAM_BUF_COUNT
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_BUF_COUNT(bp, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 604
    functionName: VSTREAM_BUF_AT_START
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_BUF_AT_START(bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bp
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 609
    functionName: VSTREAM_BUF_AT_OFFSET
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_BUF_AT_OFFSET(bp, offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 614
    functionName: VSTREAM_BUF_AT_END
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_BUF_AT_END(bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 620
    functionName: VSTREAM_BUF_ZERO
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_BUF_ZERO(bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - bp
    - ','
    - get_action
    - ','
    - put_action
    - ','
    - space_action
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 626
    functionName: VSTREAM_BUF_ACTIONS
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_BUF_ACTIONS(bp, get_action, put_action, space_action)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream
    - ','
    - buffer
    - ','
    - filedes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 631
    functionName: VSTREAM_SAVE_STATE
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_SAVE_STATE(stream, buffer, filedes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream
    - ','
    - buffer
    - ','
    - filedes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 637
    functionName: VSTREAM_RESTORE_STATE
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_RESTORE_STATE(stream, buffer, filedes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream
    - ','
    - buffer
    - ','
    - filedes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 645
    functionName: VSTREAM_FORK_STATE
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_FORK_STATE(stream, buffer, filedes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 651
    functionName: VSTREAM_FFLUSH_SOME
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_FFLUSH_SOME(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 666
    functionName: VSTREAM_SUB_TIME
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_SUB_TIME(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 676
    functionName: VSTREAM_ADD_TIME
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_ADD_TIME(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSTREAM_BUF_ZERO
      Src: /src/postfix/postfix/src/util/vstream.c:686,1
    - Dst: VSTREAM_BUF_ACTIONS
      Src: /src/postfix/postfix/src/util/vstream.c:687,1
    - Dst: VSTREAM_CAN_READ
      Src: /src/postfix/postfix/src/util/vstream.c:688,1
    - Dst: VSTREAM_CAN_WRITE
      Src: /src/postfix/postfix/src/util/vstream.c:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bp
    - flags
    argTypes:
    - VBUF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 691
    functionName: vstream_buf_init
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached:
    - VSTREAM_BUF_ZERO
    - VSTREAM_BUF_ACTIONS
    - VSTREAM_CAN_READ
    - VSTREAM_CAN_WRITE
    linkageType: ''
    returnType: void
    signature: void vstream_buf_init(VBUF *bp, int flags)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VBUF_TO_APPL
      Src: /src/postfix/postfix/src/util/vstream.c:697,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:702,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:704,1
    - Dst: myrealloc
      Src: /src/postfix/postfix/src/util/vstream.c:711,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/vstream.c:711,1
    - Dst: memset
      Src: /src/postfix/postfix/src/util/vstream.c:713,1
    - Dst: VSTREAM_SAVE_STATE
      Src: /src/postfix/postfix/src/util/vstream.c:718,1
    - Dst: VSTREAM_BUF_AT_OFFSET
      Src: /src/postfix/postfix/src/util/vstream.c:720,1
    - Dst: VSTREAM_SAVE_STATE
      Src: /src/postfix/postfix/src/util/vstream.c:722,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - bp
    - len
    argTypes:
    - VBUF*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 695
    functionDepth: 3
    functionLinenumber: 695
    functionLinenumberEnd: 724
    functionName: vstream_buf_alloc
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - VBUF_TO_APPL
    - myrealloc
    - memset
    - VSTREAM_BUF_AT_OFFSET
    - mymalloc
    - VSTREAM_SAVE_STATE
    linkageType: ''
    returnType: void
    signature: void vstream_buf_alloc(VBUF *bp, ssize_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/vstream.c:731,1
    - Dst: VSTREAM_BUF_ZERO
      Src: /src/postfix/postfix/src/util/vstream.c:732,1
    - Dst: VSTREAM_BUF_ACTIONS
      Src: /src/postfix/postfix/src/util/vstream.c:733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - bp
    argTypes:
    - VBUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 734
    functionName: vstream_buf_wipe
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached:
    - myfree
    - VSTREAM_BUF_ZERO
    - VSTREAM_BUF_ACTIONS
    linkageType: ''
    returnType: void
    signature: void vstream_buf_wipe(VBUF *bp)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:759,1
    - Dst: VSTREAM_BUF_AT_END
      Src: /src/postfix/postfix/src/util/vstream.c:762,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:769,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/vstream.c:775,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:777,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:779,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/util/vstream.c:806,1
    - Dst: VSTREAM*::write_fn
      Src: /src/postfix/postfix/src/util/vstream.c:811,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/util/vstream.c:820,1
    - Dst: VSTREAM_SUB_TIME
      Src: /src/postfix/postfix/src/util/vstream.c:822,1
    - Dst: VSTREAM_SUB_TIME
      Src: /src/postfix/postfix/src/util/vstream.c:823,1
    - Dst: VSTREAM_ADD_TIME
      Src: /src/postfix/postfix/src/util/vstream.c:828,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/vstream.c:838,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/vstream.c:851,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 73
    argCount: 2
    argNames:
    - stream
    - to_flush
    argTypes:
    - VSTREAM*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 738
    functionDepth: 2
    functionLinenumber: 738
    functionLinenumberEnd: 855
    functionName: vstream_fflush_some
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - GETTIMEOFDAY
    - VSTREAM*::write_fn
    - msg_info
    - VSTREAM_ADD_TIME
    - VSTREAM_BUF_AT_END
    - memcpy
    - VSTREAM_SUB_TIME
    linkageType: ''
    returnType: int
    signature: int vstream_fflush_some(VSTREAM *stream, ssize_t to_flush)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:867,1
    - Dst: VSTREAM_SAVE_STATE
      Src: /src/postfix/postfix/src/util/vstream.c:876,1
    - Dst: VSTREAM_RESTORE_STATE
      Src: /src/postfix/postfix/src/util/vstream.c:878,1
    - Dst: VSTREAM_FFLUSH_SOME
      Src: /src/postfix/postfix/src/util/vstream.c:880,1
    - Dst: VSTREAM_SAVE_STATE
      Src: /src/postfix/postfix/src/util/vstream.c:883,1
    - Dst: VSTREAM_RESTORE_STATE
      Src: /src/postfix/postfix/src/util/vstream.c:885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 859
    functionDepth: 2
    functionLinenumber: 859
    functionLinenumberEnd: 888
    functionName: vstream_fflush_delayed
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - VSTREAM_RESTORE_STATE
    - VSTREAM_SAVE_STATE
    - VSTREAM_FFLUSH_SOME
    linkageType: ''
    returnType: int
    signature: int vstream_fflush_delayed(VSTREAM *stream)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: VBUF_TO_APPL
      Src: /src/postfix/postfix/src/util/vstream.c:894,1
    - Dst: VSTREAM_FFLUSH_SOME
      Src: /src/postfix/postfix/src/util/vstream.c:912,1
    - Dst: VSTREAM_SAVE_STATE
      Src: /src/postfix/postfix/src/util/vstream.c:916,1
    - Dst: VSTREAM_RESTORE_STATE
      Src: /src/postfix/postfix/src/util/vstream.c:921,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:929,1
    - Dst: vstream_buf_alloc
      Src: /src/postfix/postfix/src/util/vstream.c:942,1
    - Dst: vstream_fflush_delayed
      Src: /src/postfix/postfix/src/util/vstream.c:952,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/util/vstream.c:981,1
    - Dst: VSTREAM*::read_fn
      Src: /src/postfix/postfix/src/util/vstream.c:984,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/util/vstream.c:997,1
    - Dst: VSTREAM_SUB_TIME
      Src: /src/postfix/postfix/src/util/vstream.c:999,1
    - Dst: VSTREAM_SUB_TIME
      Src: /src/postfix/postfix/src/util/vstream.c:1000,1
    - Dst: VSTREAM_ADD_TIME
      Src: /src/postfix/postfix/src/util/vstream.c:1005,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/vstream.c:1015,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 78
    argCount: 1
    argNames:
    - bp
    argTypes:
    - VBUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 892
    functionDepth: 4
    functionLinenumber: 892
    functionLinenumberEnd: 1022
    functionName: vstream_buf_get_ready
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstream_buf_alloc
    - GETTIMEOFDAY
    - VSTREAM_RESTORE_STATE
    - VSTREAM_FFLUSH_SOME
    - VBUF_TO_APPL
    - VSTREAM_ADD_TIME
    - msg_info
    - vstream_fflush_delayed
    - VSTREAM_SAVE_STATE
    - VSTREAM*::read_fn
    - VSTREAM_SUB_TIME
    linkageType: ''
    returnType: int
    signature: int vstream_buf_get_ready(VBUF *bp)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: VBUF_TO_APPL
      Src: /src/postfix/postfix/src/util/vstream.c:1028,1
    - Dst: VSTREAM_SAVE_STATE
      Src: /src/postfix/postfix/src/util/vstream.c:1039,1
    - Dst: VSTREAM_RESTORE_STATE
      Src: /src/postfix/postfix/src/util/vstream.c:1044,1
    - Dst: VSTREAM_BUF_AT_START
      Src: /src/postfix/postfix/src/util/vstream.c:1046,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:1051,1
    - Dst: vstream_buf_alloc
      Src: /src/postfix/postfix/src/util/vstream.c:1065,1
    - Dst: VSTREAM_FFLUSH_SOME
      Src: /src/postfix/postfix/src/util/vstream.c:1067,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - bp
    argTypes:
    - VBUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1026
    functionDepth: 4
    functionLinenumber: 1026
    functionLinenumberEnd: 1071
    functionName: vstream_buf_put_ready
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstream_buf_alloc
    - VSTREAM_BUF_AT_START
    - VSTREAM_RESTORE_STATE
    - VSTREAM_FFLUSH_SOME
    - VBUF_TO_APPL
    - VSTREAM_SAVE_STATE
    linkageType: ''
    returnType: int
    signature: int vstream_buf_put_ready(VBUF *bp)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: VBUF_TO_APPL
      Src: /src/postfix/postfix/src/util/vstream.c:1077,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:1089,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:1091,1
    - Dst: VSTREAM_SAVE_STATE
      Src: /src/postfix/postfix/src/util/vstream.c:1096,1
    - Dst: VSTREAM_RESTORE_STATE
      Src: /src/postfix/postfix/src/util/vstream.c:1101,1
    - Dst: VSTREAM_BUF_AT_START
      Src: /src/postfix/postfix/src/util/vstream.c:1103,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:1108,1
    - Dst: vstream_fflush_some
      Src: /src/postfix/postfix/src/util/vstream.c:1126,1
    - Dst: VSTREAM_TRUNCATE
      Src: /src/postfix/postfix/src/util/vstream.c:1126,1
    - Dst: __MAXINT__
      Src: /src/postfix/postfix/src/util/vstream.c:1130,1
    - Dst: VSTREAM_ROUNDUP
      Src: /src/postfix/postfix/src/util/vstream.c:1133,1
    - Dst: vstream_buf_alloc
      Src: /src/postfix/postfix/src/util/vstream.c:1134,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/util/vstream.c:1138,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - bp
    - want
    argTypes:
    - VBUF*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1075
    functionDepth: 4
    functionLinenumber: 1075
    functionLinenumberEnd: 1139
    functionName: vstream_buf_space
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstream_buf_alloc
    - VSTREAM_BUF_AT_START
    - VSTREAM_RESTORE_STATE
    - vstream_fflush_some
    - vstream_ferror
    - VBUF_TO_APPL
    - VSTREAM_TRUNCATE
    - VSTREAM_SAVE_STATE
    - __MAXINT__
    - VSTREAM_ROUNDUP
    linkageType: ''
    returnType: int
    signature: int vstream_buf_space(VBUF *bp, ssize_t want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1120
    functionName: VSTREAM_TRUNCATE
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_TRUNCATE(count, base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1121
    functionName: VSTREAM_ROUNDUP
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_ROUNDUP(count, base)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VSTREAM_MAYBE_PURGE_WRITE
      Src: /src/postfix/postfix/src/util/vstream.c:1164,1
    - Dst: VSTREAM_MAYBE_PURGE_READ
      Src: /src/postfix/postfix/src/util/vstream.c:1167,1
    - Dst: VSTREAM_MAYBE_PURGE_WRITE
      Src: /src/postfix/postfix/src/util/vstream.c:1170,1
    - Dst: VSTREAM_MAYBE_PURGE_READ
      Src: /src/postfix/postfix/src/util/vstream.c:1171,1
    - Dst: VSTREAM_MAYBE_PURGE_READ
      Src: /src/postfix/postfix/src/util/vstream.c:1174,1
    - Dst: VSTREAM_MAYBE_PURGE_WRITE
      Src: /src/postfix/postfix/src/util/vstream.c:1177,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:1181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - stream
    - direction
    argTypes:
    - VSTREAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1143
    functionDepth: 2
    functionLinenumber: 1143
    functionLinenumberEnd: 1191
    functionName: vstream_fpurge
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 4
    functionsReached:
    - msg_panic
    - VSTREAM_MAYBE_PURGE_READ
    - VSTREAM_MAYBE_PURGE_WRITE
    linkageType: ''
    returnType: int
    signature: int vstream_fpurge(VSTREAM *stream, int direction)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1150
    functionName: VSTREAM_MAYBE_PURGE_WRITE
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_MAYBE_PURGE_WRITE(d, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1152
    functionName: VSTREAM_MAYBE_PURGE_READ
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_MAYBE_PURGE_READ(d, b)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: vstream_buf_space
      Src: /src/postfix/postfix/src/util/vstream.c:1218,1
    - Dst: VSTREAM_BUF_AT_OFFSET
      Src: /src/postfix/postfix/src/util/vstream.c:1219,1
    - Dst: VSTREAM_FFLUSH_SOME
      Src: /src/postfix/postfix/src/util/vstream.c:1235,1
    - Dst: VSTREAM_BUF_AT_END
      Src: /src/postfix/postfix/src/util/vstream.c:1238,1
    - Dst: VSTREAM_BUF_AT_END
      Src: /src/postfix/postfix/src/util/vstream.c:1247,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:1250,1
    - Dst: lseek
      Src: /src/postfix/postfix/src/util/vstream.c:1270,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 3
    argNames:
    - stream
    - offset
    - whence
    argTypes:
    - VSTREAM*
    - off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1195
    functionDepth: 5
    functionLinenumber: 1195
    functionLinenumberEnd: 1278
    functionName: vstream_fseek
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 40
    functionsReached:
    - msg_panic
    - vstream_buf_space
    - VSTREAM_FFLUSH_SOME
    - VSTREAM_BUF_AT_END
    - lseek
    - VSTREAM_BUF_AT_OFFSET
    linkageType: ''
    returnType: off_t
    signature: off_t vstream_fseek(VSTREAM *stream, off_t offset, int whence)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/postfix/postfix/src/util/vstream.c:1305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1331
    functionName: vstream_ftell
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 26
    functionsReached:
    - lseek
    linkageType: ''
    returnType: off_t
    signature: off_t vstream_ftell(VSTREAM *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/vstream.c:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1335
    functionDepth: 2
    functionLinenumber: 1335
    functionLinenumberEnd: 1354
    functionName: vstream_subopen
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached:
    - mymalloc
    linkageType: ''
    returnType: VSTREAM
    signature: VSTREAM *vstream_subopen(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:1366,1
    - Dst: vstream_subopen
      Src: /src/postfix/postfix/src/util/vstream.c:1375,1
    - Dst: VSTREAM_CAN_READ
      Src: /src/postfix/postfix/src/util/vstream.c:1377,1
    - Dst: VSTREAM_CAN_WRITE
      Src: /src/postfix/postfix/src/util/vstream.c:1378,1
    - Dst: vstream_buf_init
      Src: /src/postfix/postfix/src/util/vstream.c:1379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - fd
    - flags
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1358
    functionDepth: 3
    functionLinenumber: 1358
    functionLinenumberEnd: 1381
    functionName: vstream_fdopen
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 25
    functionsReached:
    - msg_panic
    - vstream_buf_init
    - VSTREAM_CAN_READ
    - VSTREAM_CAN_WRITE
    - vstream_subopen
    linkageType: ''
    returnType: VSTREAM
    signature: VSTREAM *vstream_fdopen(int fd, int flags)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: open_exist
      Src: /src/postfix/postfix/src/util/vstream.c:1401,1
    - Dst: open_create
      Src: /src/postfix/postfix/src/util/vstream.c:1403,1
    - Dst: fchmod
      Src: /src/postfix/postfix/src/util/vstream.c:1405,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/vstream.c:1406,1
    - Dst: open_exist
      Src: /src/postfix/postfix/src/util/vstream.c:1408,1
    - Dst: open
      Src: /src/postfix/postfix/src/util/vstream.c:1412,1
    - Dst: fchmod
      Src: /src/postfix/postfix/src/util/vstream.c:1414,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/vstream.c:1415,1
    - Dst: open
      Src: /src/postfix/postfix/src/util/vstream.c:1418,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/util/vstream.c:1424,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/vstream.c:1425,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 3
    argNames:
    - path
    - flags
    - mode
    argTypes:
    - char*
    - int
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1385
    functionDepth: 4
    functionLinenumber: 1385
    functionLinenumberEnd: 1428
    functionName: vstream_fopen
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 25
    functionsReached:
    - open_create
    - msg_warn
    - vstream_fdopen
    - open_exist
    - fchmod
    - open
    - mystrdup
    linkageType: ''
    returnType: VSTREAM
    signature: VSTREAM *vstream_fopen(const char *path, int flags, mode_t mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - path
    - ','
    - flags
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1394
    functionDepth: 0
    functionLinenumber: 1394
    functionLinenumberEnd: 1396
    functionName: open_create
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: open_create(path, flags, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - path
    - ','
    - flags
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1398
    functionName: open_exist
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: open_exist(path, flags, mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VSTREAM_BUF_AT_OFFSET
      Src: /src/postfix/postfix/src/util/vstream.c:1447,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/vstream.c:1449,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/vstream.c:1451,1
    - Dst: vstream_fflush_delayed
      Src: /src/postfix/postfix/src/util/vstream.c:1458,1
    - Dst: VSTREAM_FFLUSH_SOME
      Src: /src/postfix/postfix/src/util/vstream.c:1459,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1432
    functionDepth: 3
    functionLinenumber: 1432
    functionLinenumberEnd: 1460
    functionName: vstream_fflush
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 177
    functionsReached:
    - VSTREAM_BUF_AT_OFFSET
    - VSTREAM_FFLUSH_SOME
    - VSTRING_TERMINATE
    - vstream_fflush_delayed
    - memcpy
    linkageType: ''
    returnType: int
    signature: int vstream_fflush(VSTREAM *stream)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:1475,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/vstream.c:1479,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/util/vstream.c:1481,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/vstream.c:1484,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/vstream.c:1487,1
    - Dst: vstream_buf_wipe
      Src: /src/postfix/postfix/src/util/vstream.c:1488,1
    - Dst: vstream_buf_wipe
      Src: /src/postfix/postfix/src/util/vstream.c:1489,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/vstream.c:1493,1
    - Dst: vstream_buf_wipe
      Src: /src/postfix/postfix/src/util/vstream.c:1495,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/vstream.c:1498,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/vstream.c:1500,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/vstream.c:1502,1
    - Dst: VSTREAM_STATIC
      Src: /src/postfix/postfix/src/util/vstream.c:1503,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/vstream.c:1504,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1464
    functionDepth: 4
    functionLinenumber: 1464
    functionLinenumberEnd: 1506
    functionName: vstream_fclose
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 107
    functionsReached:
    - msg_panic
    - VSTREAM_STATIC
    - close
    - vstream_fflush
    - vstream_ferror
    - vstream_buf_wipe
    - myfree
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int vstream_fclose(VSTREAM *stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/vstream.c:1518,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/vstream.c:1531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1510
    functionDepth: 5
    functionLinenumber: 1510
    functionLinenumberEnd: 1532
    functionName: vstream_fdclose
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 4
    functionsReached:
    - vstream_fflush
    - vstream_fclose
    linkageType: ''
    returnType: int
    signature: int vstream_fdclose(VSTREAM *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/vstream.c:1541,1
    - Dst: vbuf_print
      Src: /src/postfix/postfix/src/util/vstream.c:1542,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/vstream.c:1543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1536
    functionDepth: 3
    functionLinenumber: 1536
    functionLinenumberEnd: 1545
    functionName: vstream_printf
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 89
    functionsReached:
    - va_start
    - va_end
    - vbuf_print
    linkageType: ''
    returnType: VSTREAM
    signature: VSTREAM *vstream_printf(const char *fmt,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/vstream.c:1553,1
    - Dst: vbuf_print
      Src: /src/postfix/postfix/src/util/vstream.c:1554,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/vstream.c:1555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - fmt
    argTypes:
    - VSTREAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1549
    functionDepth: 3
    functionLinenumber: 1549
    functionLinenumberEnd: 1557
    functionName: vstream_fprintf
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 29
    functionsReached:
    - va_start
    - va_end
    - vbuf_print
    linkageType: ''
    returnType: VSTREAM
    signature: VSTREAM *vstream_fprintf(VSTREAM *stream, const char *fmt,...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/vstream.c:1566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - str
    - stream
    argTypes:
    - char*
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1561
    functionDepth: 1
    functionLinenumber: 1561
    functionLinenumberEnd: 1569
    functionName: vstream_fputs
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 14
    functionsReached:
    - VSTREAM_PUTC
    linkageType: ''
    returnType: int
    signature: int vstream_fputs(const char *str, VSTREAM *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/vstream.c:1577,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/util/vstream.c:1578,1
    - Dst: vstream_fread
      Src: /src/postfix/postfix/src/util/vstream.c:1579,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vstream.c:1579,1
    - Dst: VSTRING_AT_OFFSET
      Src: /src/postfix/postfix/src/util/vstream.c:1581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - fp
    - vp
    - len
    argTypes:
    - VSTREAM*
    - VSTRING*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1583
      start: 1573
    functionDepth: 1
    functionLinenumber: 1573
    functionLinenumberEnd: 1583
    functionName: vstream_fread_buf
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 9
    functionsReached:
    - vstream_fread
    - VSTRING_SPACE
    - VSTRING_RESET
    - vstring_str
    - VSTRING_AT_OFFSET
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t vstream_fread_buf(VSTREAM *fp, VSTRING *vp, ssize_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/util/vstream.c:1591,1
    - Dst: vstream_fread
      Src: /src/postfix/postfix/src/util/vstream.c:1592,1
    - Dst: vstring_end
      Src: /src/postfix/postfix/src/util/vstream.c:1592,1
    - Dst: VSTRING_AT_OFFSET
      Src: /src/postfix/postfix/src/util/vstream.c:1594,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstream.c:1594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - fp
    - vp
    - len
    argTypes:
    - VSTREAM*
    - VSTRING*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1587
    functionDepth: 1
    functionLinenumber: 1587
    functionLinenumberEnd: 1596
    functionName: vstream_fread_app
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 1
    functionsReached:
    - vstream_fread
    - vstring_end
    - VSTRING_LEN
    - VSTRING_SPACE
    - VSTRING_AT_OFFSET
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t vstream_fread_app(VSTREAM *fp, VSTRING *vp, ssize_t len)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/vstream.c:1620,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vstream.c:1620,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:1623,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/util/vstream.c:1624,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vstream.c:1627,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vstream.c:1630,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vstream.c:1633,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/vstream.c:1637,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/vstream.c:1638,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vstream.c:1638,1
    - Dst: VSTREAM_SAVE_STATE
      Src: /src/postfix/postfix/src/util/vstream.c:1644,1
    - Dst: VSTREAM_FORK_STATE
      Src: /src/postfix/postfix/src/util/vstream.c:1645,1
    - Dst: VSTREAM_SAVE_STATE
      Src: /src/postfix/postfix/src/util/vstream.c:1647,1
    - Dst: VSTREAM_FORK_STATE
      Src: /src/postfix/postfix/src/util/vstream.c:1648,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:1654,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vstream.c:1655,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:1660,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vstream.c:1661,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vstream.c:1665,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:1668,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/util/vstream.c:1681,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vstream.c:1682,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:1684,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/vstream.c:1689,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vstream.c:1703,1
    - Dst: VSTREAM_TRY_DUPFD
      Src: /src/postfix/postfix/src/util/vstream.c:1705,1
    - Dst: VSTREAM_TRY_DUPFD
      Src: /src/postfix/postfix/src/util/vstream.c:1709,1
    - Dst: VSTREAM_TRY_DUPFD
      Src: /src/postfix/postfix/src/util/vstream.c:1713,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vstream.c:1722,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:1725,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/vstream.c:1730,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/util/vstream.c:1731,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:1748,1
    - Dst: va_arg
      Src: /src/postfix/postfix/src/util/vstream.c:1754,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:1756,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:1761,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:1765,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/vstream.c:1768,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 114
    argCount: 2
    argNames:
    - stream
    - name
    argTypes:
    - VSTREAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1600
    functionDepth: 3
    functionLinenumber: 1600
    functionLinenumberEnd: 1769
    functionName: vstream_control
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 46
    functionsReached:
    - va_start
    - msg_panic
    - va_end
    - VSTREAM_PATH
    - GETTIMEOFDAY
    - VSTREAM_TRY_DUPFD
    - va_arg
    - msg_info
    - myfree
    - mymalloc
    - VSTREAM_FORK_STATE
    - VSTREAM_SAVE_STATE
    - mystrdup
    - vstream_fileno
    linkageType: ''
    returnType: void
    signature: void vstream_control(VSTREAM *stream, int name,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1611
      start: 1610
    functionDepth: 0
    functionLinenumber: 1610
    functionLinenumberEnd: 1611
    functionName: SWAP
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP(type,a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - backup
    - ','
    - fd
    - ','
    - floor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1694
    functionDepth: 0
    functionLinenumber: 1694
    functionLinenumberEnd: 1701
    functionName: VSTREAM_TRY_DUPFD
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREAM_TRY_DUPFD(backup, fd, floor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vbuf_print
      Src: /src/postfix/postfix/src/util/vstream.c:1777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - format
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1779
      start: 1773
    functionDepth: 3
    functionLinenumber: 1773
    functionLinenumberEnd: 1779
    functionName: vstream_vprintf
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached:
    - vbuf_print
    linkageType: ''
    returnType: VSTREAM
    signature: VSTREAM *vstream_vprintf(const char *format, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vbuf_print
      Src: /src/postfix/postfix/src/util/vstream.c:1785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - vp
    - format
    - ap
    argTypes:
    - VSTREAM*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1783
    functionDepth: 3
    functionLinenumber: 1783
    functionLinenumberEnd: 1787
    functionName: vstream_vfprintf
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 2
    functionsReached:
    - vbuf_print
    linkageType: ''
    returnType: VSTREAM
    signature: VSTREAM *vstream_vfprintf(VSTREAM *vp, const char *format, va_list
      ap)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:1825,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - vp
    - command
    argTypes:
    - VSTREAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1791
    functionDepth: 2
    functionLinenumber: 1791
    functionLinenumberEnd: 1826
    functionName: vstream_bufstat
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 1
    functionsReached:
    - msg_panic
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t vstream_bufstat(VSTREAM *vp, int command)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - vp
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1832
    functionDepth: 0
    functionLinenumber: 1832
    functionLinenumberEnd: 1841
    functionName: vstream_peek
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t vstream_peek(VSTREAM *vp)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - vp
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1854
    functionName: vstream_peek_data
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *vstream_peek_data(VSTREAM *vp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vstream_subopen
      Src: /src/postfix/postfix/src/util/vstream.c:1861,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:1863,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/util/vstream.c:1868,1
    - Dst: VSTREAM_ACC_MASK
      Src: /src/postfix/postfix/src/util/vstream.c:1870,1
    - Dst: VSTREAM_BUF_AT_OFFSET
      Src: /src/postfix/postfix/src/util/vstream.c:1875,1
    - Dst: VSTREAM_BUF_AT_OFFSET
      Src: /src/postfix/postfix/src/util/vstream.c:1879,1
    - Dst: VSTREAM_BUF_AT_OFFSET
      Src: /src/postfix/postfix/src/util/vstream.c:1883,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:1887,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - stream
    - string
    - flags
    argTypes:
    - VSTREAM*
    - VSTRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1891
      start: 1858
    functionDepth: 3
    functionLinenumber: 1858
    functionLinenumberEnd: 1891
    functionName: vstream_memreopen
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - memcpy
    - VSTREAM_ACC_MASK
    - VSTREAM_BUF_AT_OFFSET
    - vstream_subopen
    linkageType: ''
    returnType: VSTREAM
    signature: VSTREAM *vstream_memreopen(VSTREAM *stream, VSTRING *string, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/vstream.c:1904,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/vstream.c:1906,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/util/vstream.c:1907,1
    - Dst: CA_VSTREAM_CTL_BUFSIZE
      Src: /src/postfix/postfix/src/util/vstream.c:1907,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/util/vstream.c:1908,1
    - Dst: CA_VSTREAM_CTL_BUFSIZE
      Src: /src/postfix/postfix/src/util/vstream.c:1908,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/util/vstream.c:1909,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/vstream.c:1910,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/vstream.c:1914,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/vstream.c:1915,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/vstream.c:1917,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - bufsize
    argTypes:
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1918
      start: 1895
    functionDepth: 4
    functionLinenumber: 1895
    functionLinenumberEnd: 1918
    functionName: copy_line
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached:
    - VSTREAM_PUTC
    - vstream_fprintf
    - CA_VSTREAM_CTL_BUFSIZE
    - vstream_fflush
    - vstream_control
    - VSTREAM_GETC
    linkageType: ''
    returnType: void
    signature: void copy_line(ssize_t bufsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/vstream.c:1926,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/vstream.c:1927,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/vstream.c:1928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1920
    functionDepth: 4
    functionLinenumber: 1920
    functionLinenumberEnd: 1929
    functionName: printf_number
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached:
    - vstream_fflush
    - vstream_printf
    linkageType: ''
    returnType: void
    signature: void printf_number(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/vstream.c:1933,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/vstream.c:1941,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/util/vstream.c:1942,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/vstream.c:1943,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstream.c:1944,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vstream.c:1945,1
    - Dst: VSTREAM_PUTCHAR
      Src: /src/postfix/postfix/src/util/vstream.c:1946,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/vstream.c:1947,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/vstream.c:1952,1
    - Dst: vstream_memopen
      Src: /src/postfix/postfix/src/util/vstream.c:1953,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/vstream.c:1954,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/util/vstream.c:1955,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/vstream.c:1956,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/vstream.c:1957,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/util/vstream.c:1958,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/vstream.c:1959,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/vstream.c:1960,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstream.c:1961,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vstream.c:1962,1
    - Dst: VSTREAM_PUTCHAR
      Src: /src/postfix/postfix/src/util/vstream.c:1963,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/vstream.c:1964,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/vstream.c:1972,1
    - Dst: vstream_memopen
      Src: /src/postfix/postfix/src/util/vstream.c:1973,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/vstream.c:1974,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/util/vstream.c:1975,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/vstream.c:1976,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/vstream.c:1977,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/util/vstream.c:1978,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/vstream.c:1979,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/vstream.c:1980,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/vstream.c:1981,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstream.c:1982,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vstream.c:1983,1
    - Dst: VSTREAM_PUTCHAR
      Src: /src/postfix/postfix/src/util/vstream.c:1984,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/vstream.c:1989,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/util/vstream.c:1990,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:1991,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/util/vstream.c:1993,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/util/vstream.c:1999,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstream.c:1999,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstream.c:1999,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:2000,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstream.c:2001,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/vstream.c:2002,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/vstream.c:2004,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstream.c:2005,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vstream.c:2006,1
    - Dst: VSTREAM_PUTCHAR
      Src: /src/postfix/postfix/src/util/vstream.c:2007,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/vstream.c:2008,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/vstream.c:2020,1
    - Dst: vstream_memopen
      Src: /src/postfix/postfix/src/util/vstream.c:2021,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/vstream.c:2022,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/util/vstream.c:2023,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/vstream.c:2024,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/util/vstream.c:2025,1
    - Dst: VSTREAM_PUTCHAR
      Src: /src/postfix/postfix/src/util/vstream.c:2026,1
    - Dst: VSTREAM_PUTCHAR
      Src: /src/postfix/postfix/src/util/vstream.c:2027,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/vstream.c:2028,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/util/vstream.c:2029,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/vstream.c:2030,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/vstream.c:2032,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/util/vstream.c:2033,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:2034,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/vstream.c:2036,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/vstream.c:2037,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/vstream.c:2038,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/util/vstream.c:2039,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstream.c:2041,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/vstream.c:2043,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/vstream.c:2044,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/util/vstream.c:2045,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/vstream.c:2046,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstream.c:2047,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vstream.c:2048,1
    - Dst: VSTREAM_PUTCHAR
      Src: /src/postfix/postfix/src/util/vstream.c:2049,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/vstream.c:2050,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/vstream.c:2051,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/vstream.c:2052,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 1931
    functionDepth: 6
    functionLinenumber: 1931
    functionLinenumberEnd: 2053
    functionName: do_memory_stream
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - VSTREAM_PUTC
    - vstream_ftell
    - vstream_fprintf
    - VSTRING_LEN
    - vstream_fseek
    - vstream_fflush
    - vstring_alloc
    - vstream_memopen
    - vstream_fclose
    - VSTREAM_PUTCHAR
    - VSTREAM_GETC
    - vstring_strcpy
    - vstream_printf
    - vstring_str
    - vstring_free
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void do_memory_stream(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/vstream.c:2063,1
    - Dst: copy_line
      Src: /src/postfix/postfix/src/util/vstream.c:2069,1
    - Dst: copy_line
      Src: /src/postfix/postfix/src/util/vstream.c:2070,1
    - Dst: copy_line
      Src: /src/postfix/postfix/src/util/vstream.c:2071,1
    - Dst: printf_number
      Src: /src/postfix/postfix/src/util/vstream.c:2072,1
    - Dst: do_memory_stream
      Src: /src/postfix/postfix/src/util/vstream.c:2073,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/vstream.c:2075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2076
      start: 2061
    functionDepth: 7
    functionLinenumber: 2061
    functionLinenumberEnd: 2076
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/vstream.c
    functionUses: 41
    functionsReached:
    - printf_number
    - exit
    - do_memory_stream
    - msg_vstream_init
    - copy_line
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/util/nvtable.c:115,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/nvtable.c:116,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/util/nvtable.c:118,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/nvtable.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - table
    - key
    - value
    argTypes:
    - NVTABLE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 5
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: nvtable_update
    functionSourceFile: /src/postfix/postfix/src/util/nvtable.c
    functionUses: 3
    functionsReached:
    - myfree
    - htable_enter
    - htable_locate
    - mystrdup
    linkageType: ''
    returnType: NVTABLE_INFO
    signature: NVTABLE_INFO *nvtable_update(NVTABLE * table, const char *key, const
      char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/postfix/postfix/src/util/sane_strtol.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - start
    - end
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: sane_strtol
    functionSourceFile: /src/postfix/postfix/src/util/sane_strtol.c
    functionUses: 2
    functionsReached:
    - strtol
    linkageType: ''
    returnType: long
    signature: long sane_strtol(const char *start, char **end, int base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/postfix/postfix/src/util/sane_strtol.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - start
    - end
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: sane_strtoul
    functionSourceFile: /src/postfix/postfix/src/util/sane_strtol.c
    functionUses: 1
    functionsReached:
    - strtoul
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long sane_strtoul(const char *start, char **end, int base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_surrogate.c:81,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_surrogate.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - dict
    - unused_func
    - key
    - value
    argTypes:
    - DICT*
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: dict_surrogate_sequence
    functionSourceFile: /src/postfix/postfix/src/util/dict_surrogate.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - DICT_ERR_VAL_RETURN
    linkageType: ''
    returnType: int
    signature: "int dict_surrogate_sequence(DICT *dict, int unused_func,\n\t\t\t               const
      char **key, const char **value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_surrogate.c:93,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_surrogate.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dict
    - unused_name
    - unused_value
    argTypes:
    - DICT*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: dict_surrogate_update
    functionSourceFile: /src/postfix/postfix/src/util/dict_surrogate.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - DICT_ERR_VAL_RETURN
    linkageType: ''
    returnType: int
    signature: "int dict_surrogate_update(DICT *dict, const char *unused_name,\n\t\t\t\t
      \        const char *unused_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_surrogate.c:104,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_surrogate.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dict
    - unused_name
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: dict_surrogate_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_surrogate.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - DICT_ERR_VAL_RETURN
    linkageType: ''
    returnType: char
    signature: char *dict_surrogate_lookup(DICT *dict, const char *unused_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_surrogate.c:115,1
    - Dst: DICT_ERR_VAL_RETURN
      Src: /src/postfix/postfix/src/util/dict_surrogate.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dict
    - unused_name
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: dict_surrogate_delete
    functionSourceFile: /src/postfix/postfix/src/util/dict_surrogate.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - DICT_ERR_VAL_RETURN
    linkageType: ''
    returnType: int
    signature: int dict_surrogate_delete(DICT *dict, const char *unused_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/dict_surrogate.c:126,1
    - Dst: dict_free
      Src: /src/postfix/postfix/src/util/dict_surrogate.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: dict_surrogate_close
    functionSourceFile: /src/postfix/postfix/src/util/dict_surrogate.c
    functionUses: 0
    functionsReached:
    - myfree
    - dict_free
    linkageType: ''
    returnType: void
    signature: void dict_surrogate_close(DICT *dict)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/util/dict_surrogate.c:148,1
    - Dst: VA_COPY
      Src: /src/postfix/postfix/src/util/dict_surrogate.c:149,1
    - Dst: log_fn
      Src: /src/postfix/postfix/src/util/dict_surrogate.c:158,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/dict_surrogate.c:159,1
    - Dst: dict_alloc
      Src: /src/postfix/postfix/src/util/dict_surrogate.c:164,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_surrogate.c:174,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/util/dict_surrogate.c:176,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/util/dict_surrogate.c:177,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/util/dict_surrogate.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 5
    argNames:
    - dict_type
    - dict_name
    - open_flags
    - dict_flags
    - fmt
    argTypes:
    - char*
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 134
    functionDepth: 4
    functionLinenumber: 134
    functionLinenumberEnd: 180
    functionName: dict_surrogate
    functionSourceFile: /src/postfix/postfix/src/util/dict_surrogate.c
    functionUses: 29
    functionsReached:
    - va_start
    - va_end
    - vstring_export
    - log_fn
    - vstring_vsprintf
    - vstring_alloc
    - dict_alloc
    - VA_COPY
    linkageType: ''
    returnType: DICT
    signature: "DICT *dict_surrogate(const char *dict_type, const char *dict_name,\n\t\t
      \              int open_flags, int dict_flags,\n\t\t               const char
      *fmt,...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - status
    - ','
    - type
    - ','
    - buf
    - ','
    - context
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: MAC_PARSE_ACTION
    functionSourceFile: /src/postfix/postfix/src/util/mac_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAC_PARSE_ACTION(status, type, buf, context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/mac_parse.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - value
    - action
    - context
    argTypes:
    - char*
    - MAC_PARSE_FN
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: mac_parse
    functionSourceFile: /src/postfix/postfix/src/util/mac_parse.c
    functionUses: 7
    functionsReached:
    - vstring_alloc
    linkageType: ''
    returnType: int
    signature: int mac_parse(const char *value, MAC_PARSE_FN action, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - start
    - ','
    - var
    - ','
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: SKIP
    functionSourceFile: /src/postfix/postfix/src/util/mac_parse.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKIP(start, var, cond)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/mac_parse.c:181,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/mac_parse.c:183,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/mac_parse.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - type
    - buf
    - unused_context
    argTypes:
    - int
    - VSTRING*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 169
    functionDepth: 4
    functionLinenumber: 169
    functionLinenumberEnd: 185
    functionName: mac_parse_print
    functionSourceFile: /src/postfix/postfix/src/util/mac_parse.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstring_str
    - vstream_printf
    linkageType: ''
    returnType: int
    signature: int mac_parse_print(int type, VSTRING *buf, void *unused_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/mac_parse.c:189,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/util/mac_parse.c:191,1
    - Dst: mac_parse
      Src: /src/postfix/postfix/src/util/mac_parse.c:192,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/mac_parse.c:192,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/mac_parse.c:193,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/mac_parse.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 4
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/mac_parse.c
    functionUses: 41
    functionsReached:
    - vstring_fgets_nonl
    - vstream_fflush
    - vstring_alloc
    - vstring_str
    - mac_parse
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EXPECTED
      Src: /src/postfix/postfix/src/util/parse_utf8_char.h:77,1
    - Dst: EXPECTED
      Src: /src/postfix/postfix/src/util/parse_utf8_char.h:81,1
    - Dst: UNEXPECTED
      Src: /src/postfix/postfix/src/util/parse_utf8_char.h:83,1
    - Dst: UNEXPECTED
      Src: /src/postfix/postfix/src/util/parse_utf8_char.h:84,1
    - Dst: UNEXPECTED
      Src: /src/postfix/postfix/src/util/parse_utf8_char.h:86,1
    - Dst: EXPECTED
      Src: /src/postfix/postfix/src/util/parse_utf8_char.h:91,1
    - Dst: UNEXPECTED
      Src: /src/postfix/postfix/src/util/parse_utf8_char.h:92,1
    - Dst: UNEXPECTED
      Src: /src/postfix/postfix/src/util/parse_utf8_char.h:94,1
    - Dst: UNEXPECTED
      Src: /src/postfix/postfix/src/util/parse_utf8_char.h:96,1
    - Dst: UNEXPECTED
      Src: /src/postfix/postfix/src/util/parse_utf8_char.h:98,1
    - Dst: EXPECTED
      Src: /src/postfix/postfix/src/util/parse_utf8_char.h:103,1
    - Dst: UNEXPECTED
      Src: /src/postfix/postfix/src/util/parse_utf8_char.h:104,1
    - Dst: UNEXPECTED
      Src: /src/postfix/postfix/src/util/parse_utf8_char.h:106,1
    - Dst: UNEXPECTED
      Src: /src/postfix/postfix/src/util/parse_utf8_char.h:108,1
    - Dst: UNEXPECTED
      Src: /src/postfix/postfix/src/util/parse_utf8_char.h:110,1
    - Dst: UNEXPECTED
      Src: /src/postfix/postfix/src/util/parse_utf8_char.h:112,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 21
    argCount: 2
    argNames:
    - str
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 120
    functionName: parse_utf8_char
    functionSourceFile: /src/postfix/postfix/src/util/parse_utf8_char.h
    functionUses: 2
    functionsReached:
    - EXPECTED
    - UNEXPECTED
    linkageType: ''
    returnType: char
    signature: char *parse_utf8_char(const char *str, const char *end)
  - 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: GETTIMEOFDAY
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETTIMEOFDAY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: getsid
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: getsid(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: CMSG_SPACE
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMSG_SPACE(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: CMSG_LEN
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMSG_LEN(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: CMSG_ALIGN
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMSG_ALIGN(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: GETTIMEOFDAY
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETTIMEOFDAY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: GETTIMEOFDAY
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETTIMEOFDAY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: S_ISSOCK
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISSOCK(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 352
    functionName: GETTIMEOFDAY
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETTIMEOFDAY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 398
    functionName: GETTIMEOFDAY
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETTIMEOFDAY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - d
    - ','
    - s
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 402
    functionName: memmove
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memmove(d,s,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - res
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 410
    functionName: OCTAL_TO_UNSIGNED
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCTAL_TO_UNSIGNED(res, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 442
    functionName: GETTIMEOFDAY
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETTIMEOFDAY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 519
    functionName: GETTIMEOFDAY
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETTIMEOFDAY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 549
    functionName: GETTIMEOFDAY
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETTIMEOFDAY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 591
    functionName: GETTIMEOFDAY
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETTIMEOFDAY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 609
    functionName: CMSG_SPACE
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMSG_SPACE(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 612
    functionName: CMSG_LEN
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMSG_LEN(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 644
    functionName: GETTIMEOFDAY
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETTIMEOFDAY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 689
    functionName: GETTIMEOFDAY
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETTIMEOFDAY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 730
    functionName: GETTIMEOFDAY
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETTIMEOFDAY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - maj
    - ','
    - min
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 756
    functionName: HAVE_GLIBC_API_VERSION_SUPPORT
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAVE_GLIBC_API_VERSION_SUPPORT(maj, min)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - maj
    - ','
    - min
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 760
    functionName: HAVE_GLIBC_API_VERSION_SUPPORT
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAVE_GLIBC_API_VERSION_SUPPORT(maj, min)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 784
    functionName: GETTIMEOFDAY
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETTIMEOFDAY(t)
  - 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: 815
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 815
    functionName: KERNEL_VERSION
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KERNEL_VERSION(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 860
    functionName: GETTIMEOFDAY
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETTIMEOFDAY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 893
    functionName: GETTIMEOFDAY
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETTIMEOFDAY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 960
    functionName: GETTIMEOFDAY
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETTIMEOFDAY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 999
    functionName: GETTIMEOFDAY
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETTIMEOFDAY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1036
    functionName: GETTIMEOFDAY
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETTIMEOFDAY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1090
    functionName: NORMAL_EXIT_STATUS
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NORMAL_EXIT_STATUS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1091
    functionName: GETTIMEOFDAY
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETTIMEOFDAY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1103
    functionName: isascii
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isascii(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1111
    functionName: WEXITSTATUS
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WEXITSTATUS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1112
    functionName: WTERMSIG
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WTERMSIG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1144
    functionName: NORMAL_EXIT_STATUS
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NORMAL_EXIT_STATUS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1145
    functionName: GETTIMEOFDAY
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETTIMEOFDAY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1157
    functionName: isascii
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isascii(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1165
    functionName: WEXITSTATUS
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WEXITSTATUS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1166
    functionName: WTERMSIG
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WTERMSIG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1193
    functionName: GETTIMEOFDAY
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETTIMEOFDAY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1218
    functionName: GETTIMEOFDAY
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETTIMEOFDAY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1225
    functionName: S_ISSOCK
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISSOCK(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1251
    functionName: GETTIMEOFDAY
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETTIMEOFDAY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1261
    functionName: S_ISSOCK
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISSOCK(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1310
    functionName: CAST_ANY_PTR_TO_INT
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_ANY_PTR_TO_INT(cptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ival
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1311
    functionName: CAST_INT_TO_VOID_PTR
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_INT_TO_VOID_PTR(ival)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - argc
    - ','
    - argv
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1323
    functionName: GETOPT
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETOPT(argc, argv, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - argc
    - ','
    - argv
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1325
    functionName: GETOPT
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETOPT(argc, argv, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - status
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1462
    functionDepth: 0
    functionLinenumber: 1462
    functionLinenumberEnd: 1463
    functionName: NORMAL_EXIT_STATUS
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NORMAL_EXIT_STATUS(status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - res
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 1479
    functionName: OCTAL_TO_UNSIGNED
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCTAL_TO_UNSIGNED(res, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1485
    functionName: INT_SIZEOF
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT_SIZEOF(foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1549
    functionDepth: 0
    functionLinenumber: 1549
    functionLinenumberEnd: 1550
    functionName: S_ISBLK
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISBLK(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1550
    functionDepth: 0
    functionLinenumber: 1550
    functionLinenumberEnd: 1551
    functionName: S_ISCHR
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISCHR(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1552
    functionName: S_ISDIR
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISDIR(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1553
    functionName: S_ISSOCK
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISSOCK(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1554
    functionName: S_ISFIFO
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISFIFO(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1554
    functionDepth: 0
    functionLinenumber: 1554
    functionLinenumberEnd: 1555
    functionName: S_ISREG
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISREG(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1556
    functionName: S_ISLNK
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISLNK(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1593
    functionDepth: 0
    functionLinenumber: 1593
    functionLinenumberEnd: 1594
    functionName: __has_attribute
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __has_attribute(x)
  - 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: 1625
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 1625
    functionName: PRINTFLIKE
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTFLIKE(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: 1627
      start: 1626
    functionDepth: 0
    functionLinenumber: 1626
    functionLinenumberEnd: 1627
    functionName: PRINTFLIKE
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTFLIKE(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: 1635
      start: 1634
    functionDepth: 0
    functionLinenumber: 1634
    functionLinenumberEnd: 1635
    functionName: SCANFLIKE
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCANFLIKE(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: 1637
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1637
    functionName: SCANFLIKE
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCANFLIKE(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: 1650
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1650
    functionName: PRINTFPTRLIKE
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTFPTRLIKE(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: 1652
      start: 1651
    functionDepth: 0
    functionLinenumber: 1651
    functionLinenumberEnd: 1652
    functionName: PRINTFPTRLIKE
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTFPTRLIKE(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1664
    functionName: EXPECTED
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECTED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1665
    functionName: UNEXPECTED
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNEXPECTED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1666
    functionDepth: 0
    functionLinenumber: 1666
    functionLinenumberEnd: 1667
    functionName: EXPECTED
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECTED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1667
    functionDepth: 0
    functionLinenumber: 1667
    functionLinenumberEnd: 1668
    functionName: UNEXPECTED
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNEXPECTED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1709
    functionDepth: 0
    functionLinenumber: 1709
    functionLinenumberEnd: 1710
    functionName: __MAXINT__
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __MAXINT__(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1721
    functionDepth: 0
    functionLinenumber: 1721
    functionLinenumberEnd: 1722
    functionName: ENFORCING_SIZE_LIMIT
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENFORCING_SIZE_LIMIT(param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1768
    functionDepth: 0
    functionLinenumber: 1768
    functionLinenumberEnd: 1769
    functionName: ISASCII
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISASCII(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1770
    functionName: _UCHAR_
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _UCHAR_(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1770
    functionDepth: 0
    functionLinenumber: 1770
    functionLinenumberEnd: 1771
    functionName: ISALNUM
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISALNUM(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1771
    functionDepth: 0
    functionLinenumber: 1771
    functionLinenumberEnd: 1772
    functionName: ISALPHA
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISALPHA(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1772
    functionDepth: 0
    functionLinenumber: 1772
    functionLinenumberEnd: 1773
    functionName: ISCNTRL
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISCNTRL(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1773
    functionDepth: 0
    functionLinenumber: 1773
    functionLinenumberEnd: 1774
    functionName: ISDIGIT
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISDIGIT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1774
    functionDepth: 0
    functionLinenumber: 1774
    functionLinenumberEnd: 1775
    functionName: ISGRAPH
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISGRAPH(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1776
    functionName: ISLOWER
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISLOWER(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1777
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1777
    functionName: ISPRINT
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISPRINT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1777
    functionDepth: 0
    functionLinenumber: 1777
    functionLinenumberEnd: 1778
    functionName: ISPUNCT
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISPUNCT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1779
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1779
    functionName: ISSPACE
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 43
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISSPACE(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1780
      start: 1779
    functionDepth: 0
    functionLinenumber: 1779
    functionLinenumberEnd: 1780
    functionName: ISUPPER
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISUPPER(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1780
    functionDepth: 0
    functionLinenumber: 1780
    functionLinenumberEnd: 1781
    functionName: TOLOWER
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 1782
      start: 1781
    functionDepth: 0
    functionLinenumber: 1781
    functionLinenumberEnd: 1782
    functionName: TOUPPER
    functionSourceFile: /src/postfix/postfix/src/util/sys_defs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOUPPER(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printable_except
      Src: /src/postfix/postfix/src/util/printable.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - string
    - replacement
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: printable
    functionSourceFile: /src/postfix/postfix/src/util/printable.c
    functionUses: 41
    functionsReached:
    - printable_except
    linkageType: ''
    returnType: char
    signature: char *printable(char *string, int replacement)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ISASCII
      Src: /src/postfix/postfix/src/util/printable.c:95,1
    - Dst: PRINT_OR_EXCEPT
      Src: /src/postfix/postfix/src/util/printable.c:95,1
    - Dst: parse_utf8_char
      Src: /src/postfix/postfix/src/util/printable.c:97,1
    - Dst: PRINT_OR_EXCEPT
      Src: /src/postfix/postfix/src/util/printable.c:98,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - string
    - replacement
    - except
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 107
    functionName: printable_except
    functionSourceFile: /src/postfix/postfix/src/util/printable.c
    functionUses: 2
    functionsReached:
    - parse_utf8_char
    - ISASCII
    - PRINT_OR_EXCEPT
    linkageType: ''
    returnType: char
    signature: char *printable_except(char *string, int replacement, const char *except)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: PRINT_OR_EXCEPT
    functionSourceFile: /src/postfix/postfix/src/util/printable.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_OR_EXCEPT(ch)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/util/printable.c:187,1
    - Dst: basename
      Src: /src/postfix/postfix/src/util/printable.c:187,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/printable.c:203,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/printable.c:204,1
    - Dst: printable
      Src: /src/postfix/postfix/src/util/printable.c:205,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/printable.c:207,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/printable.c:208,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/printable.c:211,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/printable.c:216,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/printable.c:219,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/printable.c:222,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/printable.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 179
    functionDepth: 4
    functionLinenumber: 179
    functionLinenumberEnd: 226
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/printable.c
    functionUses: 41
    functionsReached:
    - printable
    - vstream_fprintf
    - basename
    - msg_vstream_init
    - myfree
    - msg_info
    - strcmp
    - mystrdup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - bp
    - ','
    - fp
    - ','
    - lp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: readlline
    functionSourceFile: /src/postfix/postfix/src/util/readlline.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: readlline(bp, fp, lp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/util/argv_split_at.c:72,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/argv_split_at.c:73,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/util/argv_split_at.c:77,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/argv_split_at.c:78,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/argv_split_at.c:81,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/util/argv_split_at.c:82,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/argv_split_at.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - string
    - sep
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 5
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: argv_split_at
    functionSourceFile: /src/postfix/postfix/src/util/argv_split_at.c
    functionUses: 1
    functionsReached:
    - myfree
    - argv_alloc
    - argv_add
    - split_at
    - mystrdup
    - argv_terminate
    linkageType: ''
    returnType: ARGV
    signature: ARGV *argv_split_at(const char *string, int sep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/util/argv_split_at.c:91,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/argv_split_at.c:92,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/argv_split_at.c:97,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/util/argv_split_at.c:98,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/argv_split_at.c:99,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/argv_split_at.c:102,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/util/argv_split_at.c:103,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/argv_split_at.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - string
    - sep
    - count
    argTypes:
    - char*
    - int
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 89
    functionDepth: 5
    functionLinenumber: 89
    functionLinenumberEnd: 106
    functionName: argv_split_at_count
    functionSourceFile: /src/postfix/postfix/src/util/argv_split_at.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - myfree
    - argv_alloc
    - argv_add
    - split_at
    - mystrdup
    - argv_terminate
    linkageType: ''
    returnType: ARGV
    signature: ARGV *argv_split_at_count(const char *string, int sep, ssize_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/argv_split_at.c:112,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/util/argv_split_at.c:116,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/argv_split_at.c:117,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/util/argv_split_at.c:120,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/util/argv_split_at.c:121,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/argv_split_at.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - argvp
    - string
    - sep
    argTypes:
    - ARGV*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 110
    functionDepth: 5
    functionLinenumber: 110
    functionLinenumberEnd: 124
    functionName: argv_split_at_append
    functionSourceFile: /src/postfix/postfix/src/util/argv_split_at.c
    functionUses: 0
    functionsReached:
    - myfree
    - argv_add
    - split_at
    - mystrdup
    - argv_terminate
    linkageType: ''
    returnType: ARGV
    signature: ARGV *argv_split_at_append(ARGV *argvp, const char *string, int sep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vp
    - ','
    - base_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: VSTRING_GET_RESULT
    functionSourceFile: /src/postfix/postfix/src/util/vstring_vstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTRING_GET_RESULT(vp, base_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:137,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:138,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:139,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:140,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:144,1
    - Dst: VSTRING_GET_RESULT
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - vp
    - fp
    - flags
    argTypes:
    - VSTRING*
    - VSTREAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 146
    functionName: vstring_get_flags
    functionSourceFile: /src/postfix/postfix/src/util/vstring_vstream.c
    functionUses: 1
    functionsReached:
    - VSTRING_ADDCH
    - VSTRING_GET_RESULT
    - VSTRING_LEN
    - VSTRING_RESET
    - VSTREAM_GETC
    - VSTRING_TERMINATE
    linkageType: ''
    returnType: int
    signature: int vstring_get_flags(VSTRING *vp, VSTREAM *fp, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:156,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:157,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:158,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:159,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:160,1
    - Dst: VSTRING_GET_RESULT
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - vp
    - fp
    - flags
    argTypes:
    - VSTRING*
    - VSTREAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 162
    functionName: vstring_get_flags_nonl
    functionSourceFile: /src/postfix/postfix/src/util/vstring_vstream.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - VSTRING_GET_RESULT
    - VSTRING_LEN
    - VSTRING_RESET
    - VSTREAM_GETC
    - VSTRING_TERMINATE
    linkageType: ''
    returnType: int
    signature: int vstring_get_flags_nonl(VSTRING *vp, VSTREAM *fp, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:172,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:173,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:174,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:175,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:176,1
    - Dst: VSTRING_GET_RESULT
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - vp
    - fp
    - flags
    argTypes:
    - VSTRING*
    - VSTREAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: vstring_get_flags_null
    functionSourceFile: /src/postfix/postfix/src/util/vstring_vstream.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - VSTRING_GET_RESULT
    - VSTRING_LEN
    - VSTRING_RESET
    - VSTREAM_GETC
    - VSTRING_TERMINATE
    linkageType: ''
    returnType: int
    signature: int vstring_get_flags_null(VSTRING *vp, VSTREAM *fp, int flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:189,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:192,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:193,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:194,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:195,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:199,1
    - Dst: VSTRING_GET_RESULT
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - vp
    - fp
    - flags
    - bound
    argTypes:
    - VSTRING*
    - VSTREAM*
    - int
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 201
    functionName: vstring_get_flags_bound
    functionSourceFile: /src/postfix/postfix/src/util/vstring_vstream.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - VSTRING_ADDCH
    - VSTRING_GET_RESULT
    - VSTRING_LEN
    - VSTRING_RESET
    - VSTREAM_GETC
    - VSTRING_TERMINATE
    linkageType: ''
    returnType: int
    signature: "int vstring_get_flags_bound(VSTRING *vp, VSTREAM *fp, int flags,\n\t\t\t\t
      \       ssize_t bound)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:212,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:215,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:216,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:217,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:218,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:219,1
    - Dst: VSTRING_GET_RESULT
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - vp
    - fp
    - flags
    - bound
    argTypes:
    - VSTRING*
    - VSTREAM*
    - int
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 221
    functionName: vstring_get_flags_nonl_bound
    functionSourceFile: /src/postfix/postfix/src/util/vstring_vstream.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - VSTRING_ADDCH
    - VSTRING_GET_RESULT
    - VSTRING_LEN
    - VSTRING_RESET
    - VSTREAM_GETC
    - VSTRING_TERMINATE
    linkageType: ''
    returnType: int
    signature: "int vstring_get_flags_nonl_bound(VSTRING *vp, VSTREAM *fp, int flags,\n\t\t\t\t
      \            ssize_t bound)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:232,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:235,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:236,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:237,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:238,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:239,1
    - Dst: VSTRING_GET_RESULT
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - vp
    - fp
    - flags
    - bound
    argTypes:
    - VSTRING*
    - VSTREAM*
    - int
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 241
    functionName: vstring_get_flags_null_bound
    functionSourceFile: /src/postfix/postfix/src/util/vstring_vstream.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - VSTRING_ADDCH
    - VSTRING_GET_RESULT
    - VSTRING_LEN
    - VSTRING_RESET
    - VSTREAM_GETC
    - VSTRING_TERMINATE
    linkageType: ''
    returnType: int
    signature: "int vstring_get_flags_null_bound(VSTRING *vp, VSTREAM *fp, int flags,\n\t\t\t\t
      \            ssize_t bound)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:254,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:257,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:258,1
    - Dst: vstring_fgets
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:259,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:260,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:260,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:261,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:262,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/vstring_vstream.c:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 252
    functionDepth: 5
    functionLinenumber: 252
    functionLinenumberEnd: 265
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/vstring_vstream.c
    functionUses: 41
    functionsReached:
    - vstring_str
    - vstream_fprintf
    - vstring_fgets
    - vstring_alloc
    - vstream_fclose
    - vstream_fflush
    - msg_fatal
    - vstream_fopen
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - string
    - original
    - replacement
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 57
    functionName: translit
    functionSourceFile: /src/postfix/postfix/src/util/translit.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *translit(char *string, const char *original, const char *replacement)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/translit.c:75,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/translit.c:78,1
    - Dst: vstring_fgets
      Src: /src/postfix/postfix/src/util/translit.c:79,1
    - Dst: vstream_fputs
      Src: /src/postfix/postfix/src/util/translit.c:80,1
    - Dst: translit
      Src: /src/postfix/postfix/src/util/translit.c:80,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/translit.c:80,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/translit.c:81,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/translit.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 4
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/translit.c
    functionUses: 41
    functionsReached:
    - vstring_fgets
    - vstring_alloc
    - vstream_fflush
    - translit
    - vstream_fputs
    - msg_fatal
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: statfs
      Src: /src/postfix/postfix/src/util/fsspace.c:76,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/fsspace.c:77,1
    - Dst: statfs
      Src: /src/postfix/postfix/src/util/fsspace.c:83,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/fsspace.c:84,1
    - Dst: statvfs
      Src: /src/postfix/postfix/src/util/fsspace.c:92,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/fsspace.c:93,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/fsspace.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - path
    - sp
    argTypes:
    - char*
    - struct fsspace*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 100
    functionName: fsspace
    functionSourceFile: /src/postfix/postfix/src/util/fsspace.c
    functionUses: 1
    functionsReached:
    - msg_fatal
    - statfs
    - statvfs
    - msg_info
    linkageType: ''
    returnType: void
    signature: void fsspace(const char *path, struct fsspace * sp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/fsspace.c:116,1
    - Dst: fsspace
      Src: /src/postfix/postfix/src/util/fsspace.c:119,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/fsspace.c:120,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/fsspace.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 4
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/fsspace.c
    functionUses: 41
    functionsReached:
    - fsspace
    - msg_fatal
    - vstream_fflush
    - vstream_printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: CA_DICT_CACHE_CTL_FLAGS
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_DICT_CACHE_CTL_FLAGS(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: CA_DICT_CACHE_CTL_INTERVAL
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_DICT_CACHE_CTL_INTERVAL(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: CA_DICT_CACHE_CTL_VALIDATOR
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_DICT_CACHE_CTL_VALIDATOR(v)
  - 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: CA_DICT_CACHE_CTL_CONTEXT
    functionSourceFile: /src/postfix/postfix/src/util/dict_cache.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA_DICT_CACHE_CTL_CONTEXT(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/util/byte_mask.c
    functionUses: 544
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/byte_mask.c:163,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/byte_mask.c:176,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/byte_mask.c:179,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/byte_mask.c:183,1
    - Dst: TOLOWER
      Src: /src/postfix/postfix/src/util/byte_mask.c:189,1
    - Dst: TOLOWER
      Src: /src/postfix/postfix/src/util/byte_mask.c:189,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/byte_mask.c:192,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 4
    argNames:
    - context
    - table
    - bytes
    - flags
    argTypes:
    - char*
    - BYTE_MASK*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 199
    functionName: byte_mask_opt
    functionSourceFile: /src/postfix/postfix/src/util/byte_mask.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_warn
    - msg_info
    - TOLOWER
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: "int byte_mask_opt(const char *context, const BYTE_MASK *table,\n\t\t
      \             const char *bytes, int flags)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/byte_mask.c:212,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/byte_mask.c:217,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/util/byte_mask.c:220,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/byte_mask.c:225,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/byte_mask.c:228,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/byte_mask.c:232,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/util/byte_mask.c:239,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/util/byte_mask.c:242,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/byte_mask.c:244,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 5
    argNames:
    - buf
    - context
    - table
    - mask
    - flags
    argTypes:
    - VSTRING*
    - char*
    - BYTE_MASK*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 245
    functionName: str_byte_mask_opt
    functionSourceFile: /src/postfix/postfix/src/util/byte_mask.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstring_sprintf_append
    - msg_warn
    - vstring_alloc
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - msg_fatal
    - STR
    linkageType: ''
    returnType: char
    signature: "char *str_byte_mask_opt(VSTRING *buf, const char *context,\n\t\t\t
      \             const BYTE_MASK *table,\n\t\t\t              int mask, int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/byte_mask.c:279,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/byte_mask.c:280,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/byte_mask.c:283,1
    - Dst: name_mask
      Src: /src/postfix/postfix/src/util/byte_mask.c:284,1
    - Dst: name_mask
      Src: /src/postfix/postfix/src/util/byte_mask.c:285,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/util/byte_mask.c:286,1
    - Dst: byte_mask_opt
      Src: /src/postfix/postfix/src/util/byte_mask.c:287,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/byte_mask.c:288,1
    - Dst: str_byte_mask_opt
      Src: /src/postfix/postfix/src/util/byte_mask.c:289,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/byte_mask.c:291,1
    - Dst: STR
      Src: /src/postfix/postfix/src/util/byte_mask.c:292,1
    - Dst: str_byte_mask_opt
      Src: /src/postfix/postfix/src/util/byte_mask.c:295,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/util/byte_mask.c:297,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/util/byte_mask.c:299,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/byte_mask.c:301,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/byte_mask.c:302,1
    - Dst: exit
      Src: /src/postfix/postfix/src/util/byte_mask.c:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 257
    functionDepth: 4
    functionLinenumber: 257
    functionLinenumberEnd: 304
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/byte_mask.c
    functionUses: 41
    functionsReached:
    - vstring_get_nonl
    - name_mask
    - vstream_fflush
    - vstring_alloc
    - exit
    - byte_mask_opt
    - str_byte_mask_opt
    - vstream_printf
    - msg_fatal
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/stream_trigger.c:78,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/util/stream_trigger.c:79,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/util/stream_trigger.c:80,1
    - Dst: close
      Src: /src/postfix/postfix/src/util/stream_trigger.c:81,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/stream_trigger.c:82,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/stream_trigger.c:83,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/util/stream_trigger.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: stream_trigger_event
    functionSourceFile: /src/postfix/postfix/src/util/stream_trigger.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - close
    - myfree
    - event_disable_readwrite
    - event_cancel_timer
    linkageType: ''
    returnType: void
    signature: void stream_trigger_event(int event, void *context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/util/stream_trigger.c:96,1
    - Dst: stream_connect
      Src: /src/postfix/postfix/src/util/stream_trigger.c:101,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/stream_trigger.c:103,1
    - Dst: close_on_exec
      Src: /src/postfix/postfix/src/util/stream_trigger.c:106,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/stream_trigger.c:111,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/util/stream_trigger.c:113,1
    - Dst: write_buf
      Src: /src/postfix/postfix/src/util/stream_trigger.c:118,1
    - Dst: write_buf
      Src: /src/postfix/postfix/src/util/stream_trigger.c:119,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/stream_trigger.c:121,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/util/stream_trigger.c:127,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/util/stream_trigger.c:128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - service
    - buf
    - len
    - timeout
    argTypes:
    - char*
    - char*
    - ssize_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 89
    functionDepth: 5
    functionLinenumber: 89
    functionLinenumberEnd: 130
    functionName: stream_trigger
    functionSourceFile: /src/postfix/postfix/src/util/stream_trigger.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - event_request_timer
    - event_enable_read
    - close_on_exec
    - msg_info
    - stream_connect
    - mymalloc
    - mystrdup
    - write_buf
    linkageType: ''
    returnType: int
    signature: int stream_trigger(const char *service, const char *buf, ssize_t len,
      int timeout)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: allascii
      Src: /src/postfix/postfix/src/util/dict_utf8.c:103,1
    - Dst: valid_utf8_stringz
      Src: /src/postfix/postfix/src/util/dict_utf8.c:103,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/dict_utf8.c:116,1
    - Dst: casefold
      Src: /src/postfix/postfix/src/util/dict_utf8.c:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - dict
    - string
    - err
    argTypes:
    - DICT*
    - char*
    - CONST_CHAR_STAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 120
    functionName: dict_utf8_check_fold
    functionSourceFile: /src/postfix/postfix/src/util/dict_utf8.c
    functionUses: 0
    functionsReached:
    - casefold
    - valid_utf8_stringz
    - allascii
    - vstring_alloc
    linkageType: ''
    returnType: char
    signature: "char *dict_utf8_check_fold(DICT *dict, const char *string,\n\t\t\t\t
      \         CONST_CHAR_STAR *err)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: allascii
      Src: /src/postfix/postfix/src/util/dict_utf8.c:126,1
    - Dst: valid_utf8_stringz
      Src: /src/postfix/postfix/src/util/dict_utf8.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - string
    - err
    argTypes:
    - char*
    - CONST_CHAR_STAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: dict_utf8_check
    functionSourceFile: /src/postfix/postfix/src/util/dict_utf8.c
    functionUses: 0
    functionsReached:
    - valid_utf8_stringz
    - allascii
    linkageType: ''
    returnType: int
    signature: int dict_utf8_check(const char *string, CONST_CHAR_STAR *err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dict_utf8_check_fold
      Src: /src/postfix/postfix/src/util/dict_utf8.c:147,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_utf8.c:148,1
    - Dst: DICT_UTF8_BACKUP*::lookup
      Src: /src/postfix/postfix/src/util/dict_utf8.c:160,1
    - Dst: dict_utf8_check
      Src: /src/postfix/postfix/src/util/dict_utf8.c:166,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_utf8.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - dict
    - key
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 136
    functionDepth: 4
    functionLinenumber: 136
    functionLinenumberEnd: 174
    functionName: dict_utf8_lookup
    functionSourceFile: /src/postfix/postfix/src/util/dict_utf8.c
    functionUses: 0
    functionsReached:
    - dict_utf8_check_fold
    - dict_utf8_check
    - msg_warn
    - DICT_UTF8_BACKUP*::lookup
    linkageType: ''
    returnType: char
    signature: char *dict_utf8_lookup(DICT *dict, const char *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dict_utf8_check_fold
      Src: /src/postfix/postfix/src/util/dict_utf8.c:189,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_utf8.c:190,1
    - Dst: dict_utf8_check
      Src: /src/postfix/postfix/src/util/dict_utf8.c:199,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_utf8.c:200,1
    - Dst: DICT_UTF8_BACKUP*::update
      Src: /src/postfix/postfix/src/util/dict_utf8.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - dict
    - key
    - value
    argTypes:
    - DICT*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 178
    functionDepth: 5
    functionLinenumber: 178
    functionLinenumberEnd: 217
    functionName: dict_utf8_update
    functionSourceFile: /src/postfix/postfix/src/util/dict_utf8.c
    functionUses: 0
    functionsReached:
    - dict_utf8_check_fold
    - dict_utf8_check
    - msg_warn
    - DICT_UTF8_BACKUP*::update
    linkageType: ''
    returnType: int
    signature: int dict_utf8_update(DICT *dict, const char *key, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_utf8_check_fold
      Src: /src/postfix/postfix/src/util/dict_utf8.c:232,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/dict_utf8.c:233,1
    - Dst: DICT_UTF8_BACKUP*::delete
      Src: /src/postfix/postfix/src/util/dict_utf8.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - dict
    - key
    argTypes:
    - DICT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 221
    functionDepth: 4
    functionLinenumber: 221
    functionLinenumberEnd: 250
    functionName: dict_utf8_delete
    functionSourceFile: /src/postfix/postfix/src/util/dict_utf8.c
    functionUses: 0
    functionsReached:
    - dict_utf8_check_fold
    - msg_warn
    - DICT_UTF8_BACKUP*::delete
    linkageType: ''
    returnType: int
    signature: int dict_utf8_delete(DICT *dict, const char *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_utf8.c:263,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_utf8.c:265,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/dict_utf8.c:268,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/util/dict_utf8.c:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - dict
    argTypes:
    - DICT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 300
    functionName: dict_utf8_activate
    functionSourceFile: /src/postfix/postfix/src/util/dict_utf8.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - mymalloc
    linkageType: ''
    returnType: DICT
    signature: DICT *dict_utf8_activate(DICT *dict)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/util/msg_syslog.c:173,1
    - Dst: syslog
      Src: /src/postfix/postfix/src/util/msg_syslog.c:176,1
    - Dst: syslog
      Src: /src/postfix/postfix/src/util/msg_syslog.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - level
    - text
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 182
    functionName: msg_syslog_print
    functionSourceFile: /src/postfix/postfix/src/util/msg_syslog.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - syslog
    linkageType: ''
    returnType: void
    signature: void msg_syslog_print(int level, const char *text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unsafe
      Src: /src/postfix/postfix/src/util/msg_syslog.c:196,1
    - Dst: getenv
      Src: /src/postfix/postfix/src/util/msg_syslog.c:197,1
    - Dst: unsetenv
      Src: /src/postfix/postfix/src/util/msg_syslog.c:198,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/util/msg_syslog.c:200,1
    - Dst: tzset
      Src: /src/postfix/postfix/src/util/msg_syslog.c:202,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/util/msg_syslog.c:205,1
    - Dst: openlog
      Src: /src/postfix/postfix/src/util/msg_syslog.c:207,1
    - Dst: msg_output
      Src: /src/postfix/postfix/src/util/msg_syslog.c:210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - name
    - logopt
    - facility
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 186
    functionDepth: 4
    functionLinenumber: 186
    functionLinenumberEnd: 213
    functionName: msg_syslog_init
    functionSourceFile: /src/postfix/postfix/src/util/msg_syslog.c
    functionUses: 1
    functionsReached:
    - msg_output
    - strchr
    - getenv
    - unsetenv
    - tzset
    - openlog
    - msg_fatal
    - unsafe
    linkageType: ''
    returnType: void
    signature: void msg_syslog_init(const char *name, int logopt, int facility)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/util/msg_syslog.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - facility_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 228
    functionName: msg_syslog_set_facility
    functionSourceFile: /src/postfix/postfix/src/util/msg_syslog.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int msg_syslog_set_facility(const char *facility_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: msg_syslog_disable
    functionSourceFile: /src/postfix/postfix/src/util/msg_syslog.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void msg_syslog_disable(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/util/msg_syslog.c:247,1
    - Dst: msg_syslog_init
      Src: /src/postfix/postfix/src/util/msg_syslog.c:249,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/util/msg_syslog.c:251,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/util/msg_syslog.c:253,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/util/msg_syslog.c:255,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/msg_syslog.c:257,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/msg_syslog.c:258,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/msg_syslog.c:258,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/msg_syslog.c:259,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/msg_syslog.c:260,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/util/msg_syslog.c:261,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/util/msg_syslog.c:261,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/util/msg_syslog.c:262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 245
    functionDepth: 5
    functionLinenumber: 245
    functionLinenumberEnd: 264
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/util/msg_syslog.c
    functionUses: 41
    functionsReached:
    - msg_warn
    - msg_error
    - vstring_alloc
    - vstring_strcat
    - vstring_str
    - vstring_free
    - msg_syslog_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: SOCK_ADDR_PTR
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCK_ADDR_PTR(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: SOCK_ADDR_FAMILY
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCK_ADDR_FAMILY(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: SOCK_ADDR_LEN
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCK_ADDR_LEN(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: SOCK_ADDR_IN_PTR
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCK_ADDR_IN_PTR(sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: SOCK_ADDR_IN_FAMILY
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCK_ADDR_IN_FAMILY(sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: SOCK_ADDR_IN_PORT
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCK_ADDR_IN_PORT(sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: SOCK_ADDR_IN_ADDR
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCK_ADDR_IN_ADDR(sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ia
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: IN_ADDR
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN_ADDR(ia)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: SOCK_ADDR_LEN
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCK_ADDR_LEN(sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: SOCK_ADDR_ADDRP
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCK_ADDR_ADDRP(sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: SOCK_ADDR_PORT
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCK_ADDR_PORT(sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: SOCK_ADDR_PORTP
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCK_ADDR_PORTP(sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: SOCK_ADDR_IN6_PTR
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCK_ADDR_IN6_PTR(sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: SOCK_ADDR_IN6_FAMILY
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCK_ADDR_IN6_FAMILY(sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: SOCK_ADDR_IN6_PORT
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCK_ADDR_IN6_PORT(sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: SOCK_ADDR_IN6_ADDR
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCK_ADDR_IN6_ADDR(sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ia
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: IN6_ADDR
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN6_ADDR(ia)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sa
    - ','
    - sb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: SOCK_ADDR_EQ_ADDR
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCK_ADDR_EQ_ADDR(sa, sb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sa
    - ','
    - sb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: SOCK_ADDR_EQ_PORT
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCK_ADDR_EQ_PORT(sa, sb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: SOCK_ADDR_LEN
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCK_ADDR_LEN(sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: SOCK_ADDR_ADDRP
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCK_ADDR_ADDRP(sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: SOCK_ADDR_PORT
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCK_ADDR_PORT(sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: SOCK_ADDR_PORTP
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCK_ADDR_PORTP(sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sa
    - ','
    - sb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: SOCK_ADDR_EQ_ADDR
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCK_ADDR_EQ_ADDR(sa, sb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sa
    - ','
    - sb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: SOCK_ADDR_EQ_PORT
    functionSourceFile: /src/postfix/postfix/src/util/sock_addr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCK_ADDR_EQ_PORT(sa, sb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alarm
      Src: /src/postfix/postfix/src/util/killme_after.c:61,1
    - Dst: sigemptyset
      Src: /src/postfix/postfix/src/util/killme_after.c:62,1
    - Dst: getpid
      Src: /src/postfix/postfix/src/util/killme_after.c:64,1
    - Dst: sigaction
      Src: /src/postfix/postfix/src/util/killme_after.c:65,1
    - Dst: alarm
      Src: /src/postfix/postfix/src/util/killme_after.c:66,1
    - Dst: sigaddset
      Src: /src/postfix/postfix/src/util/killme_after.c:67,1
    - Dst: sigprocmask
      Src: /src/postfix/postfix/src/util/killme_after.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - seconds
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 69
    functionName: killme_after
    functionSourceFile: /src/postfix/postfix/src/util/killme_after.c
    functionUses: 2
    functionsReached:
    - alarm
    - sigaction
    - getpid
    - sigprocmask
    - sigaddset
    - sigemptyset
    linkageType: ''
    returnType: void
    signature: void killme_after(unsigned int seconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_state.c:62,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_state.c:65,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_state.c:66,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_state.c:67,1
    - Dst: qmqpd_peer_init
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_state.c:68,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_state.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 80
    functionName: qmqpd_state_alloc
    functionSourceFile: /src/postfix/postfix/src/qmqpd/qmqpd_state.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - GETTIMEOFDAY
    - qmqpd_peer_init
    - vstring_alloc
    linkageType: ''
    returnType: QMQPD_STATE
    signature: QMQPD_STATE *qmqpd_state_alloc(VSTREAM *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_state.c:86,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_state.c:87,1
    - Dst: qmqpd_peer_reset
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_state.c:88,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_state.c:90,1
    - Dst: mail_stream_cleanup
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_state.c:92,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_state.c:94,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_state.c:96,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_state.c:97,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_state.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - QMQPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: qmqpd_state_free
    functionSourceFile: /src/postfix/postfix/src/qmqpd/qmqpd_state.c
    functionUses: 0
    functionsReached:
    - myfree
    - qmqpd_peer_reset
    - mail_stream_cleanup
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void qmqpd_state_free(QMQPD_STATE *state)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:84,1
    - Dst: getpeername
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:92,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:92,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:100,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:101,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:102,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:104,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:130,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:131,1
    - Dst: geteuid
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:142,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:142,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:143,1
    - Dst: getuid
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:144,1
    - Dst: geteuid
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:144,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:145,1
    - Dst: sockaddr_to_hostaddr
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:152,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:154,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:155,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:156,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:163,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:164,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:176,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:177,1
    - Dst: SOCK_ADDR_IN6_ADDR
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:177,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:178,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:182,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:185,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:186,1
    - Dst: hostaddr_to_sockaddr
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:188,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:190,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:191,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:195,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:196,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:208,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:210,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:221,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:222,1
    - Dst: sockaddr_to_hostname
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:240,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:242,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:247,1
    - Dst: hostname_to_sockaddr_pf
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:252,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:255,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:256,1
    - Dst: REJECT_PEER_NAME
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:257,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:261,1
    - Dst: REJECT_PEER_NAME
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:263,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:266,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:267,1
    - Dst: sock_addr_cmp_addr
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:271,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:274,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:284,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:285,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:286,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:288,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:295,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 83
    argCount: 1
    argNames:
    - state
    argTypes:
    - QMQPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 78
    functionDepth: 4
    functionLinenumber: 78
    functionLinenumberEnd: 298
    functionName: qmqpd_peer_init
    functionSourceFile: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c
    functionUses: 1
    functionsReached:
    - inet_proto_info
    - IN6_IS_ADDR_V4MAPPED
    - sock_addr_cmp_addr
    - msg_info
    - memcpy
    - REJECT_PEER_NAME
    - getuid
    - sockaddr_to_hostname
    - msg_panic
    - getpeername
    - msg_error
    - concatenate
    - hostaddr_to_sockaddr
    - sockaddr_to_hostaddr
    - SOCK_ADDR_IN6_ADDR
    - MAI_STRERROR
    - freeaddrinfo
    - strrchr
    - strchr
    - msg_warn
    - geteuid
    - hostname_to_sockaddr_pf
    - vstream_fileno
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: void
    signature: void qmqpd_peer_init(QMQPD_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: REJECT_PEER_NAME
    functionSourceFile: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REJECT_PEER_NAME(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:304,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:305,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:306,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:307,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - QMQPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 309
    functionName: qmqpd_peer_reset
    functionSourceFile: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c
    functionUses: 1
    functionsReached:
    - myfree
    linkageType: ''
    returnType: void
    signature: void qmqpd_peer_reset(QMQPD_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/qmqpd/qmqpd.c
    functionUses: 546
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/qmqpd/qmqpd.c
    functionUses: 181
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: input_transp_cleanup
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:271,1
    - Dst: smtputf8_autodetect
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:273,1
    - Dst: mail_stream_service
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:275,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:277,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:278,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:280,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:283,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:284,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:291,1
    - Dst: REC_TYPE_TIME_ARG
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:292,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - QMQPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 295
    functionName: qmqpd_open_file
    functionSourceFile: /src/postfix/postfix/src/qmqpd/qmqpd.c
    functionUses: 0
    functionsReached:
    - input_transp_cleanup
    - SEND_ATTR_INT
    - attr_print
    - msg_info
    - mail_stream_service
    - rec_fprintf
    - REC_TYPE_TIME_ARG
    - msg_fatal
    - mystrdup
    - smtputf8_autodetect
    linkageType: ''
    returnType: void
    signature: void qmqpd_open_file(QMQPD_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: netstring_get
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - QMQPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 4
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: qmqpd_read_content
    functionSourceFile: /src/postfix/postfix/src/qmqpd/qmqpd.c
    functionUses: 0
    functionsReached:
    - netstring_get
    linkageType: ''
    returnType: void
    signature: void qmqpd_read_content(QMQPD_STATE *state)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: netstring_get
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:322,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:323,1
    - Dst: vstring_end
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:325,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:325,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:326,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:327,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:327,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:329,1
    - Dst: verp_delims_verify
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:332,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:334,1
    - Dst: memmove
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:337,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:338,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:338,1
    - Dst: REC_PUT_BUF
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:341,1
    - Dst: rec_put
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:345,1
    - Dst: mystrndup
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:347,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:347,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:347,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - QMQPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 307
    functionDepth: 4
    functionLinenumber: 307
    functionLinenumberEnd: 348
    functionName: qmqpd_copy_sender
    functionSourceFile: /src/postfix/postfix/src/qmqpd/qmqpd.c
    functionUses: 0
    functionsReached:
    - memmove
    - vstring_end
    - strchr
    - vstring_sprintf
    - vstring_truncate
    - rec_put
    - REC_PUT_BUF
    - mystrndup
    - LEN
    - netstring_get
    - VSTRING_TERMINATE
    - strcmp
    - verp_delims_verify
    - STR
    linkageType: ''
    returnType: void
    signature: void qmqpd_copy_sender(QMQPD_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:358,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:360,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:362,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:364,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:366,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:378,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:380,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:382,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:384,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - QMQPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 352
    functionDepth: 3
    functionLinenumber: 352
    functionLinenumberEnd: 390
    functionName: qmqpd_write_attributes
    functionSourceFile: /src/postfix/postfix/src/qmqpd/qmqpd.c
    functionUses: 0
    functionsReached:
    - rec_fprintf
    linkageType: ''
    returnType: void
    signature: void qmqpd_write_attributes(QMQPD_STATE *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:407,1
    - Dst: vstream_ungetc
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:408,1
    - Dst: netstring_get
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:409,1
    - Dst: REC_PUT_BUF
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:411,1
    - Dst: mystrndup
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:415,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:415,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - QMQPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 394
    functionDepth: 4
    functionLinenumber: 394
    functionLinenumberEnd: 417
    functionName: qmqpd_copy_recipients
    functionSourceFile: /src/postfix/postfix/src/qmqpd/qmqpd.c
    functionUses: 0
    functionsReached:
    - vstream_ungetc
    - REC_PUT_BUF
    - mystrndup
    - LEN
    - netstring_get
    - VSTREAM_GETC
    - STR
    linkageType: ''
    returnType: void
    signature: void qmqpd_copy_recipients(QMQPD_STATE *state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STR
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:424,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:424,1
    - Dst: UCHARPTR
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:436,1
    - Dst: UCHARPTR
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - message
    - start
    - len
    - next
    argTypes:
    - VSTRING*
    - char**
    - int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 442
    functionName: qmqpd_next_line
    functionSourceFile: /src/postfix/postfix/src/qmqpd/qmqpd.c
    functionUses: 0
    functionsReached:
    - UCHARPTR
    - LEN
    - STR
    linkageType: ''
    returnType: int
    signature: "int qmqpd_next_line(VSTRING *message, char **start, int *len,\n\t\t\t
      \          char **next)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 433
    functionName: UCHARPTR
    functionSourceFile: /src/postfix/postfix/src/qmqpd/qmqpd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UCHARPTR(x)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:461,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:462,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:465,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:469,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:470,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:471,1
    - Dst: mail_date
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:472,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:474,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:477,1
    - Dst: mail_date
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:479,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:482,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:483,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:484,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:497,1
    - Dst: qmqpd_next_line
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:498,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:505,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:505,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:506,1
    - Dst: IS_SPACE_TAB
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:511,1
    - Dst: rec_put
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:512,1
    - Dst: rec_put
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:514,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 1
    argNames:
    - state
    argTypes:
    - QMQPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 446
    functionDepth: 3
    functionLinenumber: 446
    functionLinenumberEnd: 519
    functionName: qmqpd_write_content
    functionSourceFile: /src/postfix/postfix/src/qmqpd/qmqpd.c
    functionUses: 0
    functionsReached:
    - mail_date
    - rec_put
    - strspn
    - IS_SPACE_TAB
    - rec_fprintf
    - strncmp
    - rec_fputs
    - qmqpd_next_line
    - quote_822_local
    - STR
    linkageType: ''
    returnType: void
    signature: void qmqpd_write_content(QMQPD_STATE *state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:530,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:531,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:532,1
    - Dst: mail_stream_finish
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:539,1
    - Dst: mail_stream_cleanup
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:541,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - QMQPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 523
    functionDepth: 4
    functionLinenumber: 523
    functionLinenumberEnd: 543
    functionName: qmqpd_close_file
    functionSourceFile: /src/postfix/postfix/src/qmqpd/qmqpd.c
    functionUses: 0
    functionsReached:
    - mail_stream_finish
    - vstream_fflush
    - rec_fputs
    - mail_stream_cleanup
    linkageType: ''
    returnType: void
    signature: void qmqpd_close_file(QMQPD_STATE *state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:559,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:560,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:561,1
    - Dst: vstring_vsprintf_append
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:562,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:563,1
    - Dst: NETSTRING_PUT_BUF
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:564,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:567,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:569,1
    - Dst: netstring_fflush
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:570,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - state
    - log_message
    - status_code
    - fmt
    argTypes:
    - QMQPD_STATE*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 547
    functionDepth: 4
    functionLinenumber: 547
    functionLinenumberEnd: 571
    functionName: qmqpd_reply
    functionSourceFile: /src/postfix/postfix/src/qmqpd/qmqpd.c
    functionUses: 0
    functionsReached:
    - va_start
    - VSTRING_ADDCH
    - va_end
    - sleep
    - NETSTRING_PUT_BUF
    - VSTRING_RESET
    - vstring_vsprintf_append
    - netstring_fflush
    - STR
    linkageType: ''
    returnType: void
    signature: "void qmqpd_reply(QMQPD_STATE *state, int log_message,\n\t\t\t        int
      status_code, const char *fmt,...)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qmqpd_reply
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:587,1
    - Dst: qmqpd_reply
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:590,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:591,1
    - Dst: qmqpd_reply
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:593,1
    - Dst: qmqpd_reply
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:596,1
    - Dst: qmqpd_reply
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:599,1
    - Dst: qmqpd_reply
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:602,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:602,1
    - Dst: STR
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:604,1
    - Dst: qmqpd_reply
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:606,1
    - Dst: qmqpd_reply
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:609,1
    - Dst: qmqpd_reply
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:612,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - QMQPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 575
    functionDepth: 5
    functionLinenumber: 575
    functionLinenumberEnd: 615
    functionName: qmqpd_send_status
    functionSourceFile: /src/postfix/postfix/src/qmqpd/qmqpd.c
    functionUses: 0
    functionsReached:
    - qmqpd_reply
    - STR
    linkageType: ''
    returnType: void
    signature: void qmqpd_send_status(QMQPD_STATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qmqpd_open_file
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:626,1
    - Dst: netstring_get_length
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:632,1
    - Dst: qmqpd_read_content
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:643,1
    - Dst: qmqpd_copy_sender
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:648,1
    - Dst: qmqpd_write_attributes
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:653,1
    - Dst: qmqpd_copy_recipients
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:659,1
    - Dst: qmqpd_write_content
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:666,1
    - Dst: qmqpd_close_file
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:671,1
    - Dst: qmqpd_send_status
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - QMQPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 619
    functionDepth: 6
    functionLinenumber: 619
    functionLinenumberEnd: 677
    functionName: qmqpd_receive
    functionSourceFile: /src/postfix/postfix/src/qmqpd/qmqpd.c
    functionUses: 0
    functionsReached:
    - qmqpd_close_file
    - qmqpd_copy_sender
    - qmqpd_write_attributes
    - qmqpd_send_status
    - qmqpd_open_file
    - qmqpd_write_content
    - qmqpd_copy_recipients
    - netstring_get_length
    - qmqpd_read_content
    linkageType: ''
    returnType: void
    signature: void qmqpd_receive(QMQPD_STATE *state)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: netstring_setup
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:685,1
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:687,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:690,1
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:702,1
    - Dst: qmqpd_reply
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:704,1
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:710,1
    - Dst: qmqpd_reply
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:712,1
    - Dst: namadr_list_match
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:721,1
    - Dst: qmqpd_receive
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:722,1
    - Dst: qmqpd_reply
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:724,1
    - Dst: qmqpd_reply
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:728,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:739,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 1
    argNames:
    - state
    argTypes:
    - QMQPD_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 681
    functionDepth: 7
    functionLinenumber: 681
    functionLinenumberEnd: 742
    functionName: qmqpd_proto
    functionSourceFile: /src/postfix/postfix/src/qmqpd/qmqpd.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - qmqpd_receive
    - netstring_setup
    - msg_info
    - vstream_setjmp
    - qmqpd_reply
    - namadr_list_match
    linkageType: ''
    returnType: void
    signature: void qmqpd_proto(QMQPD_STATE *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:754,1
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:761,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:762,1
    - Dst: qmqpd_state_alloc
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:770,1
    - Dst: debug_peer_check
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:775,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:780,1
    - Dst: qmqpd_proto
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:781,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:782,1
    - Dst: debug_peer_restore
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:788,1
    - Dst: qmqpd_state_free
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - stream
    - unused_service
    - argv
    argTypes:
    - VSTREAM*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 746
    functionDepth: 8
    functionLinenumber: 746
    functionLinenumberEnd: 790
    functionName: qmqpd_service
    functionSourceFile: /src/postfix/postfix/src/qmqpd/qmqpd.c
    functionUses: 0
    functionsReached:
    - inet_proto_info
    - qmqpd_state_alloc
    - qmqpd_state_free
    - debug_peer_restore
    - msg_info
    - msg_fatal
    - debug_peer_check
    - qmqpd_proto
    linkageType: ''
    returnType: void
    signature: void qmqpd_service(VSTREAM *stream, char *unused_service, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_changed_name
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:798,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:799,1
    - Dst: exit
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 794
    functionDepth: 4
    functionLinenumber: 794
    functionLinenumberEnd: 802
    functionName: pre_accept
    functionSourceFile: /src/postfix/postfix/src/qmqpd/qmqpd.c
    functionUses: 13
    functionsReached:
    - dict_changed_name
    - exit
    - msg_info
    linkageType: ''
    returnType: void
    signature: void pre_accept(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug_peer_init
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:808,1
    - Dst: namadr_list_init
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:810,1
    - Dst: match_parent_style
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 806
    functionDepth: 2
    functionLinenumber: 806
    functionLinenumberEnd: 813
    functionName: pre_jail_init
    functionSourceFile: /src/postfix/postfix/src/qmqpd/qmqpd.c
    functionUses: 6
    functionsReached:
    - match_parent_style
    - debug_peer_init
    - namadr_list_init
    linkageType: ''
    returnType: void
    signature: void pre_jail_init(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_transp_mask
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 817
    functionDepth: 2
    functionLinenumber: 817
    functionLinenumberEnd: 826
    functionName: post_jail_init
    functionSourceFile: /src/postfix/postfix/src/qmqpd/qmqpd.c
    functionUses: 0
    functionsReached:
    - input_transp_mask
    linkageType: ''
    returnType: void
    signature: void post_jail_init(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: single_server_main
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:858,1
    - Dst: CA_MAIL_SERVER_TIME_TABLE
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:859,1
    - Dst: CA_MAIL_SERVER_STR_TABLE
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:860,1
    - Dst: CA_MAIL_SERVER_BOOL_TABLE
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:861,1
    - Dst: CA_MAIL_SERVER_PRE_INIT
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:862,1
    - Dst: CA_MAIL_SERVER_PRE_ACCEPT
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:863,1
    - Dst: CA_MAIL_SERVER_POST_INIT
      Src: /src/postfix/postfix/src/qmqpd/qmqpd.c:864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 832
    functionDepth: 6
    functionLinenumber: 832
    functionLinenumberEnd: 866
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/qmqpd/qmqpd.c
    functionUses: 42
    functionsReached:
    - CA_MAIL_SERVER_PRE_ACCEPT
    - CA_MAIL_SERVER_STR_TABLE
    - single_server_main
    - CA_MAIL_SERVER_POST_INIT
    - CA_MAIL_SERVER_TIME_TABLE
    - CA_MAIL_SERVER_PRE_INIT
    - CA_MAIL_SERVER_BOOL_TABLE
    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: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/dnsblog/dnsblog.c
    functionUses: 552
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/dnsblog/dnsblog.c
    functionUses: 184
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:161,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:164,1
    - Dst: valid_ipv6_hostaddr
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:173,1
    - Dst: hostaddr_to_sockaddr
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:174,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:176,1
    - Dst: SOCK_ADDR_IN6_ADDR
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:177,1
    - Dst: SOCK_ADDR_IN6_ADDR
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:178,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:179,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:181,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:190,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:192,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:193,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:195,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:201,1
    - Dst: dns_lookup_x
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:202,1
    - Dst: STR
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:202,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:210,1
    - Dst: dns_rr_to_pa
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:214,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:215,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:216,1
    - Dst: STR
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:216,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:218,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:220,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:221,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:222,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:228,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:231,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:238,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:240,1
    - Dst: STR
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:241,1
    - Dst: STR
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:241,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:243,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 4
    argNames:
    - result
    - result_ttl
    - dnsbl_domain
    - addr
    argTypes:
    - VSTRING*
    - int*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 146
    functionDepth: 6
    functionLinenumber: 146
    functionLinenumberEnd: 245
    functionName: dnsblog_query
    functionSourceFile: /src/postfix/postfix/src/dnsblog/dnsblog.c
    functionUses: 0
    functionsReached:
    - dns_rr_free
    - LEN
    - dns_strtype
    - msg_info
    - VSTRING_RESET
    - dns_rr_to_pa
    - vstring_strcat
    - hostaddr_to_sockaddr
    - VSTRING_TERMINATE
    - argv_split
    - SOCK_ADDR_IN6_ADDR
    - vstring_sprintf_append
    - freeaddrinfo
    - msg_warn
    - argv_free
    - dns_lookup_x
    - valid_ipv6_hostaddr
    - msg_fatal
    - STR
    linkageType: ''
    returnType: VSTRING
    signature: "VSTRING *dnsblog_query(VSTRING *result, int *result_ttl,\n\t\t\t              const
      char *dnsbl_domain,\n\t\t\t              const char *addr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:259,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:266,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:268,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:269,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:270,1
    - Dst: dnsblog_query
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:272,1
    - Dst: STR
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:272,1
    - Dst: STR
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:272,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:274,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:275,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:276,1
    - Dst: STR
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:276,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:277,1
    - Dst: STR
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:277,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:278,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:279,1
    - Dst: STR
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:279,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:280,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - client_stream
    - unused_service
    - argv
    argTypes:
    - VSTREAM*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 249
    functionDepth: 7
    functionLinenumber: 249
    functionLinenumberEnd: 284
    functionName: dnsblog_service
    functionSourceFile: /src/postfix/postfix/src/dnsblog/dnsblog.c
    functionUses: 0
    functionsReached:
    - sleep
    - SEND_ATTR_STR
    - SEND_ATTR_INT
    - attr_print
    - RECV_ATTR_STR
    - vstream_fflush
    - attr_scan
    - dnsblog_query
    - msg_fatal
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: void
    signature: "void dnsblog_service(VSTREAM *client_stream, char *unused_service,\n\t\t\t
      \           char **argv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:290,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:291,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:292,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:293,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: post_jail_init
    functionSourceFile: /src/postfix/postfix/src/dnsblog/dnsblog.c
    functionUses: 0
    functionsReached:
    - vstring_alloc
    linkageType: ''
    returnType: void
    signature: void post_jail_init(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: single_server_main
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:314,1
    - Dst: CA_MAIL_SERVER_TIME_TABLE
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:315,1
    - Dst: CA_MAIL_SERVER_POST_INIT
      Src: /src/postfix/postfix/src/dnsblog/dnsblog.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 302
    functionDepth: 6
    functionLinenumber: 302
    functionLinenumberEnd: 320
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/dnsblog/dnsblog.c
    functionUses: 43
    functionsReached:
    - CA_MAIL_SERVER_TIME_TABLE
    - CA_MAIL_SERVER_POST_INIT
    - single_server_main
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 340
    functionName: PUSH_BACK_PEEK
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUSH_BACK_PEEK(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 341
    functionName: PUSH_BACK_GET
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUSH_BACK_GET(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state
    - ','
    - text
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    functionName: PUSH_BACK_SET
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUSH_BACK_SET(state, text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 358
    functionName: SMTP_FLUSH
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTP_FLUSH(fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 398
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 554
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:403,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 4
    functionLinenumber: 401
    functionLinenumberEnd: 406
    functionName: do_stats
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - vstream_fflush
    - vstream_printf
    linkageType: ''
    returnType: void
    signature: void do_stats(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:412,1
    - Dst: SMTP_FLUSH
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - SINK_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 410
    functionDepth: 4
    functionLinenumber: 410
    functionLinenumberEnd: 414
    functionName: hard_err_resp
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - SMTP_FLUSH
    - smtp_printf
    linkageType: ''
    returnType: void
    signature: void hard_err_resp(SINK_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:420,1
    - Dst: SMTP_FLUSH
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - SINK_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 4
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: soft_err_resp
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - SMTP_FLUSH
    - smtp_printf
    linkageType: ''
    returnType: void
    signature: void soft_err_resp(SINK_STATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:432,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:434,1
    - Dst: localtime
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:435,1
    - Dst: strftime
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:436,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:436,1
    - Dst: vstring_avail
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:436,1
    - Dst: VSTRING_SPACE
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:437,1
    - Dst: vstring_avail
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:437,1
    - Dst: VSTRING_SKIP
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - start_time
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 426
    functionDepth: 3
    functionLinenumber: 426
    functionLinenumberEnd: 440
    functionName: exp_path_template
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - strftime
    - localtime
    - vstring_alloc
    - VSTRING_SPACE
    - VSTRING_RESET
    - vstring_avail
    - VSTRING_SKIP
    - STR
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *exp_path_template(const char *template, time_t start_time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sane_dirname
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:448,1
    - Dst: make_dirs
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:449,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 444
    functionDepth: 4
    functionLinenumber: 444
    functionLinenumberEnd: 451
    functionName: make_parent_dir
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - make_dirs
    - sane_dirname
    linkageType: ''
    returnType: void
    signature: void make_parent_dir(const char *path, mode_t mode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:465,1
    - Dst: exp_path_template
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:470,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:480,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:480,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:482,1
    - Dst: myrand
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:483,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:484,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:485,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:485,1
    - Dst: make_parent_dir
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:492,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:492,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:495,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:495,1
    - Dst: unlink
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:502,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:502,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:503,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:503,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:509,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:509,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:510,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:512,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:514,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 1
    argNames:
    - state
    argTypes:
    - SINK_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 455
    functionDepth: 5
    functionLinenumber: 455
    functionLinenumberEnd: 516
    functionName: mail_file_open
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf_append
    - exp_path_template
    - vstring_truncate
    - vstream_fprintf
    - VSTRING_LEN
    - make_parent_dir
    - time
    - myrand
    - unlink
    - msg_fatal
    - vstream_fopen
    - STR
    linkageType: ''
    returnType: void
    signature: void mail_file_open(SINK_STATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:523,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:527,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:530,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:533,1
    - Dst: mail_date
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - SINK_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 520
    functionDepth: 4
    functionLinenumber: 520
    functionLinenumberEnd: 534
    functionName: mail_file_finish_header
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - mail_date
    - vstream_fprintf
    linkageType: ''
    returnType: void
    signature: void mail_file_finish_header(SINK_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - SINK_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 538
    functionDepth: 5
    functionLinenumber: 538
    functionLinenumberEnd: 542
    functionName: mail_file_cleanup
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - vstream_fclose
    linkageType: ''
    returnType: void
    signature: void mail_file_cleanup(SINK_STATE *state)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:560,1
    - Dst: exp_path_template
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:560,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:568,1
    - Dst: make_parent_dir
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:570,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:571,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:574,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:579,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:580,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:580,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:581,1
    - Dst: vstream_fread
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:583,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:583,1
    - Dst: vstring_avail
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:584,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:587,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:587,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:588,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:590,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:591,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:591,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:592,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:593,1
    - Dst: mail_file_cleanup
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:595,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - SINK_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 546
    functionDepth: 6
    functionLinenumber: 546
    functionLinenumberEnd: 596
    functionName: mail_file_finish
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - vstream_fread
    - exp_path_template
    - VSTREAM_PATH
    - vstream_fseek
    - make_parent_dir
    - vstream_ferror
    - vstream_fclose
    - mail_file_cleanup
    - vstream_fwrite
    - VSTRING_RESET
    - vstring_avail
    - msg_fatal
    - vstream_fopen
    - STR
    linkageType: ''
    returnType: void
    signature: void mail_file_finish(SINK_STATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:603,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:603,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:605,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:605,1
    - Dst: mail_file_cleanup
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:606,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - SINK_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 600
    functionDepth: 6
    functionLinenumber: 600
    functionLinenumberEnd: 607
    functionName: mail_file_reset
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - msg_fatal
    - VSTREAM_PATH
    - unlink
    - mail_file_cleanup
    linkageType: ''
    returnType: void
    signature: void mail_file_reset(SINK_STATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mail_file_reset
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - SINK_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 611
    functionDepth: 7
    functionLinenumber: 611
    functionLinenumberEnd: 617
    functionName: mail_cmd_reset
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - mail_file_reset
    linkageType: ''
    returnType: void
    signature: void mail_cmd_reset(SINK_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - state
    - args
    argTypes:
    - SINK_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 626
    functionName: ehlo_response
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ehlo_response(SINK_STATE *state, const char *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cp
    - ','
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 624
    functionName: SKIP
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKIP(cp, cond)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mail_cmd_reset
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:663,1
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:665,1
    - Dst: SMTP_FLUSH
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:666,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:669,1
    - Dst: SKIP
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:670,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:670,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - state
    - args
    argTypes:
    - SINK_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 660
    functionDepth: 8
    functionLinenumber: 660
    functionLinenumberEnd: 673
    functionName: helo_response
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - ISSPACE
    - mystrdup
    - mail_cmd_reset
    - myfree
    - SKIP
    - SMTP_FLUSH
    - smtp_printf
    linkageType: ''
    returnType: void
    signature: void helo_response(SINK_STATE *state, const char *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:679,1
    - Dst: SMTP_FLUSH
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - state
    - unused_args
    argTypes:
    - SINK_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 677
    functionDepth: 4
    functionLinenumber: 677
    functionLinenumberEnd: 681
    functionName: ok_response
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - SMTP_FLUSH
    - smtp_printf
    linkageType: ''
    returnType: void
    signature: void ok_response(SINK_STATE *state, const char *unused_args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mail_cmd_reset
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:687,1
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:688,1
    - Dst: SMTP_FLUSH
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - state
    - unused_args
    argTypes:
    - SINK_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 685
    functionDepth: 8
    functionLinenumber: 685
    functionLinenumberEnd: 690
    functionName: rset_response
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - mail_cmd_reset
    - SMTP_FLUSH
    - smtp_printf
    linkageType: ''
    returnType: void
    signature: void rset_response(SINK_STATE *state, const char *unused_args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:697,1
    - Dst: SMTP_FLUSH
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:698,1
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:703,1
    - Dst: SMTP_FLUSH
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:704,1
    - Dst: mail_file_open
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:706,1
    - Dst: SKIP
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:707,1
    - Dst: SKIP
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:708,1
    - Dst: SKIP
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:709,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:709,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - state
    - args
    argTypes:
    - SINK_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 694
    functionDepth: 6
    functionLinenumber: 694
    functionLinenumberEnd: 712
    functionName: mail_response
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - ISSPACE
    - vstream_fprintf
    - mail_file_open
    - SKIP
    - SMTP_FLUSH
    - smtp_printf
    linkageType: ''
    returnType: void
    signature: void mail_response(SINK_STATE *state, const char *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:719,1
    - Dst: SMTP_FLUSH
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:720,1
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:724,1
    - Dst: SMTP_FLUSH
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:725,1
    - Dst: SKIP
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:728,1
    - Dst: SKIP
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:729,1
    - Dst: SKIP
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:730,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:730,1
    - Dst: vstream_fprintf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - state
    - args
    argTypes:
    - SINK_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 716
    functionDepth: 4
    functionLinenumber: 716
    functionLinenumberEnd: 733
    functionName: rcpt_response
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - vstream_fprintf
    - ISSPACE
    - SKIP
    - SMTP_FLUSH
    - smtp_printf
    linkageType: ''
    returnType: void
    signature: void rcpt_response(SINK_STATE *state, const char *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:741,1
    - Dst: SMTP_FLUSH
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:742,1
    - Dst: disconnect
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 737
    functionDepth: 4
    functionLinenumber: 737
    functionLinenumberEnd: 744
    functionName: abort_event
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - SMTP_FLUSH
    - smtp_printf
    - disconnect
    linkageType: ''
    returnType: void
    signature: void abort_event(int unused_event, void *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:753,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:755,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:755,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 748
    functionDepth: 5
    functionLinenumber: 748
    functionLinenumberEnd: 757
    functionName: delay_read_event
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - event_enable_read
    - vstream_fileno
    - event_request_timer
    linkageType: ''
    returnType: void
    signature: void delay_read_event(int event, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:763,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:763,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:764,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - state
    - delay
    argTypes:
    - SINK_STATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 761
    functionDepth: 4
    functionLinenumber: 761
    functionLinenumberEnd: 766
    functionName: delay_read
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - vstream_fileno
    - event_cancel_timer
    - event_request_timer
    - event_disable_readwrite
    linkageType: ''
    returnType: void
    signature: void delay_read(SINK_STATE *state, int delay)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:773,1
    - Dst: SMTP_FLUSH
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:774,1
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:779,1
    - Dst: SMTP_FLUSH
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:780,1
    - Dst: delay_read
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:785,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:788,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:788,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:789,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:790,1
    - Dst: mail_file_finish_header
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:793,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - state
    - unused_args
    argTypes:
    - SINK_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 770
    functionDepth: 5
    functionLinenumber: 770
    functionLinenumberEnd: 794
    functionName: data_response
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - event_request_timer
    - delay_read
    - event_disable_readwrite
    - mail_file_finish_header
    - vstream_fileno
    - event_cancel_timer
    - SMTP_FLUSH
    - smtp_printf
    linkageType: ''
    returnType: void
    signature: void data_response(SINK_STATE *state, const char *unused_args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:802,1
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:804,1
    - Dst: SMTP_FLUSH
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:806,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - SINK_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 798
    functionDepth: 4
    functionLinenumber: 798
    functionLinenumberEnd: 807
    functionName: dot_resp_hard
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - SMTP_FLUSH
    - smtp_printf
    linkageType: ''
    returnType: void
    signature: void dot_resp_hard(SINK_STATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:815,1
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:817,1
    - Dst: SMTP_FLUSH
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:819,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - SINK_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 811
    functionDepth: 4
    functionLinenumber: 811
    functionLinenumberEnd: 820
    functionName: dot_resp_soft
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - SMTP_FLUSH
    - smtp_printf
    linkageType: ''
    returnType: void
    signature: void dot_resp_soft(SINK_STATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:828,1
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:830,1
    - Dst: SMTP_FLUSH
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - state
    - unused_args
    argTypes:
    - SINK_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 824
    functionDepth: 4
    functionLinenumber: 824
    functionLinenumberEnd: 833
    functionName: dot_response
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - SMTP_FLUSH
    - smtp_printf
    linkageType: ''
    returnType: void
    signature: void dot_response(SINK_STATE *state, const char *unused_args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:839,1
    - Dst: smtp_flush
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - state
    - unused_args
    argTypes:
    - SINK_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 837
    functionDepth: 4
    functionLinenumber: 837
    functionLinenumberEnd: 843
    functionName: quit_response
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - smtp_flush
    - smtp_printf
    linkageType: ''
    returnType: void
    signature: void quit_response(SINK_STATE *state, const char *unused_args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:850,1
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:852,1
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:854,1
    - Dst: SMTP_FLUSH
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - state
    - unused_args
    argTypes:
    - SINK_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 847
    functionDepth: 4
    functionLinenumber: 847
    functionLinenumberEnd: 856
    functionName: conn_response
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - SMTP_FLUSH
    - smtp_printf
    linkageType: ''
    returnType: void
    signature: void conn_response(SINK_STATE *state, const char *unused_args)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:864,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:867,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:871,1
    - Dst: disconnect
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:872,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:876,1
    - Dst: disconnect
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:877,1
    - Dst: SINK_STATE*::delayed_response
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:881,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:882,1
    - Dst: disconnect
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:888,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:894,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:894,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:895,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 860
    functionDepth: 5
    functionLinenumber: 860
    functionLinenumberEnd: 896
    functionName: delay_event
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_warn
    - event_request_timer
    - event_enable_read
    - vstream_setjmp
    - myfree
    - disconnect
    - vstream_fileno
    - SINK_STATE*::delayed_response
    linkageType: ''
    returnType: void
    signature: void delay_event(int unused_event, void *context)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:922,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:941,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:942,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:943,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:943,1
    - Dst: PUSH_BACK_SET
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:946,1
    - Dst: mail_file_finish
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:950,1
    - Dst: mail_cmd_reset
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:951,1
    - Dst: do_stats
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:955,1
    - Dst: exit
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:957,1
    - Dst: vstream_peek
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:966,1
    - Dst: readable
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:967,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:967,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 1
    argNames:
    - state
    argTypes:
    - SINK_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 900
    functionDepth: 8
    functionLinenumber: 900
    functionLinenumberEnd: 971
    functionName: data_read
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - VSTREAM_PUTC
    - readable
    - VSTREAM_PATH
    - mail_file_finish
    - exit
    - vstream_ferror
    - vstream_peek
    - mail_cmd_reset
    - PUSH_BACK_SET
    - VSTREAM_GETC
    - do_stats
    - vstream_fileno
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int data_read(SINK_STATE *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1019,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1022,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - cmd
    - flags
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1014
    functionDepth: 2
    functionLinenumber: 1014
    functionLinenumberEnd: 1024
    functionName: reset_cmd_flags
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void reset_cmd_flags(const char *cmd, int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1033,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1036,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - cmd
    - flags
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1028
    functionDepth: 2
    functionLinenumber: 1028
    functionLinenumberEnd: 1038
    functionName: set_cmd_flags
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void set_cmd_flags(const char *cmd, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1048,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1049,1
    - Dst: set_cmd_flags
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1050,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cmds
    - flags
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1042
    functionDepth: 3
    functionLinenumber: 1042
    functionLinenumberEnd: 1052
    functionName: set_cmds_flags
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - myfree
    - mystrdup
    - set_cmd_flags
    - mystrtok
    linkageType: ''
    returnType: void
    signature: void set_cmds_flags(const char *cmds, int flags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1061,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1064,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1067,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1069,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - cmd
    - delay
    - odds
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1056
    functionDepth: 2
    functionLinenumber: 1056
    functionLinenumberEnd: 1073
    functionName: set_cmd_delay
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void set_cmd_delay(const char *cmd, int delay, int odds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1085,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1086,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1087,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1089,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1090,1
    - Dst: set_cmd_delay
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1091,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1091,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1091,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1092,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1077
    functionDepth: 3
    functionLinenumber: 1077
    functionLinenumberEnd: 1093
    functionName: set_cmd_delay_arg
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - myfree
    - atoi
    - mystrtok
    - set_cmd_delay
    - msg_fatal
    - mystrdup
    linkageType: ''
    returnType: void
    signature: void set_cmd_delay_arg(char *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: syslog
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1102,1
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1106,1
    - Dst: SINK_COMMAND*::hard_response
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1110,1
    - Dst: SINK_COMMAND*::soft_response
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1114,1
    - Dst: rand
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1122,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1126,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1126,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1127,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1128,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1130,1
    - Dst: SINK_COMMAND*::response
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1132,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - state
    - cmdp
    - command
    - args
    argTypes:
    - SINK_STATE*
    - SINK_COMMAND*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1097
    functionDepth: 4
    functionLinenumber: 1097
    functionLinenumberEnd: 1137
    functionName: command_resp
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - event_request_timer
    - mystrdup
    - SINK_COMMAND*::soft_response
    - rand
    - syslog
    - SINK_COMMAND*::response
    - event_disable_readwrite
    - vstream_fileno
    - event_cancel_timer
    - smtp_printf
    - SINK_COMMAND*::hard_response
    linkageType: ''
    returnType: int
    signature: "int command_resp(SINK_STATE *state, SINK_COMMAND *cmdp,\n\t\t\t        const
      char *command, const char *args)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_CHAR
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1169,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1175,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1176,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1179,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1188,1
    - Dst: PUSH_BACK_PEEK
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1208,1
    - Dst: vstream_peek
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1208,1
    - Dst: readable
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1209,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1209,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1218,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1218,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1219,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1221,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1226,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1228,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1229,1
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1230,1
    - Dst: SMTP_FLUSH
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1231,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1235,1
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1238,1
    - Dst: SMTP_FLUSH
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1239,1
    - Dst: command_resp
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1242,1
    - Dst: printable
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1242,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 1
    argNames:
    - state
    argTypes:
    - SINK_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1141
    functionDepth: 5
    functionLinenumber: 1141
    functionLinenumberEnd: 1243
    functionName: command_read
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - vstring_truncate
    - VSTRING_LEN
    - msg_info
    - VSTRING_RESET
    - msg_panic
    - readable
    - vstream_peek
    - strcasecmp
    - mystrtok
    - command_resp
    - vstring_str
    - SMTP_FLUSH
    - smtp_printf
    - VSTRING_TERMINATE
    - NEXT_CHAR
    - printable
    - msg_warn
    - vstream_fileno
    - PUSH_BACK_PEEK
    linkageType: ''
    returnType: int
    signature: int command_read(SINK_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1165
    functionName: NEXT_CHAR
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXT_CHAR(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1256,1
    - Dst: disconnect
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1247
    functionDepth: 2
    functionLinenumber: 1247
    functionLinenumberEnd: 1258
    functionName: read_timeout
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - disconnect
    linkageType: ''
    returnType: void
    signature: void read_timeout(int unused_event, void *context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1277,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1280,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1284,1
    - Dst: disconnect
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1285,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1289,1
    - Dst: disconnect
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1290,1
    - Dst: SINK_STATE*::read_fn
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1294,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1296,1
    - Dst: disconnect
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1297,1
    - Dst: PUSH_BACK_PEEK
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1301,1
    - Dst: vstream_peek
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1301,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1262
    functionDepth: 4
    functionLinenumber: 1262
    functionLinenumberEnd: 1308
    functionName: read_event
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - msg_warn
    - event_request_timer
    - SINK_STATE*::read_fn
    - msg_info
    - vstream_setjmp
    - vstream_peek
    - disconnect
    - PUSH_BACK_PEEK
    linkageType: ''
    returnType: void
    signature: void read_event(int unused_event, void *context)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1316,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1316,1
    - Dst: event_cancel_timer
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1317,1
    - Dst: do_stats
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1320,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1322,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1323,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1326,1
    - Dst: mail_cmd_reset
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1328,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1330,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1331,1
    - Dst: exit
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1333,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1335,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - SINK_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1314
    functionDepth: 8
    functionLinenumber: 1314
    functionLinenumberEnd: 1336
    functionName: disconnect
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 19
    functionsReached:
    - event_enable_read
    - exit
    - vstream_fclose
    - myfree
    - mail_cmd_reset
    - event_disable_readwrite
    - do_stats
    - vstream_fileno
    - event_cancel_timer
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void disconnect(SINK_STATE *state)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: sane_accept
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1348,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1351,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1352,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1353,1
    - Dst: SOCKADDR_TO_HOSTADDR
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1354,1
    - Dst: strncpy
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1357,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1359,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1371,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1372,1
    - Dst: vstream_tweak_sock
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1373,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1374,1
    - Dst: PUSH_BACK_SET
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1377,1
    - Dst: smtp_timeout_setup
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1378,1
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1403,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1406,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1410,1
    - Dst: disconnect
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1411,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1415,1
    - Dst: disconnect
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1416,1
    - Dst: command_resp
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1420,1
    - Dst: disconnect
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1421,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1423,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1424,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 2
    argNames:
    - unused_event
    - unused_context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1340
    functionDepth: 5
    functionLinenumber: 1340
    functionLinenumberEnd: 1428
    functionName: connect_event
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 0
    functionsReached:
    - strncpy
    - msg_info
    - sane_accept
    - non_blocking
    - msg_panic
    - vstring_alloc
    - PUSH_BACK_SET
    - event_disable_readwrite
    - mymalloc
    - command_resp
    - event_request_timer
    - vstream_setjmp
    - strchr
    - vstream_fdopen
    - smtp_timeout_setup
    - msg_warn
    - event_enable_read
    - disconnect
    - SOCKADDR_TO_HOSTADDR
    - vstream_tweak_sock
    linkageType: ''
    returnType: void
    signature: void connect_event(int unused_event, void *unused_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - myname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1432
    functionDepth: 2
    functionLinenumber: 1432
    functionLinenumberEnd: 1435
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 37
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void usage(char *myname)
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1456,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1461,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1466,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1481,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1481,1
    - Dst: usage
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1482,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1485,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1486,1
    - Dst: usage
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1487,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1492,1
    - Dst: msg_error
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1493,1
    - Dst: usage
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1494,1
    - Dst: reset_cmd_flags
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1503,1
    - Dst: set_cmds_flags
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1518,1
    - Dst: reset_cmd_flags
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1523,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1529,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1530,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1536,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1537,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1540,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1541,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1544,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1545,1
    - Dst: set_cmds_flags
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1558,1
    - Dst: set_cmds_flags
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1561,1
    - Dst: set_cmds_flags
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1564,1
    - Dst: openlog
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1571,1
    - Dst: basename
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1571,1
    - Dst: set_cmds_flags
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1572,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1575,1
    - Dst: unescape
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1576,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1579,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1580,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1583,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1584,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1593,1
    - Dst: usage
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1594,1
    - Dst: set_cmd_delay
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1595,1
    - Dst: set_cmd_delay_arg
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1598,1
    - Dst: usage
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1601,1
    - Dst: usage
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1605,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1606,1
    - Dst: usage
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1607,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1609,1
    - Dst: geteuid
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1610,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1611,1
    - Dst: set_cmds_flags
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1618,1
    - Dst: inet_proto_init
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1621,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1622,1
    - Dst: unix_listen
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1623,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1625,1
    - Dst: inet_listen
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1627,1
    - Dst: chroot_uid
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1630,1
    - Dst: mysrand
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1633,1
    - Dst: time
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1633,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1640,1
    - Dst: event_loop
      Src: /src/postfix/postfix/src/smtpstone/smtp-sink.c:1642,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 170
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1439
    functionDepth: 5
    functionLinenumber: 1439
    functionLinenumberEnd: 1643
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    functionUses: 43
    functionsReached:
    - inet_listen
    - event_loop
    - basename
    - msg_vstream_init
    - atoi
    - inet_proto_init
    - GETOPT
    - msg_fatal
    - chroot_uid
    - unix_listen
    - msg_error
    - alldig
    - vstring_alloc
    - set_cmds_flags
    - unescape
    - time
    - strncmp
    - mysrand
    - signal
    - strspn
    - geteuid
    - event_enable_read
    - reset_cmd_flags
    - set_cmd_delay_arg
    - usage
    - set_cmd_delay
    - openlog
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:106,1
    - Dst: NETSTRING_PUT_BUF
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:107,1
    - Dst: netstring_fflush
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:108,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:111,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:112,1
    - Dst: disconnect
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - SINK_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 4
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: send_reply
    functionSourceFile: /src/postfix/postfix/src/smtpstone/qmqp-sink.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - NETSTRING_PUT_BUF
    - vstream_fflush
    - disconnect
    - vstream_printf
    - netstring_fflush
    linkageType: ''
    returnType: void
    signature: void send_reply(SINK_STATE *state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:122,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:128,1
    - Dst: netstring_except
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:129,1
    - Dst: vstream_ftimeout
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:129,1
    - Dst: vstream_peek
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:137,1
    - Dst: send_reply
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:140,1
    - Dst: vstream_fpurge
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:143,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:149,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 119
    functionDepth: 5
    functionLinenumber: 119
    functionLinenumberEnd: 151
    functionName: read_data
    functionSourceFile: /src/postfix/postfix/src/smtpstone/qmqp-sink.c
    functionUses: 3
    functionsReached:
    - send_reply
    - event_enable_read
    - vstream_fpurge
    - vstream_ftimeout
    - vstream_peek
    - VSTREAM_GETC
    - event_disable_readwrite
    - netstring_except
    - vstream_fileno
    linkageType: ''
    returnType: void
    signature: void read_data(int unused_event, void *context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:159,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:162,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:165,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:169,1
    - Dst: disconnect
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:170,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:174,1
    - Dst: disconnect
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:175,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:179,1
    - Dst: disconnect
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:180,1
    - Dst: netstring_get_length
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:188,1
    - Dst: read_data
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 155
    functionDepth: 6
    functionLinenumber: 155
    functionLinenumberEnd: 192
    functionName: read_length
    functionSourceFile: /src/postfix/postfix/src/smtpstone/qmqp-sink.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - msg_warn
    - vstream_setjmp
    - disconnect
    - read_data
    - netstring_get_length
    linkageType: ''
    returnType: void
    signature: void read_length(int event, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:198,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:198,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:199,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - SINK_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 5
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: disconnect
    functionSourceFile: /src/postfix/postfix/src/smtpstone/qmqp-sink.c
    functionUses: 22
    functionsReached:
    - vstream_fileno
    - myfree
    - vstream_fclose
    - event_disable_readwrite
    linkageType: ''
    returnType: void
    signature: void disconnect(SINK_STATE *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAST_ANY_PTR_TO_INT
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:207,1
    - Dst: accept
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:214,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:216,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:227,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:228,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:229,1
    - Dst: vstream_tweak_sock
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:230,1
    - Dst: netstring_setup
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:231,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 205
    functionDepth: 5
    functionLinenumber: 205
    functionLinenumberEnd: 234
    functionName: connect_event
    functionSourceFile: /src/postfix/postfix/src/smtpstone/qmqp-sink.c
    functionUses: 0
    functionsReached:
    - accept
    - vstream_fdopen
    - netstring_setup
    - event_enable_read
    - CAST_ANY_PTR_TO_INT
    - msg_info
    - non_blocking
    - mymalloc
    - vstream_tweak_sock
    linkageType: ''
    returnType: void
    signature: void connect_event(int unused_event, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused_event
    - unused_context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: terminate
    functionSourceFile: /src/postfix/postfix/src/smtpstone/qmqp-sink.c
    functionUses: 33
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void terminate(int unused_event, void *unused_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - myname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/smtpstone/qmqp-sink.c
    functionUses: 38
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void usage(char *myname)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:268,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:273,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:278,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:293,1
    - Dst: usage
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:294,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:295,1
    - Dst: usage
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:298,1
    - Dst: usage
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:302,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:303,1
    - Dst: usage
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:304,1
    - Dst: inet_proto_init
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:309,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:310,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:311,1
    - Dst: unix_listen
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:312,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:314,1
    - Dst: inet_listen
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:316,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:322,1
    - Dst: CAST_INT_TO_VOID_PTR
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:322,1
    - Dst: event_loop
      Src: /src/postfix/postfix/src/smtpstone/qmqp-sink.c:324,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 252
    functionDepth: 5
    functionLinenumber: 252
    functionLinenumberEnd: 325
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/smtpstone/qmqp-sink.c
    functionUses: 43
    functionsReached:
    - inet_listen
    - event_request_timer
    - unix_listen
    - event_enable_read
    - CAST_INT_TO_VOID_PTR
    - event_loop
    - vstring_alloc
    - msg_vstream_init
    - atoi
    - inet_proto_init
    - strncmp
    - usage
    - GETOPT
    - signal
    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: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/smtpstone/qmqp-source.c
    functionUses: 557
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/smtpstone/qmqp-source.c
    functionUses: 187
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: random_interval
    functionSourceFile: /src/postfix/postfix/src/smtpstone/qmqp-source.c
    functionUses: 0
    functionsReached:
    - rand
    linkageType: ''
    returnType: int
    signature: int random_interval(int interval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 214
    functionName: socket_error
    functionSourceFile: /src/postfix/postfix/src/smtpstone/qmqp-source.c
    functionUses: 0
    functionsReached:
    - getsockopt
    linkageType: ''
    returnType: int
    signature: int socket_error(int sock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - except
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 235
    functionName: exception_text
    functionSourceFile: /src/postfix/postfix/src/smtpstone/qmqp-source.c
    functionUses: 4
    functionsReached:
    - msg_panic
    linkageType: ''
    returnType: char
    signature: char *exception_text(int except)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:242,1
    - Dst: enqueue_connect
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - session
    argTypes:
    - SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 247
    functionName: startup
    functionSourceFile: /src/postfix/postfix/src/smtpstone/qmqp-source.c
    functionUses: 0
    functionsReached:
    - myfree
    - enqueue_connect
    linkageType: ''
    returnType: void
    signature: void startup(SESSION *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: startup
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: start_event
    functionSourceFile: /src/postfix/postfix/src/smtpstone/qmqp-source.c
    functionUses: 0
    functionsReached:
    - startup
    linkageType: ''
    returnType: void
    signature: void start_event(int unused_event, void *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:263,1
    - Dst: random_interval
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:264,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:266,1
    - Dst: startup
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - session
    argTypes:
    - SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 260
    functionDepth: 4
    functionLinenumber: 260
    functionLinenumberEnd: 270
    functionName: start_another
    functionSourceFile: /src/postfix/postfix/src/smtpstone/qmqp-source.c
    functionUses: 0
    functionsReached:
    - startup
    - event_request_timer
    - random_interval
    linkageType: ''
    returnType: void
    signature: void start_another(SESSION *session)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: start_connect
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - session
    argTypes:
    - SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 284
    functionName: enqueue_connect
    functionSourceFile: /src/postfix/postfix/src/smtpstone/qmqp-source.c
    functionUses: 1
    functionsReached:
    - start_connect
    linkageType: ''
    returnType: void
    signature: void enqueue_connect(SESSION *session)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:292,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:296,1
    - Dst: start_connect
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - session
    argTypes:
    - SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 299
    functionName: dequeue_connect
    functionSourceFile: /src/postfix/postfix/src/smtpstone/qmqp-source.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - start_connect
    linkageType: ''
    returnType: void
    signature: void dequeue_connect(SESSION *session)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:306,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:307,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:308,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:308,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:309,1
    - Dst: doze
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:312,1
    - Dst: usleep
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:314,1
    - Dst: start_connect
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - session
    argTypes:
    - SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 303
    functionDepth: 5
    functionLinenumber: 303
    functionLinenumberEnd: 317
    functionName: fail_connect
    functionSourceFile: /src/postfix/postfix/src/smtpstone/qmqp-source.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - usleep
    - doze
    - vstream_fclose
    - event_disable_readwrite
    - vstream_fileno
    - start_connect
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void fail_connect(SESSION *session)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:332,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:333,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:334,1
    - Dst: setsockopt
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:337,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:339,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:340,1
    - Dst: event_enable_write
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:341,1
    - Dst: netstring_setup
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:342,1
    - Dst: sane_connect
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:343,1
    - Dst: fail_connect
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - session
    argTypes:
    - SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 345
    functionName: start_connect
    functionSourceFile: /src/postfix/postfix/src/smtpstone/qmqp-source.c
    functionUses: 3
    functionsReached:
    - msg_warn
    - vstream_fdopen
    - netstring_setup
    - setsockopt
    - fail_connect
    - event_enable_write
    - socket
    - sane_connect
    - non_blocking
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void start_connect(SESSION *session)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:352,1
    - Dst: socket_error
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:358,1
    - Dst: fail_connect
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:359,1
    - Dst: dequeue_connect
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:361,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:362,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:363,1
    - Dst: vstream_tweak_tcp
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:370,1
    - Dst: send_data
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 349
    functionDepth: 4
    functionLinenumber: 349
    functionLinenumberEnd: 373
    functionName: connect_done
    functionSourceFile: /src/postfix/postfix/src/smtpstone/qmqp-source.c
    functionUses: 0
    functionsReached:
    - fail_connect
    - send_data
    - socket_error
    - vstream_tweak_tcp
    - non_blocking
    - dequeue_connect
    - event_disable_readwrite
    - vstream_fileno
    linkageType: ''
    returnType: void
    signature: void connect_done(int unused_event, void *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:379,1
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:385,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:386,1
    - Dst: exception_text
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:386,1
    - Dst: netstring_put_multi
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:395,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:396,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:396,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:397,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:397,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:398,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:398,1
    - Dst: netstring_fflush
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:400,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 377
    functionDepth: 5
    functionLinenumber: 377
    functionLinenumberEnd: 406
    functionName: send_data
    functionSourceFile: /src/postfix/postfix/src/smtpstone/qmqp-source.c
    functionUses: 1
    functionsReached:
    - netstring_fflush
    - event_enable_read
    - LEN
    - exception_text
    - netstring_put_multi
    - vstream_setjmp
    - vstream_fileno
    - msg_fatal
    - STR
    linkageType: ''
    returnType: void
    signature: void send_data(SESSION *session)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:418,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:419,1
    - Dst: exception_text
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:419,1
    - Dst: netstring_get
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:424,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:426,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:426,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:426,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:427,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:428,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:429,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:430,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:431,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:431,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:438,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:439,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:445,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:445,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:446,1
    - Dst: start_another
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:448,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 410
    functionDepth: 5
    functionLinenumber: 410
    functionLinenumberEnd: 449
    functionName: receive_reply
    functionSourceFile: /src/postfix/postfix/src/smtpstone/qmqp-source.c
    functionUses: 0
    functionsReached:
    - vstream_fflush
    - LEN
    - vstream_fclose
    - exception_text
    - vstream_setjmp
    - netstring_get
    - start_another
    - vstream_printf
    - event_disable_readwrite
    - vstream_fileno
    - msg_fatal
    - STR
    linkageType: ''
    returnType: void
    signature: void receive_reply(int unused_event, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - myname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/smtpstone/qmqp-source.c
    functionUses: 39
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void usage(char *myname)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:485,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:486,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:491,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:503,1
    - Dst: usage
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:504,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:510,1
    - Dst: usage
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:511,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:514,1
    - Dst: usage
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:515,1
    - Dst: valid_mailhost_literal
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:519,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:520,1
    - Dst: valid_hostname
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:522,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:523,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:528,1
    - Dst: usage
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:529,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:532,1
    - Dst: usage
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:533,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:536,1
    - Dst: usage
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:537,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:546,1
    - Dst: usage
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:547,1
    - Dst: usage
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:550,1
    - Dst: usage
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:554,1
    - Dst: srand
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:557,1
    - Dst: getpid
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:557,1
    - Dst: inet_proto_init
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:562,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:563,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:565,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:567,1
    - Dst: memset
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:568,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:573,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:577,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:579,1
    - Dst: host_port
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:580,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:581,1
    - Dst: hostname_to_sockaddr
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:582,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:583,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:583,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:584,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:587,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:589,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:594,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:600,1
    - Dst: get_hostname
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:606,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:608,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:609,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:609,1
    - Dst: mail_date
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:620,1
    - Dst: time
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:620,1
    - Dst: getpid
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:621,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:623,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:624,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:627,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:629,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:630,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:632,1
    - Dst: netstring_memcpy
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:633,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:633,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:635,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:636,1
    - Dst: netstring_memcpy
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:637,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:640,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:641,1
    - Dst: netstring_memcpy
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:642,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:644,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:646,1
    - Dst: netstring_memcat
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:647,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:647,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:647,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:655,1
    - Dst: startup
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:661,1
    - Dst: event_loop
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:664,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:667,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:668,1
    - Dst: exit
      Src: /src/postfix/postfix/src/smtpstone/qmqp-source.c:670,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 154
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 462
    functionDepth: 4
    functionLinenumber: 462
    functionLinenumberEnd: 673
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/smtpstone/qmqp-source.c
    functionUses: 43
    functionsReached:
    - VSTRING_ADDCH
    - vstring_sprintf
    - event_loop
    - getpid
    - LEN
    - msg_vstream_init
    - atoi
    - inet_proto_init
    - netstring_memcpy
    - memcpy
    - GETOPT
    - strlen
    - vstream_fflush
    - srand
    - vstring_alloc
    - netstring_memcat
    - exit
    - mymalloc
    - vstring_str
    - hostname_to_sockaddr
    - VSTREAM_PUTC
    - valid_hostname
    - startup
    - time
    - myfree
    - strncmp
    - memset
    - valid_mailhost_literal
    - MAI_STRERROR
    - signal
    - freeaddrinfo
    - mail_date
    - usage
    - get_hostname
    - msg_fatal
    - host_port
    - mystrdup
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:269,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:272,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:273,1
    - Dst: mystrndup
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:274,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - address
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 277
    functionName: make_recipient
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 0
    functionsReached:
    - strrchr
    - strlen
    - mystrndup
    - mymalloc
    - mystrdup
    linkageType: ''
    returnType: RECIPIENT
    signature: RECIPIENT *make_recipient(const char *address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: random_interval
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 1
    functionsReached:
    - rand
    linkageType: ''
    returnType: int
    signature: int random_interval(int interval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:292,1
    - Dst: VA_COPY
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:301,1
    - Dst: vmsg_info
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:302,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:303,1
    - Dst: smtp_vprintf
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:305,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:306,1
    - Dst: smtp_flush
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - fmt
    argTypes:
    - VSTREAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 308
    functionName: command
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 22
    functionsReached:
    - va_start
    - va_end
    - smtp_flush
    - smtp_vprintf
    - vmsg_info
    - VA_COPY
    linkageType: ''
    returnType: void
    signature: void command(VSTREAM *stream, char *fmt,...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 334
    functionName: socket_error
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 1
    functionsReached:
    - getsockopt
    linkageType: ''
    returnType: int
    signature: int socket_error(int sock)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:351,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:359,1
    - Dst: smtp_get
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:361,1
    - Dst: ISPRINT
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:363,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:363,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:367,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:368,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:370,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:373,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:375,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:376,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:379,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:380,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:382,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:383,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 2
    argNames:
    - stream
    - buf
    argTypes:
    - VSTREAM*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 385
    functionName: response
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 8
    functionsReached:
    - VSTRING_ADDCH
    - ISSPACE
    - ISPRINT
    - VSTRING_LEN
    - vstring_alloc
    - msg_info
    - smtp_get
    - VSTRING_RESET
    - atoi
    - vstring_strcat
    - VSTRING_TERMINATE
    - ISDIGIT
    - vstring_str
    linkageType: ''
    returnType: RESPONSE
    signature: RESPONSE *response(VSTREAM *stream, VSTRING *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - except
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 400
    functionName: exception_text
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 6
    functionsReached:
    - msg_panic
    linkageType: ''
    returnType: char
    signature: char *exception_text(int except)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:407,1
    - Dst: enqueue_connect
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:412,1
    - Dst: send_mail
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - session
    argTypes:
    - SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 416
    functionName: startup
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 3
    functionsReached:
    - myfree
    - enqueue_connect
    - send_mail
    linkageType: ''
    returnType: void
    signature: void startup(SESSION *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: startup
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 425
    functionName: start_event
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 0
    functionsReached:
    - startup
    linkageType: ''
    returnType: void
    signature: void start_event(int unused_event, void *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:432,1
    - Dst: random_interval
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:433,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:435,1
    - Dst: startup
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - session
    argTypes:
    - SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 429
    functionDepth: 4
    functionLinenumber: 429
    functionLinenumberEnd: 439
    functionName: start_another
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 1
    functionsReached:
    - startup
    - event_request_timer
    - random_interval
    linkageType: ''
    returnType: void
    signature: void start_another(SESSION *session)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: start_connect
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - session
    argTypes:
    - SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 453
    functionName: enqueue_connect
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 2
    functionsReached:
    - start_connect
    linkageType: ''
    returnType: void
    signature: void enqueue_connect(SESSION *session)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:461,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:465,1
    - Dst: start_connect
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - session
    argTypes:
    - SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 468
    functionName: dequeue_connect
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - start_connect
    linkageType: ''
    returnType: void
    signature: void dequeue_connect(SESSION *session)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:475,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:476,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:477,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:477,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:478,1
    - Dst: doze
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:481,1
    - Dst: usleep
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:483,1
    - Dst: start_connect
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - session
    argTypes:
    - SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 472
    functionDepth: 5
    functionLinenumber: 472
    functionLinenumberEnd: 486
    functionName: fail_connect
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 2
    functionsReached:
    - msg_warn
    - usleep
    - doze
    - vstream_fclose
    - event_disable_readwrite
    - vstream_fileno
    - start_connect
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void fail_connect(SESSION *session)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:501,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:502,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:503,1
    - Dst: setsockopt
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:506,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:508,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:509,1
    - Dst: event_enable_write
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:510,1
    - Dst: smtp_timeout_setup
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:511,1
    - Dst: set_inet_windowsize
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:513,1
    - Dst: sane_connect
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:514,1
    - Dst: fail_connect
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - session
    argTypes:
    - SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 490
    functionDepth: 5
    functionLinenumber: 490
    functionLinenumberEnd: 516
    functionName: start_connect
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 6
    functionsReached:
    - msg_warn
    - vstream_fdopen
    - smtp_timeout_setup
    - setsockopt
    - fail_connect
    - event_enable_write
    - socket
    - sane_connect
    - non_blocking
    - set_inet_windowsize
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void start_connect(SESSION *session)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:523,1
    - Dst: socket_error
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:529,1
    - Dst: fail_connect
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:530,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:532,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:534,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:535,1
    - Dst: dequeue_connect
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:536,1
    - Dst: vstream_tweak_tcp
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 520
    functionDepth: 5
    functionLinenumber: 520
    functionLinenumberEnd: 545
    functionName: connect_done
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 0
    functionsReached:
    - fail_connect
    - event_enable_read
    - socket_error
    - vstream_tweak_tcp
    - non_blocking
    - event_disable_readwrite
    - dequeue_connect
    - vstream_fileno
    linkageType: ''
    returnType: void
    signature: void connect_done(int unused_event, void *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:558,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:559,1
    - Dst: exception_text
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:559,1
    - Dst: response
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:564,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:567,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:569,1
    - Dst: send_helo
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:576,1
    - Dst: send_mail
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 579
    functionName: read_banner
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 0
    functionsReached:
    - response
    - send_helo
    - msg_warn
    - exception_text
    - vstream_setjmp
    - send_mail
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void read_banner(int unused_event, void *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:591,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:592,1
    - Dst: exception_text
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:592,1
    - Dst: command
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:594,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:599,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - session
    argTypes:
    - SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 583
    functionDepth: 5
    functionLinenumber: 583
    functionLinenumberEnd: 600
    functionName: send_helo
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 1
    functionsReached:
    - event_enable_read
    - exception_text
    - vstream_setjmp
    - command
    - msg_fatal
    - vstream_fileno
    linkageType: ''
    returnType: void
    signature: void send_helo(SESSION *session)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:614,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:615,1
    - Dst: exception_text
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:615,1
    - Dst: response
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:617,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:620,1
    - Dst: close_session
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:622,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:626,1
    - Dst: send_mail
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:629,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 604
    functionDepth: 2
    functionLinenumber: 604
    functionLinenumberEnd: 630
    functionName: helo_done
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 0
    functionsReached:
    - response
    - msg_warn
    - exception_text
    - vstream_setjmp
    - send_mail
    - close_session
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void helo_done(int unused_event, void *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:641,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:642,1
    - Dst: exception_text
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:642,1
    - Dst: command
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:644,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:649,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - session
    argTypes:
    - SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 634
    functionDepth: 5
    functionLinenumber: 634
    functionLinenumberEnd: 650
    functionName: send_mail
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 3
    functionsReached:
    - event_enable_read
    - exception_text
    - vstream_setjmp
    - command
    - msg_fatal
    - vstream_fileno
    linkageType: ''
    returnType: void
    signature: void send_mail(SESSION *session)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:663,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:664,1
    - Dst: exception_text
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:664,1
    - Dst: response
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:666,1
    - Dst: send_rcpt
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:670,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:672,1
    - Dst: close_session
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:674,1
    - Dst: send_rset
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:677,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:679,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - unused
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 654
    functionDepth: 2
    functionLinenumber: 654
    functionLinenumberEnd: 681
    functionName: mail_done
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 0
    functionsReached:
    - response
    - msg_warn
    - send_rset
    - send_rcpt
    - exception_text
    - vstream_setjmp
    - close_session
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void mail_done(int unused, void *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:693,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:694,1
    - Dst: exception_text
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:694,1
    - Dst: command
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:697,1
    - Dst: command
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:701,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:709,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 685
    functionDepth: 5
    functionLinenumber: 685
    functionLinenumberEnd: 710
    functionName: send_rcpt
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 1
    functionsReached:
    - event_enable_read
    - exception_text
    - vstream_setjmp
    - command
    - msg_fatal
    - vstream_fileno
    linkageType: ''
    returnType: void
    signature: void send_rcpt(int unused_event, void *context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:723,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:724,1
    - Dst: exception_text
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:724,1
    - Dst: response
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:726,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:729,1
    - Dst: close_session
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:731,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:735,1
    - Dst: send_rcpt
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:742,1
    - Dst: send_data
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:744,1
    - Dst: send_rset
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:746,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - unused
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 714
    functionDepth: 6
    functionLinenumber: 714
    functionLinenumberEnd: 747
    functionName: rcpt_done
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 0
    functionsReached:
    - response
    - msg_warn
    - send_rset
    - send_rcpt
    - send_data
    - exception_text
    - vstream_setjmp
    - close_session
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void rcpt_done(int unused, void *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:759,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:760,1
    - Dst: exception_text
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:760,1
    - Dst: command
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:761,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:766,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 751
    functionDepth: 5
    functionLinenumber: 751
    functionLinenumberEnd: 767
    functionName: send_data
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 2
    functionsReached:
    - event_enable_read
    - exception_text
    - vstream_setjmp
    - command
    - msg_fatal
    - vstream_fileno
    linkageType: ''
    returnType: void
    signature: void send_data(int unused_event, void *context)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:782,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:783,1
    - Dst: exception_text
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:783,1
    - Dst: response
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:784,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:787,1
    - Dst: close_session
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:789,1
    - Dst: send_rset
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:792,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:795,1
    - Dst: mail_date
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:803,1
    - Dst: time
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:803,1
    - Dst: getpid
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:804,1
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:806,1
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:808,1
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:811,1
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:813,1
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:814,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:815,1
    - Dst: smtp_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:818,1
    - Dst: smtp_fputs
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:819,1
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:825,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:826,1
    - Dst: exception_text
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:826,1
    - Dst: smtp_fputs
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:828,1
    - Dst: smtp_fputs
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:829,1
    - Dst: smtp_fputs
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:830,1
    - Dst: smtp_fputs
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:831,1
    - Dst: smtp_fputs
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:838,1
    - Dst: command
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:844,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:851,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:852,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:858,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:858,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 2
    argNames:
    - unused
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 771
    functionDepth: 5
    functionLinenumber: 771
    functionLinenumberEnd: 859
    functionName: data_done
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 0
    functionsReached:
    - response
    - msg_warn
    - send_rset
    - mail_date
    - smtp_fputs
    - event_enable_read
    - time
    - getpid
    - vstream_fflush
    - exception_text
    - vstream_setjmp
    - vstream_printf
    - vstream_fileno
    - close_session
    - msg_fatal
    - smtp_printf
    - command
    linkageType: ''
    returnType: void
    signature: void data_done(int unused, void *context)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:872,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:873,1
    - Dst: exception_text
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:873,1
    - Dst: response
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:875,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:878,1
    - Dst: close_session
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:880,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:884,1
    - Dst: send_quit
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:893,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:895,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:895,1
    - Dst: start_another
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:896,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 863
    functionDepth: 4
    functionLinenumber: 863
    functionLinenumberEnd: 898
    functionName: dot_done
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 0
    functionsReached:
    - response
    - msg_warn
    - send_quit
    - exception_text
    - vstream_setjmp
    - start_another
    - event_disable_readwrite
    - vstream_fileno
    - close_session
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void dot_done(int unused_event, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: command
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:906,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:907,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 902
    functionDepth: 5
    functionLinenumber: 902
    functionLinenumberEnd: 908
    functionName: send_rset
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 3
    functionsReached:
    - command
    - event_enable_read
    - vstream_fileno
    linkageType: ''
    returnType: void
    signature: void send_rset(int unused_event, void *context)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:921,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:922,1
    - Dst: exception_text
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:922,1
    - Dst: response
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:923,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:926,1
    - Dst: close_session
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:928,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:932,1
    - Dst: send_quit
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:939,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:941,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:941,1
    - Dst: start_another
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:942,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 912
    functionDepth: 4
    functionLinenumber: 912
    functionLinenumberEnd: 944
    functionName: rset_done
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 0
    functionsReached:
    - response
    - msg_warn
    - send_quit
    - exception_text
    - vstream_setjmp
    - start_another
    - event_disable_readwrite
    - vstream_fileno
    - close_session
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void rset_done(int unused_event, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: command
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:950,1
    - Dst: event_enable_read
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:951,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - session
    argTypes:
    - SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 948
    functionDepth: 5
    functionLinenumber: 948
    functionLinenumberEnd: 952
    functionName: send_quit
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 2
    functionsReached:
    - command
    - event_enable_read
    - vstream_fileno
    linkageType: ''
    returnType: void
    signature: void send_quit(SESSION *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: response
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:960,1
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:961,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:961,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:962,1
    - Dst: start_another
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 956
    functionDepth: 5
    functionLinenumber: 956
    functionLinenumberEnd: 965
    functionName: quit_done
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 0
    functionsReached:
    - response
    - vstream_fclose
    - event_disable_readwrite
    - vstream_fileno
    - start_another
    linkageType: ''
    returnType: void
    signature: void quit_done(int unused_event, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_disable_readwrite
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:971,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:971,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:972,1
    - Dst: start_another
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - session
    argTypes:
    - SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 969
    functionDepth: 5
    functionLinenumber: 969
    functionLinenumberEnd: 975
    functionName: close_session
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 6
    functionsReached:
    - vstream_fileno
    - start_another
    - vstream_fclose
    - event_disable_readwrite
    linkageType: ''
    returnType: void
    signature: void close_session(SESSION *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - myname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 979
    functionDepth: 2
    functionLinenumber: 979
    functionLinenumberEnd: 982
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 40
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void usage(char *myname)
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1010,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1011,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1016,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1031,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1032,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1042,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1047,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1048,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1049,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1055,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1056,1
    - Dst: valid_mailhost_literal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1060,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1061,1
    - Dst: valid_hostname
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1063,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1064,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1076,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1077,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1082,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1083,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1084,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1087,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1088,1
    - Dst: make_recipient
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1094,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1097,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1098,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1105,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1106,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1107,1
    - Dst: usage
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1110,1
    - Dst: usage
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1114,1
    - Dst: srand
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1117,1
    - Dst: getpid
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1117,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1125,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1126,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1128,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1129,1
    - Dst: vstring_get_nonl
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1130,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1131,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1132,1
    - Dst: vstring_memcat
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1133,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1133,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1133,1
    - Dst: vstring_memcat
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1134,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1136,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1137,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1138,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1139,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1140,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1141,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1144,1
    - Dst: memset
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1145,1
    - Dst: inet_proto_init
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1156,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1157,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1159,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1161,1
    - Dst: memset
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1162,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1167,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1171,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1173,1
    - Dst: host_port
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1174,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1175,1
    - Dst: hostname_to_sockaddr
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1176,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1177,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1177,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1178,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1181,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1183,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1188,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1196,1
    - Dst: get_hostname
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1202,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1204,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1205,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1205,1
    - Dst: make_recipient
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1209,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1216,1
    - Dst: startup
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1222,1
    - Dst: event_loop
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1225,1
    - Dst: VSTREAM_PUTC
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1228,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1229,1
    - Dst: exit
      Src: /src/postfix/postfix/src/smtpstone/smtp-source.c:1231,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 191
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 988
    functionDepth: 5
    functionLinenumber: 988
    functionLinenumberEnd: 1234
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/smtpstone/smtp-source.c
    functionUses: 43
    functionsReached:
    - VSTRING_ADDCH
    - vstring_sprintf
    - VSTRING_LEN
    - event_loop
    - getpid
    - vstream_ferror
    - msg_vstream_init
    - atoi
    - inet_proto_init
    - memcpy
    - GETOPT
    - vstring_memcat
    - vstring_get_nonl
    - strlen
    - vstream_fflush
    - srand
    - vstring_alloc
    - exit
    - mymalloc
    - vstring_str
    - vstream_fopen
    - hostname_to_sockaddr
    - VSTREAM_PUTC
    - valid_hostname
    - startup
    - make_recipient
    - myfree
    - strncmp
    - memset
    - valid_mailhost_literal
    - signal
    - MAI_STRERROR
    - vstring_free
    - freeaddrinfo
    - vstring_export
    - vstream_fclose
    - usage
    - get_hostname
    - msg_fatal
    - host_port
    - mystrdup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/pickup/pickup.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - info
    - type
    argTypes:
    - PICKUP_INFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: file_read_error
    functionSourceFile: /src/postfix/postfix/src/pickup/pickup.c
    functionUses: 0
    functionsReached:
    - msg_warn
    linkageType: ''
    returnType: int
    signature: int file_read_error(PICKUP_INFO *info, int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/pickup/pickup.c:218,1
    - Dst: cleanup_strerror
      Src: /src/postfix/postfix/src/pickup/pickup.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - info
    - status
    - reason
    argTypes:
    - PICKUP_INFO*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 222
    functionName: cleanup_service_error_reason
    functionSourceFile: /src/postfix/postfix/src/pickup/pickup.c
    functionUses: 0
    functionsReached:
    - cleanup_strerror
    - msg_warn
    linkageType: ''
    returnType: int
    signature: "int cleanup_service_error_reason(PICKUP_INFO *info, int status,\n\t\t\t\t\t
      \       const char *reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - info
    - ','
    - status
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: cleanup_service_error
    functionSourceFile: /src/postfix/postfix/src/pickup/pickup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cleanup_service_error(info, status)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: rec_get
      Src: /src/postfix/postfix/src/pickup/pickup.c:250,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/pickup/pickup.c:251,1
    - Dst: file_read_error
      Src: /src/postfix/postfix/src/pickup/pickup.c:252,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/pickup/pickup.c:254,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/pickup/pickup.c:254,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/pickup/pickup.c:259,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/pickup/pickup.c:259,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/pickup/pickup.c:262,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/pickup/pickup.c:290,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/pickup/pickup.c:290,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/pickup/pickup.c:291,1
    - Dst: rec_attr_map
      Src: /src/postfix/postfix/src/pickup/pickup.c:293,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/pickup/pickup.c:294,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/pickup/pickup.c:309,1
    - Dst: IS_SPACE_TAB
      Src: /src/postfix/postfix/src/pickup/pickup.c:309,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/pickup/pickup.c:309,1
    - Dst: rec_put
      Src: /src/postfix/postfix/src/pickup/pickup.c:310,1
    - Dst: REC_PUT_BUF
      Src: /src/postfix/postfix/src/pickup/pickup.c:312,1
    - Dst: cleanup_service_error
      Src: /src/postfix/postfix/src/pickup/pickup.c:313,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 44
    argCount: 5
    argNames:
    - qfile
    - cleanup
    - info
    - buf
    - expected
    argTypes:
    - VSTREAM*
    - VSTREAM*
    - PICKUP_INFO*
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 316
    functionName: copy_segment
    functionSourceFile: /src/postfix/postfix/src/pickup/pickup.c
    functionUses: 0
    functionsReached:
    - strchr
    - split_nameval
    - rec_put
    - VSTRING_LEN
    - mystrdup
    - rec_attr_map
    - REC_PUT_BUF
    - msg_info
    - myfree
    - IS_SPACE_TAB
    - rec_get
    - rec_fprintf
    - cleanup_service_error
    - vstring_str
    - file_read_error
    linkageType: ''
    returnType: int
    signature: "int copy_segment(VSTREAM *qfile, VSTREAM *cleanup, PICKUP_INFO *info,\n\t\t\t
      \       VSTRING *buf, char *expected)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/postfix/postfix/src/pickup/pickup.c:323,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/pickup/pickup.c:337,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/pickup/pickup.c:341,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/pickup/pickup.c:350,1
    - Dst: copy_segment
      Src: /src/postfix/postfix/src/pickup/pickup.c:357,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/pickup/pickup.c:360,1
    - Dst: MAIL_IS_REQUEUED
      Src: /src/postfix/postfix/src/pickup/pickup.c:372,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/pickup/pickup.c:373,1
    - Dst: info_log_addr_form_sender
      Src: /src/postfix/postfix/src/pickup/pickup.c:374,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/pickup/pickup.c:375,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/pickup/pickup.c:378,1
    - Dst: info_log_addr_form_sender
      Src: /src/postfix/postfix/src/pickup/pickup.c:379,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/pickup/pickup.c:387,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/pickup/pickup.c:388,1
    - Dst: rec_fprintf
      Src: /src/postfix/postfix/src/pickup/pickup.c:390,1
    - Dst: mail_date
      Src: /src/postfix/postfix/src/pickup/pickup.c:391,1
    - Dst: copy_segment
      Src: /src/postfix/postfix/src/pickup/pickup.c:397,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/pickup/pickup.c:406,1
    - Dst: copy_segment
      Src: /src/postfix/postfix/src/pickup/pickup.c:407,1
    - Dst: rec_fputs
      Src: /src/postfix/postfix/src/pickup/pickup.c:415,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/pickup/pickup.c:416,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/pickup/pickup.c:417,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/pickup/pickup.c:418,1
    - Dst: cleanup_service_error
      Src: /src/postfix/postfix/src/pickup/pickup.c:420,1
    - Dst: cleanup_service_error_reason
      Src: /src/postfix/postfix/src/pickup/pickup.c:429,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/pickup/pickup.c:429,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 4
    argNames:
    - qfile
    - cleanup
    - info
    - buf
    argTypes:
    - VSTREAM*
    - VSTREAM*
    - PICKUP_INFO*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 320
    functionDepth: 4
    functionLinenumber: 320
    functionLinenumberEnd: 433
    functionName: pickup_copy
    functionSourceFile: /src/postfix/postfix/src/pickup/pickup.c
    functionUses: 0
    functionsReached:
    - strrchr
    - info_log_addr_form_sender
    - msg_warn
    - copy_segment
    - mail_date
    - cleanup_service_error_reason
    - MAIL_IS_REQUEUED
    - time
    - RECV_ATTR_STR
    - msg_info
    - attr_scan
    - rec_fprintf
    - rec_fputs
    - cleanup_service_error
    - vstring_str
    - RECV_ATTR_INT
    linkageType: ''
    returnType: int
    signature: "int pickup_copy(VSTREAM *qfile, VSTREAM *cleanup,\n\t\t               PICKUP_INFO
      *info, VSTRING *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 371
    functionName: MAIL_IS_REQUEUED
    functionSourceFile: /src/postfix/postfix/src/pickup/pickup.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAIL_IS_REQUEUED(info)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/pickup/pickup.c:439,1
    - Dst: safe_open
      Src: /src/postfix/postfix/src/pickup/pickup.c:452,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/pickup/pickup.c:456,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/pickup/pickup.c:456,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/pickup/pickup.c:457,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/pickup/pickup.c:459,1
    - Dst: input_transp_cleanup
      Src: /src/postfix/postfix/src/pickup/pickup.c:482,1
    - Dst: MAIL_IS_REQUEUED
      Src: /src/postfix/postfix/src/pickup/pickup.c:485,1
    - Dst: smtputf8_autodetect
      Src: /src/postfix/postfix/src/pickup/pickup.c:488,1
    - Dst: mail_connect_wait
      Src: /src/postfix/postfix/src/pickup/pickup.c:491,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/pickup/pickup.c:492,1
    - Dst: RECV_ATTR_STREQ
      Src: /src/postfix/postfix/src/pickup/pickup.c:493,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/pickup/pickup.c:494,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/pickup/pickup.c:496,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/pickup/pickup.c:497,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/pickup/pickup.c:501,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/pickup/pickup.c:501,1
    - Dst: pickup_copy
      Src: /src/postfix/postfix/src/pickup/pickup.c:502,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/pickup/pickup.c:504,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/pickup/pickup.c:505,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/pickup/pickup.c:506,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - info
    argTypes:
    - PICKUP_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 437
    functionDepth: 5
    functionLinenumber: 437
    functionLinenumberEnd: 508
    functionName: pickup_file
    functionSourceFile: /src/postfix/postfix/src/pickup/pickup.c
    functionUses: 0
    functionsReached:
    - input_transp_cleanup
    - msg_warn
    - MAIL_IS_REQUEUED
    - SEND_ATTR_INT
    - attr_print
    - vstring_alloc
    - RECV_ATTR_STR
    - attr_scan
    - mail_connect_wait
    - pickup_copy
    - vstream_fclose
    - RECV_ATTR_STREQ
    - vstring_str
    - mystrdup
    - safe_open
    - vstring_free
    - smtputf8_autodetect
    linkageType: ''
    returnType: int
    signature: int pickup_file(PICKUP_INFO *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - PICKUP_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: pickup_init
    functionSourceFile: /src/postfix/postfix/src/pickup/pickup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pickup_init(PICKUP_INFO *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SAFE_FREE
      Src: /src/postfix/postfix/src/pickup/pickup.c:525,1
    - Dst: SAFE_FREE
      Src: /src/postfix/postfix/src/pickup/pickup.c:526,1
    - Dst: SAFE_FREE
      Src: /src/postfix/postfix/src/pickup/pickup.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - PICKUP_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 528
    functionName: pickup_free
    functionSourceFile: /src/postfix/postfix/src/pickup/pickup.c
    functionUses: 0
    functionsReached:
    - SAFE_FREE
    linkageType: ''
    returnType: void
    signature: void pickup_free(PICKUP_INFO *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 524
    functionName: SAFE_FREE
    functionSourceFile: /src/postfix/postfix/src/pickup/pickup.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAFE_FREE(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/pickup/pickup.c:546,1
    - Dst: scan_dir_open
      Src: /src/postfix/postfix/src/pickup/pickup.c:561,1
    - Dst: scan_dir_next
      Src: /src/postfix/postfix/src/pickup/pickup.c:562,1
    - Dst: mail_open_ok
      Src: /src/postfix/postfix/src/pickup/pickup.c:563,1
    - Dst: pickup_init
      Src: /src/postfix/postfix/src/pickup/pickup.c:564,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/pickup/pickup.c:565,1
    - Dst: watchdog_pat
      Src: /src/postfix/postfix/src/pickup/pickup.c:566,1
    - Dst: pickup_file
      Src: /src/postfix/postfix/src/pickup/pickup.c:567,1
    - Dst: REMOVE
      Src: /src/postfix/postfix/src/pickup/pickup.c:568,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/pickup/pickup.c:569,1
    - Dst: pickup_free
      Src: /src/postfix/postfix/src/pickup/pickup.c:573,1
    - Dst: scan_dir_close
      Src: /src/postfix/postfix/src/pickup/pickup.c:576,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - unused_buf
    - unused_len
    - unused_service
    - argv
    argTypes:
    - char*
    - ssize_t
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 532
    functionDepth: 6
    functionLinenumber: 532
    functionLinenumberEnd: 578
    functionName: pickup_service
    functionSourceFile: /src/postfix/postfix/src/pickup/pickup.c
    functionUses: 0
    functionsReached:
    - pickup_free
    - msg_warn
    - scan_dir_close
    - pickup_file
    - watchdog_pat
    - scan_dir_open
    - pickup_init
    - mail_open_ok
    - msg_fatal
    - REMOVE
    - mystrdup
    - scan_dir_next
    linkageType: ''
    returnType: void
    signature: "void pickup_service(char *unused_buf, ssize_t unused_len,\n\t\t\t
      \          char *unused_service, char **argv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/postfix/postfix/src/pickup/pickup.c:588,1
    - Dst: set_ugid
      Src: /src/postfix/postfix/src/pickup/pickup.c:589,1
    - Dst: input_transp_mask
      Src: /src/postfix/postfix/src/pickup/pickup.c:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 597
    functionName: post_jail_init
    functionSourceFile: /src/postfix/postfix/src/pickup/pickup.c
    functionUses: 0
    functionsReached:
    - input_transp_mask
    - set_ugid
    - getuid
    linkageType: ''
    returnType: void
    signature: void post_jail_init(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trigger_server_main
      Src: /src/postfix/postfix/src/pickup/pickup.c:627,1
    - Dst: CA_MAIL_SERVER_STR_TABLE
      Src: /src/postfix/postfix/src/pickup/pickup.c:628,1
    - Dst: CA_MAIL_SERVER_POST_INIT
      Src: /src/postfix/postfix/src/pickup/pickup.c:629,1
    - Dst: CA_MAIL_SERVER_WATCHDOG
      Src: /src/postfix/postfix/src/pickup/pickup.c:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 603
    functionDepth: 6
    functionLinenumber: 603
    functionLinenumberEnd: 633
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/pickup/pickup.c
    functionUses: 44
    functionsReached:
    - CA_MAIL_SERVER_STR_TABLE
    - trigger_server_main
    - CA_MAIL_SERVER_POST_INIT
    - CA_MAIL_SERVER_WATCHDOG
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/postcat/postcat.c:199,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postcat/postcat.c:200,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/postcat/postcat.c:201,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/postcat/postcat.c:204,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postcat/postcat.c:205,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/postcat/postcat.c:206,1
    - Dst: VSTREAM_GETC
      Src: /src/postfix/postfix/src/postcat/postcat.c:213,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/postcat/postcat.c:214,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postcat/postcat.c:215,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/postcat/postcat.c:215,1
    - Dst: vstream_ungetc
      Src: /src/postfix/postfix/src/postcat/postcat.c:218,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postcat/postcat.c:225,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/postcat/postcat.c:226,1
    - Dst: vstream_ftell
      Src: /src/postfix/postfix/src/postcat/postcat.c:236,1
    - Dst: rec_get_raw
      Src: /src/postfix/postfix/src/postcat/postcat.c:237,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postcat/postcat.c:239,1
    - Dst: TEXT_RECORD
      Src: /src/postfix/postfix/src/postcat/postcat.c:273,1
    - Dst: TEXT_RECORD
      Src: /src/postfix/postfix/src/postcat/postcat.c:276,1
    - Dst: is_header
      Src: /src/postfix/postfix/src/postcat/postcat.c:277,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postcat/postcat.c:277,1
    - Dst: IS_SPACE_TAB
      Src: /src/postfix/postfix/src/postcat/postcat.c:277,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postcat/postcat.c:277,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/postcat/postcat.c:287,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postcat/postcat.c:288,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postcat/postcat.c:294,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/postcat/postcat.c:295,1
    - Dst: PRINT_MARKER
      Src: /src/postfix/postfix/src/postcat/postcat.c:298,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/postcat/postcat.c:302,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postcat/postcat.c:303,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postcat/postcat.c:311,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/postcat/postcat.c:312,1
    - Dst: VSTREAM_PUTCHAR
      Src: /src/postfix/postfix/src/postcat/postcat.c:315,1
    - Dst: PRINT_MARKER
      Src: /src/postfix/postfix/src/postcat/postcat.c:317,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postcat/postcat.c:328,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/postcat/postcat.c:329,1
    - Dst: PRINT_MARKER
      Src: /src/postfix/postfix/src/postcat/postcat.c:332,1
    - Dst: PRINT_RECORD
      Src: /src/postfix/postfix/src/postcat/postcat.c:341,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postcat/postcat.c:341,1
    - Dst: rec_goto
      Src: /src/postfix/postfix/src/postcat/postcat.c:344,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postcat/postcat.c:344,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postcat/postcat.c:345,1
    - Dst: PRINT_RECORD
      Src: /src/postfix/postfix/src/postcat/postcat.c:350,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postcat/postcat.c:350,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postcat/postcat.c:353,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/postcat/postcat.c:355,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postcat/postcat.c:355,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postcat/postcat.c:357,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postcat/postcat.c:357,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/postcat/postcat.c:360,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postcat/postcat.c:361,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postcat/postcat.c:376,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/postcat/postcat.c:376,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postcat/postcat.c:378,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postcat/postcat.c:380,1
    - Dst: REC_TYPE_TIME_SCAN
      Src: /src/postfix/postfix/src/postcat/postcat.c:383,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postcat/postcat.c:383,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postcat/postcat.c:385,1
    - Dst: rec_type_name
      Src: /src/postfix/postfix/src/postcat/postcat.c:385,1
    - Dst: asctime
      Src: /src/postfix/postfix/src/postcat/postcat.c:386,1
    - Dst: localtime
      Src: /src/postfix/postfix/src/postcat/postcat.c:386,1
    - Dst: REC_TYPE_WARN_SCAN
      Src: /src/postfix/postfix/src/postcat/postcat.c:389,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postcat/postcat.c:389,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postcat/postcat.c:390,1
    - Dst: rec_type_name
      Src: /src/postfix/postfix/src/postcat/postcat.c:390,1
    - Dst: asctime
      Src: /src/postfix/postfix/src/postcat/postcat.c:391,1
    - Dst: localtime
      Src: /src/postfix/postfix/src/postcat/postcat.c:391,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postcat/postcat.c:395,1
    - Dst: rec_type_name
      Src: /src/postfix/postfix/src/postcat/postcat.c:395,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postcat/postcat.c:397,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/postcat/postcat.c:398,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postcat/postcat.c:398,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/postcat/postcat.c:398,1
    - Dst: VSTREAM_PUTCHAR
      Src: /src/postfix/postfix/src/postcat/postcat.c:402,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postcat/postcat.c:407,1
    - Dst: rec_type_name
      Src: /src/postfix/postfix/src/postcat/postcat.c:407,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/postcat/postcat.c:408,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postcat/postcat.c:408,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/postcat/postcat.c:408,1
    - Dst: VSTREAM_PUTCHAR
      Src: /src/postfix/postfix/src/postcat/postcat.c:409,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postcat/postcat.c:413,1
    - Dst: rec_type_name
      Src: /src/postfix/postfix/src/postcat/postcat.c:413,1
    - Dst: vstream_fwrite
      Src: /src/postfix/postfix/src/postcat/postcat.c:414,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postcat/postcat.c:414,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/postcat/postcat.c:414,1
    - Dst: VSTREAM_PUTCHAR
      Src: /src/postfix/postfix/src/postcat/postcat.c:415,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/postcat/postcat.c:418,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postcat/postcat.c:418,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postcat/postcat.c:420,1
    - Dst: VSTREAM_PATH
      Src: /src/postfix/postfix/src/postcat/postcat.c:421,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postcat/postcat.c:421,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/postcat/postcat.c:424,1
    - Dst: atol
      Src: /src/postfix/postfix/src/postcat/postcat.c:425,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postcat/postcat.c:426,1
    - Dst: asctime
      Src: /src/postfix/postfix/src/postcat/postcat.c:427,1
    - Dst: localtime
      Src: /src/postfix/postfix/src/postcat/postcat.c:427,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postcat/postcat.c:429,1
    - Dst: rec_type_name
      Src: /src/postfix/postfix/src/postcat/postcat.c:429,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/postcat/postcat.c:434,1
    - Dst: rec_type_name
      Src: /src/postfix/postfix/src/postcat/postcat.c:434,1
    - Dst: STR
      Src: /src/postfix/postfix/src/postcat/postcat.c:434,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/postcat/postcat.c:442,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 158
    argCount: 3
    argNames:
    - fp
    - buffer
    - flags
    argTypes:
    - VSTREAM*
    - VSTRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 173
    functionDepth: 6
    functionLinenumber: 173
    functionLinenumberEnd: 444
    functionName: postcat
    functionSourceFile: /src/postfix/postfix/src/postcat/postcat.c
    functionUses: 0
    functionsReached:
    - split_nameval
    - localtime
    - LEN
    - TEXT_RECORD
    - asctime
    - rec_goto
    - REC_TYPE_TIME_SCAN
    - VSTREAM_PATH
    - vstream_fflush
    - VSTREAM_PUTCHAR
    - sscanf
    - PRINT_MARKER
    - vstream_ungetc
    - rec_get_raw
    - is_header
    - IS_SPACE_TAB
    - VSTREAM_GETC
    - atol
    - vstream_printf
    - strchr
    - msg_warn
    - vstream_ftell
    - vstream_fseek
    - REC_TYPE_WARN_SCAN
    - rec_type_name
    - vstream_fwrite
    - PRINT_RECORD
    - strcmp
    - msg_fatal
    - STR
    linkageType: ''
    returnType: void
    signature: void postcat(VSTREAM *fp, VSTRING *buffer, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rec_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: TEXT_RECORD
    functionSourceFile: /src/postfix/postfix/src/postcat/postcat.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEXT_RECORD(rec_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - flags
    - ','
    - fp
    - ','
    - offset
    - ','
    - type
    - ','
    - text
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 261
    functionName: PRINT_MARKER
    functionSourceFile: /src/postfix/postfix/src/postcat/postcat.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_MARKER(flags, fp, offset, type, text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - flags
    - ','
    - offset
    - ','
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 272
    functionName: PRINT_RECORD
    functionSourceFile: /src/postfix/postfix/src/postcat/postcat.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_RECORD(flags, offset, type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postcat/postcat.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - myname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 452
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/postcat/postcat.c
    functionUses: 41
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(char *myname)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/postfix/postfix/src/postcat/postcat.c:488,1
    - Dst: close
      Src: /src/postfix/postfix/src/postcat/postcat.c:489,1
    - Dst: open
      Src: /src/postfix/postfix/src/postcat/postcat.c:489,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postcat/postcat.c:490,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/postcat/postcat.c:495,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/postcat/postcat.c:505,1
    - Dst: setenv
      Src: /src/postfix/postfix/src/postcat/postcat.c:511,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postcat/postcat.c:512,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/postcat/postcat.c:536,1
    - Dst: atol
      Src: /src/postfix/postfix/src/postcat/postcat.c:536,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postcat/postcat.c:537,1
    - Dst: usage
      Src: /src/postfix/postfix/src/postcat/postcat.c:543,1
    - Dst: mail_conf_read
      Src: /src/postfix/postfix/src/postcat/postcat.c:552,1
    - Dst: mail_parm_split
      Src: /src/postfix/postfix/src/postcat/postcat.c:553,1
    - Dst: update_env
      Src: /src/postfix/postfix/src/postcat/postcat.c:554,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/postcat/postcat.c:555,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/postcat/postcat.c:560,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/postcat/postcat.c:566,1
    - Dst: CA_VSTREAM_CTL_PATH
      Src: /src/postfix/postfix/src/postcat/postcat.c:567,1
    - Dst: postcat
      Src: /src/postfix/postfix/src/postcat/postcat.c:569,1
    - Dst: chdir
      Src: /src/postfix/postfix/src/postcat/postcat.c:576,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postcat/postcat.c:577,1
    - Dst: mail_queue_id_ok
      Src: /src/postfix/postfix/src/postcat/postcat.c:579,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postcat/postcat.c:580,1
    - Dst: mail_queue_open
      Src: /src/postfix/postfix/src/postcat/postcat.c:583,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postcat/postcat.c:585,1
    - Dst: postcat
      Src: /src/postfix/postfix/src/postcat/postcat.c:586,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/postcat/postcat.c:587,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postcat/postcat.c:588,1
    - Dst: vstream_fopen
      Src: /src/postfix/postfix/src/postcat/postcat.c:598,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/postcat/postcat.c:599,1
    - Dst: postcat
      Src: /src/postfix/postfix/src/postcat/postcat.c:600,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/postcat/postcat.c:601,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/postcat/postcat.c:602,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/postcat/postcat.c:610,1
    - Dst: exit
      Src: /src/postfix/postfix/src/postcat/postcat.c:611,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 87
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 456
    functionDepth: 7
    functionLinenumber: 456
    functionLinenumberEnd: 612
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/postcat/postcat.c
    functionUses: 44
    functionsReached:
    - mail_queue_open
    - msg_vstream_init
    - vstream_control
    - open
    - GETOPT
    - setenv
    - alldig
    - vstring_alloc
    - chdir
    - exit
    - mail_queue_id_ok
    - vstream_fopen
    - postcat
    - mail_parm_split
    - update_env
    - close
    - atol
    - fstat
    - mail_conf_read
    - vstring_free
    - msg_warn
    - CA_VSTREAM_CTL_PATH
    - argv_free
    - vstream_fclose
    - usage
    - msg_fatal
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: get_mail_conf_time2
      Src: /src/postfix/postfix/src/spawn/spawn.c:220,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/spawn/spawn.c:230,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/spawn/spawn.c:232,1
    - Dst: getpwnam
      Src: /src/postfix/postfix/src/spawn/spawn.c:235,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/spawn/spawn.c:236,1
    - Dst: getgrnam
      Src: /src/postfix/postfix/src/spawn/spawn.c:239,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/spawn/spawn.c:240,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/spawn/spawn.c:250,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/spawn/spawn.c:260,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/spawn/spawn.c:267,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/spawn/spawn.c:269,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/spawn/spawn.c:271,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/spawn/spawn.c:273,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/spawn/spawn.c:275,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/spawn/spawn.c:277,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/spawn/spawn.c:279,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/spawn/spawn.c:281,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/spawn/spawn.c:287,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 3
    argNames:
    - attr
    - service
    - argv
    argTypes:
    - SPAWN_ATTR*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 201
    functionDepth: 4
    functionLinenumber: 201
    functionLinenumberEnd: 289
    functionName: get_service_attr
    functionSourceFile: /src/postfix/postfix/src/spawn/spawn.c
    functionUses: 1
    functionsReached:
    - getpwnam
    - get_mail_conf_time2
    - getgrnam
    - msg_info
    - strncasecmp
    - split_at
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void get_service_attr(SPAWN_ATTR *attr, char *service, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/spawn/spawn.c:305,1
    - Dst: get_service_attr
      Src: /src/postfix/postfix/src/spawn/spawn.c:312,1
    - Dst: mail_parm_split
      Src: /src/postfix/postfix/src/spawn/spawn.c:318,1
    - Dst: spawn_command
      Src: /src/postfix/postfix/src/spawn/spawn.c:319,1
    - Dst: CA_SPAWN_CMD_STDIN
      Src: /src/postfix/postfix/src/spawn/spawn.c:319,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/spawn/spawn.c:319,1
    - Dst: CA_SPAWN_CMD_STDOUT
      Src: /src/postfix/postfix/src/spawn/spawn.c:320,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/spawn/spawn.c:320,1
    - Dst: CA_SPAWN_CMD_STDERR
      Src: /src/postfix/postfix/src/spawn/spawn.c:321,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/spawn/spawn.c:321,1
    - Dst: CA_SPAWN_CMD_UID
      Src: /src/postfix/postfix/src/spawn/spawn.c:322,1
    - Dst: CA_SPAWN_CMD_GID
      Src: /src/postfix/postfix/src/spawn/spawn.c:323,1
    - Dst: CA_SPAWN_CMD_ARGV
      Src: /src/postfix/postfix/src/spawn/spawn.c:324,1
    - Dst: CA_SPAWN_CMD_TIME_LIMIT
      Src: /src/postfix/postfix/src/spawn/spawn.c:325,1
    - Dst: CA_SPAWN_CMD_EXPORT
      Src: /src/postfix/postfix/src/spawn/spawn.c:326,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/spawn/spawn.c:328,1
    - Dst: NORMAL_EXIT_STATUS
      Src: /src/postfix/postfix/src/spawn/spawn.c:333,1
    - Dst: WIFEXITED
      Src: /src/postfix/postfix/src/spawn/spawn.c:334,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/spawn/spawn.c:335,1
    - Dst: WEXITSTATUS
      Src: /src/postfix/postfix/src/spawn/spawn.c:336,1
    - Dst: WIFSIGNALED
      Src: /src/postfix/postfix/src/spawn/spawn.c:337,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/spawn/spawn.c:338,1
    - Dst: WTERMSIG
      Src: /src/postfix/postfix/src/spawn/spawn.c:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - client_stream
    - service
    - argv
    argTypes:
    - VSTREAM*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 293
    functionDepth: 6
    functionLinenumber: 293
    functionLinenumberEnd: 341
    functionName: spawn_service
    functionSourceFile: /src/postfix/postfix/src/spawn/spawn.c
    functionUses: 0
    functionsReached:
    - WTERMSIG
    - WIFEXITED
    - WEXITSTATUS
    - msg_info
    - CA_SPAWN_CMD_ARGV
    - CA_SPAWN_CMD_STDOUT
    - spawn_command
    - NORMAL_EXIT_STATUS
    - WIFSIGNALED
    - CA_SPAWN_CMD_TIME_LIMIT
    - mail_parm_split
    - CA_SPAWN_CMD_EXPORT
    - CA_SPAWN_CMD_GID
    - get_service_attr
    - CA_SPAWN_CMD_STDIN
    - CA_SPAWN_CMD_UID
    - msg_warn
    - argv_free
    - CA_SPAWN_CMD_STDERR
    - vstream_fileno
    linkageType: ''
    returnType: void
    signature: void spawn_service(VSTREAM *client_stream, char *service, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_changed_name
      Src: /src/postfix/postfix/src/spawn/spawn.c:349,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/spawn/spawn.c:350,1
    - Dst: exit
      Src: /src/postfix/postfix/src/spawn/spawn.c:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 345
    functionDepth: 4
    functionLinenumber: 345
    functionLinenumberEnd: 353
    functionName: pre_accept
    functionSourceFile: /src/postfix/postfix/src/spawn/spawn.c
    functionUses: 13
    functionsReached:
    - dict_changed_name
    - exit
    - msg_info
    linkageType: ''
    returnType: void
    signature: void pre_accept(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_eugid
      Src: /src/postfix/postfix/src/spawn/spawn.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 3
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: drop_privileges
    functionSourceFile: /src/postfix/postfix/src/spawn/spawn.c
    functionUses: 0
    functionsReached:
    - set_eugid
    linkageType: ''
    returnType: void
    signature: void drop_privileges(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: single_server_main
      Src: /src/postfix/postfix/src/spawn/spawn.c:378,1
    - Dst: CA_MAIL_SERVER_TIME_TABLE
      Src: /src/postfix/postfix/src/spawn/spawn.c:379,1
    - Dst: CA_MAIL_SERVER_POST_INIT
      Src: /src/postfix/postfix/src/spawn/spawn.c:380,1
    - Dst: CA_MAIL_SERVER_PRE_ACCEPT
      Src: /src/postfix/postfix/src/spawn/spawn.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 366
    functionDepth: 6
    functionLinenumber: 366
    functionLinenumberEnd: 384
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/spawn/spawn.c
    functionUses: 45
    functionsReached:
    - CA_MAIL_SERVER_TIME_TABLE
    - CA_MAIL_SERVER_POST_INIT
    - CA_MAIL_SERVER_PRE_ACCEPT
    - single_server_main
    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: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/scache/scache.c
    functionUses: 563
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - 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: 222
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 222
    functionName: VSTREQ
    functionSourceFile: /src/postfix/postfix/src/scache/scache.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTREQ(x,y)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/scache/scache.c:232,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/scache/scache.c:234,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/scache/scache.c:235,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/scache/scache.c:236,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/scache/scache.c:239,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/scache/scache.c:240,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/scache/scache.c:241,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/scache/scache.c:247,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/scache/scache.c:249,1
    - Dst: read_wait
      Src: /src/postfix/postfix/src/scache/scache.c:250,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/scache/scache.c:250,1
    - Dst: LOCAL_RECV_FD
      Src: /src/postfix/postfix/src/scache/scache.c:254,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/scache/scache.c:254,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/scache/scache.c:255,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/scache/scache.c:256,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/scache/scache.c:257,1
    - Dst: scache_save_endp
      Src: /src/postfix/postfix/src/scache/scache.c:261,1
    - Dst: STR
      Src: /src/postfix/postfix/src/scache/scache.c:263,1
    - Dst: STR
      Src: /src/postfix/postfix/src/scache/scache.c:263,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/scache/scache.c:264,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/scache/scache.c:265,1
    - Dst: scache_size
      Src: /src/postfix/postfix/src/scache/scache.c:267,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - client_stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 225
    functionDepth: 4
    functionLinenumber: 225
    functionLinenumberEnd: 274
    functionName: scache_save_endp_service
    functionSourceFile: /src/postfix/postfix/src/scache/scache.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - read_wait
    - LOCAL_RECV_FD
    - scache_save_endp
    - SEND_ATTR_INT
    - SEND_ATTR_STR
    - attr_print
    - RECV_ATTR_STR
    - vstream_fflush
    - attr_scan
    - scache_size
    - vstream_fileno
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: void
    signature: void scache_save_endp_service(VSTREAM *client_stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/scache/scache.c:283,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/scache/scache.c:285,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/scache/scache.c:287,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/scache/scache.c:288,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/scache/scache.c:289,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/scache/scache.c:290,1
    - Dst: scache_find_endp
      Src: /src/postfix/postfix/src/scache/scache.c:293,1
    - Dst: STR
      Src: /src/postfix/postfix/src/scache/scache.c:293,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/scache/scache.c:295,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/scache/scache.c:296,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/scache/scache.c:297,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/scache/scache.c:302,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/scache/scache.c:303,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/scache/scache.c:304,1
    - Dst: STR
      Src: /src/postfix/postfix/src/scache/scache.c:304,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/scache/scache.c:306,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/scache/scache.c:308,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/scache/scache.c:309,1
    - Dst: LOCAL_SEND_FD
      Src: /src/postfix/postfix/src/scache/scache.c:312,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/scache/scache.c:312,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/scache/scache.c:314,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/scache/scache.c:315,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/scache/scache.c:319,1
    - Dst: close
      Src: /src/postfix/postfix/src/scache/scache.c:320,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/scache/scache.c:321,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - client_stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 278
    functionDepth: 4
    functionLinenumber: 278
    functionLinenumberEnd: 325
    functionName: scache_find_endp_service
    functionSourceFile: /src/postfix/postfix/src/scache/scache.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - scache_find_endp
    - SEND_ATTR_INT
    - SEND_ATTR_STR
    - attr_print
    - RECV_ATTR_STR
    - vstream_fflush
    - attr_scan
    - close
    - vstream_fileno
    - LOCAL_SEND_FD
    - STR
    linkageType: ''
    returnType: void
    signature: void scache_find_endp_service(VSTREAM *client_stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/scache/scache.c:335,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/scache/scache.c:337,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/scache/scache.c:338,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/scache/scache.c:339,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/scache/scache.c:340,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/scache/scache.c:343,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/scache/scache.c:344,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/scache/scache.c:345,1
    - Dst: scache_save_dest
      Src: /src/postfix/postfix/src/scache/scache.c:349,1
    - Dst: STR
      Src: /src/postfix/postfix/src/scache/scache.c:351,1
    - Dst: STR
      Src: /src/postfix/postfix/src/scache/scache.c:351,1
    - Dst: STR
      Src: /src/postfix/postfix/src/scache/scache.c:352,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/scache/scache.c:353,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/scache/scache.c:354,1
    - Dst: scache_size
      Src: /src/postfix/postfix/src/scache/scache.c:356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - client_stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 363
    functionName: scache_save_dest_service
    functionSourceFile: /src/postfix/postfix/src/scache/scache.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - SEND_ATTR_INT
    - attr_print
    - RECV_ATTR_STR
    - attr_scan
    - scache_size
    - scache_save_dest
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: void
    signature: void scache_save_dest_service(VSTREAM *client_stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/scache/scache.c:372,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/scache/scache.c:374,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/scache/scache.c:376,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/scache/scache.c:377,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/scache/scache.c:378,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/scache/scache.c:379,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/scache/scache.c:380,1
    - Dst: scache_find_dest
      Src: /src/postfix/postfix/src/scache/scache.c:383,1
    - Dst: STR
      Src: /src/postfix/postfix/src/scache/scache.c:383,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/scache/scache.c:386,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/scache/scache.c:387,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/scache/scache.c:388,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/scache/scache.c:389,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/scache/scache.c:394,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/scache/scache.c:395,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/scache/scache.c:396,1
    - Dst: STR
      Src: /src/postfix/postfix/src/scache/scache.c:396,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/scache/scache.c:397,1
    - Dst: STR
      Src: /src/postfix/postfix/src/scache/scache.c:397,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/scache/scache.c:399,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/scache/scache.c:401,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/scache/scache.c:402,1
    - Dst: LOCAL_SEND_FD
      Src: /src/postfix/postfix/src/scache/scache.c:405,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/scache/scache.c:405,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/scache/scache.c:407,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/scache/scache.c:408,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/scache/scache.c:412,1
    - Dst: close
      Src: /src/postfix/postfix/src/scache/scache.c:413,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/scache/scache.c:414,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - client_stream
    argTypes:
    - VSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 367
    functionDepth: 4
    functionLinenumber: 367
    functionLinenumberEnd: 418
    functionName: scache_find_dest_service
    functionSourceFile: /src/postfix/postfix/src/scache/scache.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - scache_find_dest
    - SEND_ATTR_INT
    - SEND_ATTR_STR
    - attr_print
    - RECV_ATTR_STR
    - vstream_fflush
    - attr_scan
    - close
    - vstream_fileno
    - LOCAL_SEND_FD
    - STR
    linkageType: ''
    returnType: void
    signature: void scache_find_dest_service(VSTREAM *client_stream)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/scache/scache.c:430,1
    - Dst: attr_scan
      Src: /src/postfix/postfix/src/scache/scache.c:445,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/scache/scache.c:447,1
    - Dst: VSTREQ
      Src: /src/postfix/postfix/src/scache/scache.c:449,1
    - Dst: scache_save_dest_service
      Src: /src/postfix/postfix/src/scache/scache.c:450,1
    - Dst: VSTREQ
      Src: /src/postfix/postfix/src/scache/scache.c:451,1
    - Dst: scache_find_dest_service
      Src: /src/postfix/postfix/src/scache/scache.c:452,1
    - Dst: VSTREQ
      Src: /src/postfix/postfix/src/scache/scache.c:453,1
    - Dst: scache_save_endp_service
      Src: /src/postfix/postfix/src/scache/scache.c:454,1
    - Dst: VSTREQ
      Src: /src/postfix/postfix/src/scache/scache.c:455,1
    - Dst: scache_find_endp_service
      Src: /src/postfix/postfix/src/scache/scache.c:456,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/scache/scache.c:458,1
    - Dst: STR
      Src: /src/postfix/postfix/src/scache/scache.c:459,1
    - Dst: attr_print
      Src: /src/postfix/postfix/src/scache/scache.c:460,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/scache/scache.c:461,1
    - Dst: vstream_peek
      Src: /src/postfix/postfix/src/scache/scache.c:465,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/scache/scache.c:466,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - client_stream
    - unused_service
    - argv
    argTypes:
    - VSTREAM*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 422
    functionDepth: 5
    functionLinenumber: 422
    functionLinenumberEnd: 467
    functionName: scache_service
    functionSourceFile: /src/postfix/postfix/src/scache/scache.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - scache_save_dest_service
    - SEND_ATTR_INT
    - attr_print
    - RECV_ATTR_STR
    - scache_save_endp_service
    - attr_scan
    - STR
    - vstream_peek
    - vstream_fflush
    - scache_find_dest_service
    - msg_fatal
    - scache_find_endp_service
    - VSTREQ
    linkageType: ''
    returnType: void
    signature: "void scache_service(VSTREAM *client_stream, char *unused_service,\n\t\t\t
      \          char **argv)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/scache/scache.c:477,1
    - Dst: ctime
      Src: /src/postfix/postfix/src/scache/scache.c:478,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/scache/scache.c:481,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/scache/scache.c:488,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/scache/scache.c:495,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/scache/scache.c:501,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 502
    functionName: scache_status_dump
    functionSourceFile: /src/postfix/postfix/src/scache/scache.c
    functionUses: 0
    functionsReached:
    - event_time
    - ctime
    - msg_info
    linkageType: ''
    returnType: void
    signature: void scache_status_dump(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scache_status_dump
      Src: /src/postfix/postfix/src/scache/scache.c:508,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/scache/scache.c:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - unused_event
    - context
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 506
    functionDepth: 4
    functionLinenumber: 506
    functionLinenumberEnd: 510
    functionName: scache_status_update
    functionSourceFile: /src/postfix/postfix/src/scache/scache.c
    functionUses: 0
    functionsReached:
    - scache_status_dump
    - event_request_timer
    linkageType: ''
    returnType: void
    signature: void scache_status_update(int unused_event, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scache_multi_create
      Src: /src/postfix/postfix/src/scache/scache.c:520,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/scache/scache.c:525,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/scache/scache.c:526,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/scache/scache.c:527,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/scache/scache.c:528,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/scache/scache.c:529,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/scache/scache.c:531,1
    - Dst: event_request_timer
      Src: /src/postfix/postfix/src/scache/scache.c:543,1
    - Dst: event_time
      Src: /src/postfix/postfix/src/scache/scache.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 514
    functionDepth: 4
    functionLinenumber: 514
    functionLinenumberEnd: 545
    functionName: post_jail_init
    functionSourceFile: /src/postfix/postfix/src/scache/scache.c
    functionUses: 0
    functionsReached:
    - event_request_timer
    - scache_multi_create
    - vstring_alloc
    - event_time
    linkageType: ''
    returnType: void
    signature: void post_jail_init(char *unused_name, char **unused_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: attr_print
      Src: /src/postfix/postfix/src/scache/scache.c:556,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/scache/scache.c:557,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/scache/scache.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - stream
    - unused_name
    - unused_argv
    - unused_table
    argTypes:
    - VSTREAM*
    - char*
    - char**
    - HTABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 549
    functionDepth: 4
    functionLinenumber: 549
    functionLinenumberEnd: 560
    functionName: scache_post_accept
    functionSourceFile: /src/postfix/postfix/src/scache/scache.c
    functionUses: 0
    functionsReached:
    - SEND_ATTR_STR
    - attr_print
    - vstream_fflush
    linkageType: ''
    returnType: void
    signature: "void scache_post_accept(VSTREAM *stream, char *unused_name,\n\t\t\t
      \          char **unused_argv, HTABLE *unused_table)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: multi_server_main
      Src: /src/postfix/postfix/src/scache/scache.c:579,1
    - Dst: CA_MAIL_SERVER_TIME_TABLE
      Src: /src/postfix/postfix/src/scache/scache.c:580,1
    - Dst: CA_MAIL_SERVER_POST_INIT
      Src: /src/postfix/postfix/src/scache/scache.c:581,1
    - Dst: CA_MAIL_SERVER_POST_ACCEPT
      Src: /src/postfix/postfix/src/scache/scache.c:582,1
    - Dst: CA_MAIL_SERVER_EXIT
      Src: /src/postfix/postfix/src/scache/scache.c:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 566
    functionDepth: 6
    functionLinenumber: 566
    functionLinenumberEnd: 586
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/scache/scache.c
    functionUses: 46
    functionsReached:
    - multi_server_main
    - CA_MAIL_SERVER_EXIT
    - CA_MAIL_SERVER_POST_INIT
    - CA_MAIL_SERVER_TIME_TABLE
    - CA_MAIL_SERVER_POST_ACCEPT
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtp/smtp_misc.c:72,1
    - Dst: smtp_map11_internal
      Src: /src/postfix/postfix/src/smtp/smtp_misc.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: smtp_rewrite_generic_internal
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_misc.c
    functionUses: 0
    functionsReached:
    - vstring_strcpy
    - smtp_map11_internal
    linkageType: ''
    returnType: void
    signature: void smtp_rewrite_generic_internal(VSTRING *dst, const char *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: quote_822_local_flags
      Src: /src/postfix/postfix/src/smtp/smtp_misc.c:83,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtp/smtp_misc.c:85,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtp/smtp_misc.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - dst
    - src
    - flags
    argTypes:
    - VSTRING*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: smtp_quote_822_address_flags
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_misc.c
    functionUses: 0
    functionsReached:
    - vstring_strcat
    - quote_822_local_flags
    - vstring_strcpy
    linkageType: ''
    returnType: void
    signature: void smtp_quote_822_address_flags(VSTRING *dst, const char *src, int
      flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: quote_821_local
      Src: /src/postfix/postfix/src/smtp/smtp_misc.c:96,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtp/smtp_misc.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: smtp_quote_821_address
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_misc.c
    functionUses: 0
    functionsReached:
    - quote_821_local
    - vstring_strcpy
    linkageType: ''
    returnType: void
    signature: void smtp_quote_821_address(VSTRING *dst, const char *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:69,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:78,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:79,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:80,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:81,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:82,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:87,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:88,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:89,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:90,1
    - Dst: htable_create
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:91,1
    - Dst: dsb_create
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 67
    functionDepth: 4
    functionLinenumber: 67
    functionLinenumberEnd: 103
    functionName: smtp_state_alloc
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_state.c
    functionUses: 0
    functionsReached:
    - mymalloc
    - htable_create
    - vstring_alloc
    - dsb_create
    linkageType: ''
    returnType: SMTP_STATE
    signature: SMTP_STATE *smtp_state_alloc(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: smtp_tls_policy_cache_flush
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:111,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:113,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:114,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:115,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:116,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:117,1
    - Dst: trw_free
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:120,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:123,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:125,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:127,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:129,1
    - Dst: htable_free
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:131,1
    - Dst: dsb_free
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:133,1
    - Dst: debug_peer_restore
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:135,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_state.c:137,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 138
    functionName: smtp_state_free
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_state.c
    functionUses: 0
    functionsReached:
    - debug_peer_restore
    - smtp_tls_policy_cache_flush
    - htable_free
    - myfree
    - trw_free
    - dsb_free
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void smtp_state_free(SMTP_STATE *state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:134,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:135,1
    - Dst: dsb_reset
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:138,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:144,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:145,1
    - Dst: memset
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:152,1
    - Dst: memcpy
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:157,1
    - Dst: socket
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:162,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:163,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:169,1
    - Dst: smtp_connect_sock
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - iter
    - why
    - sess_flags
    argTypes:
    - SMTP_ITERATOR*
    - DSN_BUF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 173
    functionName: smtp_connect_unix
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_connect.c
    functionUses: 0
    functionsReached:
    - smtp_connect_sock
    - msg_warn
    - strlen
    - memcpy
    - socket
    - STR
    - msg_info
    - memset
    - dsb_simple
    - msg_fatal
    - dsb_reset
    linkageType: ''
    returnType: SMTP_SESSION
    signature: "SMTP_SESSION *smtp_connect_unix(SMTP_ITERATOR *iter, DSN_BUF *why,\n\t\t\t\t
      \              int sess_flags)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: dsb_reset
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:193,1
    - Dst: dns_rr_to_sa
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:198,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:199,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:200,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:201,1
    - Dst: socket
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:208,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:209,1
    - Dst: set_inet_windowsize
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:219,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:228,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:233,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:241,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:242,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:243,1
    - Dst: hostaddr_to_sockaddr
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:247,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:248,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:249,1
    - Dst: bind
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:250,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:251,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:253,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:254,1
    - Dst: RETURN_EARLY
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:255,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:258,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:260,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:261,1
    - Dst: own_inet_addr_list
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:274,1
    - Dst: SOCK_ADDR_FAMILY
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:278,1
    - Dst: SOCK_ADDR_PTR
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:281,1
    - Dst: sock_addr_in_loopback
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:284,1
    - Dst: bind
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:285,1
    - Dst: SOCK_ADDR_LEN
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:285,1
    - Dst: SOCKADDR_TO_HOSTADDR
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:286,1
    - Dst: SOCK_ADDR_LEN
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:286,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:288,1
    - Dst: SOCKADDR_TO_HOSTADDR
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:290,1
    - Dst: SOCK_ADDR_LEN
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:290,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:292,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:301,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:302,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:302,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:302,1
    - Dst: smtp_connect_sock
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:304,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 3
    argNames:
    - iter
    - why
    - sess_flags
    argTypes:
    - SMTP_ITERATOR*
    - DSN_BUF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 305
    functionName: smtp_connect_addr
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_connect.c
    functionUses: 0
    functionsReached:
    - SOCK_ADDR_PTR
    - socket
    - dns_strtype
    - msg_info
    - ntohs
    - dsb_simple
    - VAR_LMTP_SMTP
    - dns_rr_to_sa
    - SOCK_ADDR_LEN
    - set_inet_windowsize
    - split_at
    - hostaddr_to_sockaddr
    - bind
    - myfree
    - RETURN_EARLY
    - MAI_STRERROR
    - freeaddrinfo
    - smtp_connect_sock
    - sock_addr_in_loopback
    - msg_warn
    - STR
    - SOCKADDR_TO_HOSTADDR
    - own_inet_addr_list
    - msg_fatal
    - mystrdup
    - SOCK_ADDR_FAMILY
    - dsb_reset
    linkageType: ''
    returnType: SMTP_SESSION
    signature: "SMTP_SESSION *smtp_connect_addr(SMTP_ITERATOR *iter, DSN_BUF *why,\n\t\t\t\t
      \              int sess_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 217
    functionName: RETURN_EARLY
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_connect.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETURN_EARLY()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:319,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:320,1
    - Dst: time
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:323,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:325,1
    - Dst: timed_connect
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:326,1
    - Dst: non_blocking
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:328,1
    - Dst: sane_connect
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:331,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:335,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:336,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:338,1
    - Dst: close
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:339,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:342,1
    - Dst: vstream_tweak_tcp
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:352,1
    - Dst: smtp_session_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - sock
    - sa
    - salen
    - iter
    - why
    - sess_flags
    argTypes:
    - int
    - struct sockaddr*
    - int
    - SMTP_ITERATOR*
    - DSN_BUF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 309
    functionDepth: 4
    functionLinenumber: 309
    functionLinenumberEnd: 358
    functionName: smtp_connect_sock
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_connect.c
    functionUses: 2
    functionsReached:
    - vstream_fdopen
    - time
    - close
    - sane_connect
    - smtp_session_alloc
    - vstream_tweak_tcp
    - non_blocking
    - ntohs
    - dsb_simple
    - timed_connect
    - STR
    linkageType: ''
    returnType: SMTP_SESSION
    signature: "SMTP_SESSION *smtp_connect_sock(int sock, struct sockaddr *sa,\n\t\t\t\t
      \              int salen,\n\t\t\t\t               SMTP_ITERATOR *iter,\n\t\t\t\t
      \              DSN_BUF *why,\n\t\t\t\t               int sess_flags)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:366,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:374,1
    - Dst: host_port
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:380,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:381,1
    - Dst: filter_known_tcp_port
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:386,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:387,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:388,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:389,1
    - Dst: htons
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:391,1
    - Dst: getservbyname
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:393,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:394,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - destination
    - def_service
    - hostp
    - servicep
    - portp
    argTypes:
    - char*
    - char*
    - char**
    - char**
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 398
    functionName: smtp_parse_destination
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_connect.c
    functionUses: 0
    functionsReached:
    - htons
    - filter_known_tcp_port
    - getservbyname
    - alldig
    - msg_info
    - atoi
    - msg_fatal
    - host_port
    - mystrdup
    linkageType: ''
    returnType: char
    signature: "char *smtp_parse_destination(char *destination, char *def_service,\n\t\t\t\t
      \           char **hostp, char **servicep,\n\t\t\t\t            unsigned *portp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: name_mask
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:417,1
    - Dst: POSSIBLE_NOTIFICATION
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:420,1
    - Dst: smtp_chat_notify
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:421,1
    - Dst: smtp_quit
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:437,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:440,1
    - Dst: vstream_feof
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:441,1
    - Dst: smtp_save_session
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:442,1
    - Dst: smtp_session_free
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:445,1
    - Dst: HAVE_SCACHE_REQUEST_NEXTHOP
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:455,1
    - Dst: CLEAR_SCACHE_REQUEST_NEXTHOP
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:456,1
    - Dst: smtp_rcpt_cleanup
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:461,1
    - Dst: memset
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:478,1
    - Dst: memset
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:480,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 483
    functionName: smtp_cleanup_session
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_connect.c
    functionUses: 0
    functionsReached:
    - vstream_feof
    - smtp_rcpt_cleanup
    - name_mask
    - HAVE_SCACHE_REQUEST_NEXTHOP
    - smtp_quit
    - vstream_ferror
    - smtp_chat_notify
    - memset
    - smtp_save_session
    - CLEAR_SCACHE_REQUEST_NEXTHOP
    - smtp_session_free
    - POSSIBLE_NOTIFICATION
    linkageType: ''
    returnType: void
    signature: void smtp_cleanup_session(SMTP_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sender
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: POSSIBLE_NOTIFICATION
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_connect.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POSSIBLE_NOTIFICATION(sender)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: string_list_match
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:491,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - state
    - dest
    argTypes:
    - SMTP_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 499
    functionName: smtp_cache_policy
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_connect.c
    functionUses: 0
    functionsReached:
    - string_list_match
    linkageType: ''
    returnType: void
    signature: void smtp_cache_policy(SMTP_STATE *state, const char *dest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smtp_tls_policy_cache_query
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:513,1
    - Dst: TLS_MUST_MATCH
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:523,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:524,1
    - Dst: str_tls_level
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - why
    - state
    argTypes:
    - DSN_BUF*
    - SMTP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 505
    functionDepth: 3
    functionLinenumber: 505
    functionLinenumberEnd: 536
    functionName: smtp_get_effective_tls_level
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_connect.c
    functionUses: 0
    functionsReached:
    - str_tls_level
    - smtp_tls_policy_cache_query
    - TLS_MUST_MATCH
    - dsb_simple
    linkageType: ''
    returnType: int
    signature: int smtp_get_effective_tls_level(DSN_BUF *why, SMTP_STATE *state)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:553,1
    - Dst: smtp_cache_policy
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:563,1
    - Dst: SET_SCACHE_REQUEST_NEXTHOP
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:565,1
    - Dst: SMTP_ITER_INIT
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:576,1
    - Dst: smtp_get_effective_tls_level
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:595,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:596,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:597,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:597,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:597,1
    - Dst: smtp_reuse_nexthop
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:602,1
    - Dst: smtp_connect_unix
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:604,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:610,1
    - Dst: smtp_helo
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:623,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:625,1
    - Dst: vstream_feof
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:626,1
    - Dst: smtp_quit
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:627,1
    - Dst: smtp_xfer
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:629,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:638,1
    - Dst: smtp_cleanup_session
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:639,1
    - Dst: HAVE_SCACHE_REQUEST_NEXTHOP
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:645,1
    - Dst: CLEAR_SCACHE_REQUEST_NEXTHOP
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:646,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - state
    - path
    argTypes:
    - SMTP_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 542
    functionDepth: 4
    functionLinenumber: 542
    functionLinenumberEnd: 647
    functionName: smtp_connect_local
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_connect.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - vstream_feof
    - smtp_cache_policy
    - msg_warn
    - SMTP_ITER_INIT
    - SET_SCACHE_REQUEST_NEXTHOP
    - smtp_connect_unix
    - smtp_helo
    - smtp_xfer
    - smtp_quit
    - HAVE_SCACHE_REQUEST_NEXTHOP
    - vstream_ferror
    - smtp_cleanup_session
    - smtp_reuse_nexthop
    - smtp_get_effective_tls_level
    - CLEAR_SCACHE_REQUEST_NEXTHOP
    - STR
    linkageType: ''
    returnType: void
    signature: void smtp_connect_local(SMTP_STATE *state, const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_to_pa
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:664,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:665,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:666,1
    - Dst: htable_locate
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:669,1
    - Dst: dns_rr_remove
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:670,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - cached_addr
    - addr_list
    argTypes:
    - HTABLE*
    - DNS_RR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 672
    functionName: smtp_scrub_addr_list
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_connect.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - dns_strtype
    - htable_locate
    - dns_rr_to_pa
    - dns_rr_remove
    linkageType: ''
    returnType: void
    signature: void smtp_scrub_addr_list(HTABLE *cached_addr, DNS_RR **addr_list)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:692,1
    - Dst: hostaddr_to_sockaddr
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:711,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:712,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:713,1
    - Dst: DNS_RR_EQ_SA
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:717,1
    - Dst: dns_rr_remove
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:718,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:722,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - addr_list
    - server_addr
    - session_count
    argTypes:
    - DNS_RR**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 676
    functionDepth: 3
    functionLinenumber: 676
    functionLinenumberEnd: 724
    functionName: smtp_update_addr_list
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_connect.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - dns_rr_free
    - freeaddrinfo
    - DNS_RR_EQ_SA
    - MAI_STRERROR
    - hostaddr_to_sockaddr
    - dns_rr_remove
    linkageType: ''
    returnType: void
    signature: "void smtp_update_addr_list(DNS_RR **addr_list, const char *server_addr,\n\t\t\t\t
      \         int session_count)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: smtp_tls_policy_dummy
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:771,1
    - Dst: SMTP_ITER_SAVE_DEST
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:773,1
    - Dst: SMTP_RCPT_LEFT
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:774,1
    - Dst: HAVE_SCACHE_REQUEST_NEXTHOP
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:775,1
    - Dst: smtp_reuse_nexthop
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:776,1
    - Dst: smtp_update_addr_list
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:778,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:778,1
    - Dst: smtp_xfer
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:782,1
    - Dst: smtp_cleanup_session
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:783,1
    - Dst: SMTP_ITER_RESTORE_DEST
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:785,1
    - Dst: SMTP_RCPT_LEFT
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:808,1
    - Dst: dns_rr_to_pa
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:812,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:813,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:814,1
    - Dst: SMTP_ITER_UPDATE_HOST
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:818,1
    - Dst: SMTP_HNAME
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:818,1
    - Dst: smtp_get_effective_tls_level
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:820,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:821,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:822,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:822,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:822,1
    - Dst: smtp_reuse_addr
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:827,1
    - Dst: smtp_update_addr_list
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:831,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:831,1
    - Dst: smtp_xfer
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:837,1
    - Dst: smtp_cleanup_session
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:838,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 3
    argNames:
    - state
    - addr_list
    - domain_best_pref
    argTypes:
    - SMTP_STATE*
    - DNS_RR**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 728
    functionDepth: 4
    functionLinenumber: 728
    functionLinenumberEnd: 842
    functionName: smtp_reuse_session
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_connect.c
    functionUses: 0
    functionsReached:
    - SMTP_ITER_RESTORE_DEST
    - smtp_xfer
    - msg_warn
    - smtp_reuse_addr
    - SMTP_HNAME
    - SMTP_RCPT_LEFT
    - SMTP_ITER_SAVE_DEST
    - smtp_cleanup_session
    - smtp_reuse_nexthop
    - smtp_update_addr_list
    - STR
    - dns_strtype
    - smtp_get_effective_tls_level
    - dns_rr_to_pa
    - SMTP_ITER_UPDATE_HOST
    - smtp_tls_policy_dummy
    - HAVE_SCACHE_REQUEST_NEXTHOP
    linkageType: ''
    returnType: int
    signature: "int smtp_reuse_session(SMTP_STATE *state, DNS_RR **addr_list,\n\t\t\t
      \             int domain_best_pref)"
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:863,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:864,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:872,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:874,1
    - Dst: argv_split_append
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:876,1
    - Dst: SMTP_RCPT_LEFT
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:898,1
    - Dst: smtp_parse_destination
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:942,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:945,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:946,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:948,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:948,1
    - Dst: SMTP_ITER_INIT
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:953,1
    - Dst: STATE_TLS_NOT_REQUIRED
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:969,1
    - Dst: tls_level_lookup
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:970,1
    - Dst: valid_hostaddr
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:971,1
    - Dst: smtp_tlsrpt_create_wrapper
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:972,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:982,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:986,1
    - Dst: string_list_match
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1002,1
    - Dst: smtp_service_addr
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1007,1
    - Dst: smtp_host_addr
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1011,1
    - Dst: smtp_domain_addr
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1014,1
    - Dst: SMTP_HAS_LOOP_DSN
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1025,1
    - Dst: smtp_cache_policy
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1052,1
    - Dst: SET_SCACHE_REQUEST_NEXTHOP
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1054,1
    - Dst: smtp_scrub_addr_list
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1069,1
    - Dst: smtp_reuse_session
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1071,1
    - Dst: SMTP_RCPT_LEFT
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1102,1
    - Dst: dns_rr_to_pa
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1106,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1107,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1108,1
    - Dst: SMTP_ITER_UPDATE_HOST
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1112,1
    - Dst: SMTP_HNAME
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1112,1
    - Dst: smtp_get_effective_tls_level
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1114,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1115,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1116,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1116,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1116,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1122,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1123,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1123,1
    - Dst: smtp_reuse_addr
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1135,1
    - Dst: smtp_connect_addr
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1137,1
    - Dst: smtp_tlsrpt_set_tls_policy
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1150,1
    - Dst: smtp_tlsrpt_set_tcp_connection
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1151,1
    - Dst: smtp_helo
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1162,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1181,1
    - Dst: vstream_feof
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1182,1
    - Dst: smtp_quit
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1183,1
    - Dst: smtp_xfer
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1191,1
    - Dst: smtp_cleanup_session
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1206,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1209,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1209,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1213,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1215,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1218,1
    - Dst: SMTP_RCPT_LEFT
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1227,1
    - Dst: SMTP_HAS_DSN
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1236,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1237,1
    - Dst: SMTP_HAS_SOFT_DSN
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1245,1
    - Dst: IS_FALLBACK_RELAY
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1251,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1252,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1253,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1266,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1267,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1268,1
    - Dst: SMTP_HAS_LOOP_DSN
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1276,1
    - Dst: dsb_reset
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1277,1
    - Dst: deliver_pass_all
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1278,1
    - Dst: HAVE_SCACHE_REQUEST_NEXTHOP
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1289,1
    - Dst: CLEAR_SCACHE_REQUEST_NEXTHOP
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1290,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1291,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 150
    argCount: 3
    argNames:
    - state
    - nexthop
    - def_service
    argTypes:
    - SMTP_STATE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 846
    functionDepth: 5
    functionLinenumber: 846
    functionLinenumberEnd: 1292
    functionName: smtp_connect_inet
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_connect.c
    functionUses: 0
    functionsReached:
    - inet_proto_info
    - smtp_xfer
    - dns_rr_free
    - smtp_helo
    - argv_split_append
    - vstream_ferror
    - dns_strtype
    - msg_info
    - smtp_cleanup_session
    - smtp_tlsrpt_create_wrapper
    - smtp_domain_addr
    - ntohs
    - dns_rr_to_pa
    - dsb_simple
    - smtp_parse_destination
    - tls_level_lookup
    - VAR_LMTP_SMTP
    - msg_panic
    - smtp_tlsrpt_set_tcp_connection
    - smtp_reuse_session
    - smtp_service_addr
    - SMTP_RCPT_LEFT
    - smtp_quit
    - smtp_connect_addr
    - string_list_match
    - smtp_scrub_addr_list
    - dsb_reset
    - vstream_feof
    - smtp_cache_policy
    - smtp_reuse_addr
    - SMTP_HAS_LOOP_DSN
    - SET_SCACHE_REQUEST_NEXTHOP
    - deliver_pass_all
    - STATE_TLS_NOT_REQUIRED
    - SMTP_HAS_SOFT_DSN
    - myfree
    - argv_split
    - CLEAR_SCACHE_REQUEST_NEXTHOP
    - SMTP_ITER_UPDATE_HOST
    - smtp_tlsrpt_set_tls_policy
    - HAVE_SCACHE_REQUEST_NEXTHOP
    - SMTP_ITER_INIT
    - msg_warn
    - IS_FALLBACK_RELAY
    - valid_hostaddr
    - SMTP_HNAME
    - SMTP_HAS_DSN
    - argv_free
    - smtp_get_effective_tls_level
    - strcmp
    - vstring_strcpy
    - smtp_host_addr
    - STR
    linkageType: ''
    returnType: void
    signature: "void smtp_connect_inet(SMTP_STATE *state, const char *nexthop,\n\t\t\t
      \             char *def_service)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cpp
    - ','
    - sites
    - ','
    - non_fallback_sites
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 896
    functionName: IS_FALLBACK_RELAY
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_connect.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_FALLBACK_RELAY(cpp, sites, non_fallback_sites)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1281
    functionName: SMTP_RCPT_LEFT
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_connect.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SMTP_RCPT_LEFT(state)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1317,1
    - Dst: smtp_connect_local
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1318,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1320,1
    - Dst: smtp_connect_inet
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1322,1
    - Dst: smtp_connect_inet
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1332,1
    - Dst: SMTP_RCPT_LEFT
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1346,1
    - Dst: smtp_sess_fail
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1348,1
    - Dst: smtp_rcpt_cleanup
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1353,1
    - Dst: SMTP_RCPT_LEFT
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1354,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_connect.c:1355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1296
    functionDepth: 6
    functionLinenumber: 1296
    functionLinenumberEnd: 1358
    functionName: smtp_connect
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_connect.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - smtp_connect_inet
    - smtp_connect_local
    - smtp_rcpt_cleanup
    - SMTP_RCPT_LEFT
    - smtp_sess_fail
    - strncmp
    linkageType: ''
    returnType: int
    signature: int smtp_connect(SMTP_STATE *state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/smtp/smtp.c:1237,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp.c:1240,1
    - Dst: byte_mask
      Src: /src/postfix/postfix/src/smtp/smtp.c:1241,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp.c:1249,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp.c:1258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - attr
    - argv
    argTypes:
    - SMTP_CLI_ATTR*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1212
    functionDepth: 2
    functionLinenumber: 1212
    functionLinenumberEnd: 1261
    functionName: get_cli_attr
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - byte_mask
    - msg_info
    - strncasecmp
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void get_cli_attr(SMTP_CLI_ATTR *attr, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp.c:1271,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp.c:1279,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp.c:1281,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp.c:1292,1
    - Dst: reject_deliver_request
      Src: /src/postfix/postfix/src/smtp/smtp.c:1294,1
    - Dst: delivered_hdr_init
      Src: /src/postfix/postfix/src/smtp/smtp.c:1302,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp.c:1304,1
    - Dst: smtp_rewrite_generic_internal
      Src: /src/postfix/postfix/src/smtp/smtp.c:1307,1
    - Dst: delivered_hdr_find
      Src: /src/postfix/postfix/src/smtp/smtp.c:1309,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp.c:1310,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp.c:1311,1
    - Dst: delivered_hdr_free
      Src: /src/postfix/postfix/src/smtp/smtp.c:1312,1
    - Dst: reject_deliver_request
      Src: /src/postfix/postfix/src/smtp/smtp.c:1314,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp.c:1326,1
    - Dst: reject_deliver_request
      Src: /src/postfix/postfix/src/smtp/smtp.c:1328,1
    - Dst: smtp_state_alloc
      Src: /src/postfix/postfix/src/smtp/smtp.c:1337,1
    - Dst: debug_peer_check
      Src: /src/postfix/postfix/src/smtp/smtp.c:1343,1
    - Dst: SMTP_RCPT_INIT
      Src: /src/postfix/postfix/src/smtp/smtp.c:1344,1
    - Dst: smtp_connect
      Src: /src/postfix/postfix/src/smtp/smtp.c:1352,1
    - Dst: smtp_state_free
      Src: /src/postfix/postfix/src/smtp/smtp.c:1357,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - service
    - request
    argTypes:
    - char*
    - DELIVER_REQUEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1265
    functionDepth: 7
    functionLinenumber: 1265
    functionLinenumberEnd: 1360
    functionName: deliver_message
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.c
    functionUses: 3
    functionsReached:
    - smtp_state_alloc
    - msg_warn
    - delivered_hdr_find
    - reject_deliver_request
    - smtp_connect
    - vstring_alloc
    - msg_info
    - SMTP_RCPT_INIT
    - smtp_state_free
    - delivered_hdr_free
    - smtp_rewrite_generic_internal
    - delivered_hdr_init
    - msg_fatal
    - debug_peer_check
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int deliver_message(const char *service, DELIVER_REQUEST *request)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deliver_request_read
      Src: /src/postfix/postfix/src/smtp/smtp.c:1378,1
    - Dst: deliver_message
      Src: /src/postfix/postfix/src/smtp/smtp.c:1379,1
    - Dst: deliver_request_done
      Src: /src/postfix/postfix/src/smtp/smtp.c:1380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - client_stream
    - service
    - unused_argv
    argTypes:
    - VSTREAM*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1364
    functionDepth: 6
    functionLinenumber: 1364
    functionLinenumberEnd: 1382
    functionName: smtp_service
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.c
    functionUses: 0
    functionsReached:
    - deliver_request_done
    - deliver_message
    - deliver_request_read
    linkageType: ''
    returnType: void
    signature: "void smtp_service(VSTREAM *client_stream, char *service,\n\t\t\t         char
      **unused_argv)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: name_code
      Src: /src/postfix/postfix/src/smtp/smtp.c:1413,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp.c:1415,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp.c:1415,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp.c:1422,1
    - Dst: smtp_tlsrpt_post_jail
      Src: /src/postfix/postfix/src/smtp/smtp.c:1428,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp.c:1432,1
    - Dst: tls_level_lookup
      Src: /src/postfix/postfix/src/smtp/smtp.c:1439,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp.c:1446,1
    - Dst: name_mask
      Src: /src/postfix/postfix/src/smtp/smtp.c:1459,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp.c:1459,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp.c:1462,1
    - Dst: str_name_mask
      Src: /src/postfix/postfix/src/smtp/smtp.c:1463,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp.c:1463,1
    - Dst: scache_multi_create
      Src: /src/postfix/postfix/src/smtp/smtp.c:1471,1
    - Dst: scache_clnt_create
      Src: /src/postfix/postfix/src/smtp/smtp.c:1473,1
    - Dst: name_mask
      Src: /src/postfix/postfix/src/smtp/smtp.c:1482,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp.c:1482,1
    - Dst: smtp_vrfy_init
      Src: /src/postfix/postfix/src/smtp/smtp.c:1488,1
    - Dst: get_cli_attr
      Src: /src/postfix/postfix/src/smtp/smtp.c:1494,1
    - Dst: hfrom_format_parse
      Src: /src/postfix/postfix/src/smtp/smtp.c:1499,1
    - Dst: string_list_init
      Src: /src/postfix/postfix/src/smtp/smtp.c:1505,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 2
    argNames:
    - unused_name
    - argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1386
    functionDepth: 3
    functionLinenumber: 1386
    functionLinenumberEnd: 1508
    functionName: post_init
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.c
    functionUses: 7
    functionsReached:
    - name_code
    - hfrom_format_parse
    - msg_warn
    - str_name_mask
    - name_mask
    - get_cli_attr
    - scache_clnt_create
    - msg_info
    - smtp_vrfy_init
    - scache_multi_create
    - smtp_tlsrpt_post_jail
    - string_list_init
    - tls_level_lookup
    - msg_fatal
    - VAR_LMTP_SMTP
    linkageType: ''
    returnType: void
    signature: void post_init(char *unused_name, char **argv)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtp/smtp.c:1529,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtp/smtp.c:1530,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp.c:1531,1
    - Dst: debug_peer_init
      Src: /src/postfix/postfix/src/smtp/smtp.c:1538,1
    - Dst: smtp_sasl_initialize
      Src: /src/postfix/postfix/src/smtp/smtp.c:1545,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp.c:1547,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp.c:1548,1
    - Dst: WARN_COMPAT_BREAK_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp.c:1553,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp.c:1554,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp.c:1555,1
    - Dst: tls_level_lookup
      Src: /src/postfix/postfix/src/smtp/smtp.c:1558,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp.c:1577,1
    - Dst: tls_pre_jail_init
      Src: /src/postfix/postfix/src/smtp/smtp.c:1588,1
    - Dst: TLS_CLIENT_INIT
      Src: /src/postfix/postfix/src/smtp/smtp.c:1601,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp.c:1602,1
    - Dst: LMTP_SMTP_SUFFIX
      Src: /src/postfix/postfix/src/smtp/smtp.c:1605,1
    - Dst: smtp_tls_list_init
      Src: /src/postfix/postfix/src/smtp/smtp.c:1616,1
    - Dst: tls_dane_loglevel
      Src: /src/postfix/postfix/src/smtp/smtp.c:1617,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp.c:1617,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp.c:1619,1
    - Dst: flush_init
      Src: /src/postfix/postfix/src/smtp/smtp.c:1626,1
    - Dst: string_list_init
      Src: /src/postfix/postfix/src/smtp/smtp.c:1632,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/smtp/smtp.c:1640,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp.c:1640,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/smtp/smtp.c:1648,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp.c:1648,1
    - Dst: ext_prop_mask
      Src: /src/postfix/postfix/src/smtp/smtp.c:1657,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/smtp/smtp.c:1660,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp.c:1660,1
    - Dst: hbc_header_checks_create
      Src: /src/postfix/postfix/src/smtp/smtp.c:1667,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp.c:1668,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp.c:1669,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp.c:1670,1
    - Dst: hbc_body_checks_create
      Src: /src/postfix/postfix/src/smtp/smtp.c:1672,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp.c:1673,1
    - Dst: dict_open
      Src: /src/postfix/postfix/src/smtp/smtp.c:1681,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/smtp/smtp.c:1688,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp.c:1691,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp.c:1691,1
    - Dst: dns_rr_filter_compile
      Src: /src/postfix/postfix/src/smtp/smtp.c:1699,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp.c:1699,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1512
    functionDepth: 4
    functionLinenumber: 1512
    functionLinenumberEnd: 1701
    functionName: pre_init
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.c
    functionUses: 7
    functionsReached:
    - flush_init
    - dict_open
    - smtp_tls_list_init
    - msg_info
    - ext_prop_mask
    - smtp_sasl_initialize
    - tls_level_lookup
    - VAR_LMTP_SMTP
    - hbc_body_checks_create
    - hbc_header_checks_create
    - tls_dane_loglevel
    - dns_rr_filter_compile
    - debug_peer_init
    - TLS_CLIENT_INIT
    - LMTP_SMTP_SUFFIX
    - maps_create
    - WARN_COMPAT_BREAK_LMTP_SMTP
    - string_list_init
    - name_code
    - msg_warn
    - strcmp
    - tls_pre_jail_init
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void pre_init(char *unused_name, char **unused_argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_changed_name
      Src: /src/postfix/postfix/src/smtp/smtp.c:1709,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp.c:1710,1
    - Dst: exit
      Src: /src/postfix/postfix/src/smtp/smtp.c:1711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - unused_name
    - unused_argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1705
    functionDepth: 4
    functionLinenumber: 1705
    functionLinenumberEnd: 1713
    functionName: pre_accept
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.c
    functionUses: 13
    functionsReached:
    - dict_changed_name
    - exit
    - msg_info
    linkageType: ''
    returnType: void
    signature: void pre_accept(char *unused_name, char **unused_argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sane_basename
      Src: /src/postfix/postfix/src/smtp/smtp.c:1738,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtp/smtp.c:1739,1
    - Dst: single_server_main
      Src: /src/postfix/postfix/src/smtp/smtp.c:1745,1
    - Dst: CA_MAIL_SERVER_TIME_TABLE
      Src: /src/postfix/postfix/src/smtp/smtp.c:1746,1
    - Dst: CA_MAIL_SERVER_INT_TABLE
      Src: /src/postfix/postfix/src/smtp/smtp.c:1748,1
    - Dst: CA_MAIL_SERVER_STR_TABLE
      Src: /src/postfix/postfix/src/smtp/smtp.c:1750,1
    - Dst: CA_MAIL_SERVER_BOOL_TABLE
      Src: /src/postfix/postfix/src/smtp/smtp.c:1752,1
    - Dst: CA_MAIL_SERVER_NBOOL_TABLE
      Src: /src/postfix/postfix/src/smtp/smtp.c:1754,1
    - Dst: CA_MAIL_SERVER_PRE_INIT
      Src: /src/postfix/postfix/src/smtp/smtp.c:1756,1
    - Dst: CA_MAIL_SERVER_POST_INIT
      Src: /src/postfix/postfix/src/smtp/smtp.c:1757,1
    - Dst: CA_MAIL_SERVER_PRE_ACCEPT
      Src: /src/postfix/postfix/src/smtp/smtp.c:1758,1
    - Dst: CA_MAIL_SERVER_BOUNCE_INIT
      Src: /src/postfix/postfix/src/smtp/smtp.c:1759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1719
    functionDepth: 6
    functionLinenumber: 1719
    functionLinenumberEnd: 1762
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.c
    functionUses: 47
    functionsReached:
    - CA_MAIL_SERVER_PRE_ACCEPT
    - CA_MAIL_SERVER_STR_TABLE
    - single_server_main
    - CA_MAIL_SERVER_BOUNCE_INIT
    - CA_MAIL_SERVER_POST_INIT
    - CA_MAIL_SERVER_NBOOL_TABLE
    - strcmp
    - CA_MAIL_SERVER_TIME_TABLE
    - CA_MAIL_SERVER_INT_TABLE
    - sane_basename
    - CA_MAIL_SERVER_PRE_INIT
    - CA_MAIL_SERVER_BOOL_TABLE
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HAVE_SCACHE_REQUEST_NEXTHOP
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:127,1
    - Dst: smtp_key_prefix
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:128,1
    - Dst: smtp_key_prefix
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:135,1
    - Dst: smtp_session_passivate
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:142,1
    - Dst: HAVE_SCACHE_REQUEST_NEXTHOP
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:154,1
    - Dst: scache_save_dest
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:155,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:156,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:156,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:157,1
    - Dst: scache_save_endp
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:162,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:162,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - state
    - name_key_flags
    - endp_key_flags
    argTypes:
    - SMTP_STATE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 164
    functionName: smtp_save_session
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_reuse.c
    functionUses: 1
    functionsReached:
    - smtp_key_prefix
    - HAVE_SCACHE_REQUEST_NEXTHOP
    - scache_save_endp
    - smtp_session_passivate
    - scache_save_dest
    - STR
    linkageType: ''
    returnType: void
    signature: "void smtp_save_session(SMTP_STATE *state, int name_key_flags,\n\t\t\t
      \         int endp_key_flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:176,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:176,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:177,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:177,1
    - Dst: smtp_session_activate
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:183,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:186,1
    - Dst: close
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:187,1
    - Dst: smtp_rset
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:196,1
    - Dst: smtp_session_free
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:198,1
    - Dst: vstream_tweak_sock
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:205,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:210,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - state
    - fd
    - label
    argTypes:
    - SMTP_STATE*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 168
    functionDepth: 5
    functionLinenumber: 168
    functionLinenumberEnd: 213
    functionName: smtp_reuse_common
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_reuse.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - close
    - smtp_rset
    - msg_info
    - htable_enter
    - smtp_session_activate
    - smtp_session_free
    - vstream_tweak_sock
    - STR
    linkageType: ''
    returnType: SMTP_SESSION
    signature: "SMTP_SESSION *smtp_reuse_common(SMTP_STATE *state, int fd,\n\t\t\t\t
      \              const char *label)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smtp_key_prefix
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:226,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:229,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:229,1
    - Dst: scache_find_dest
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:230,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:230,1
    - Dst: smtp_reuse_common
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:238,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - state
    - name_key_flags
    argTypes:
    - SMTP_STATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 217
    functionDepth: 6
    functionLinenumber: 217
    functionLinenumberEnd: 240
    functionName: smtp_reuse_nexthop
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_reuse.c
    functionUses: 2
    functionsReached:
    - smtp_key_prefix
    - scache_find_dest
    - smtp_reuse_common
    - msg_info
    - STR
    linkageType: ''
    returnType: SMTP_SESSION
    signature: SMTP_SESSION *smtp_reuse_nexthop(SMTP_STATE *state, int name_key_flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smtp_key_prefix
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:263,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:266,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:266,1
    - Dst: scache_find_endp
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:267,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:267,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:270,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:271,1
    - Dst: smtp_reuse_common
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:277,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_reuse.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - state
    - endp_key_flags
    argTypes:
    - SMTP_STATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 244
    functionDepth: 6
    functionLinenumber: 244
    functionLinenumberEnd: 280
    functionName: smtp_reuse_addr
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_reuse.c
    functionUses: 2
    functionsReached:
    - smtp_key_prefix
    - scache_find_endp
    - smtp_reuse_common
    - msg_info
    - VSTRING_RESET
    - VSTRING_TERMINATE
    - STR
    linkageType: ''
    returnType: SMTP_SESSION
    signature: SMTP_SESSION *smtp_reuse_addr(SMTP_STATE *state, int endp_key_flags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mail_addr_map_internal
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:89,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:89,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:91,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:91,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:94,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:94,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:95,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:96,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:100,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:100,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:102,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - addr
    - maps
    - propagate
    argTypes:
    - VSTRING*
    - MAPS*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 105
    functionName: smtp_map11_internal
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_map11.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - argv_free
    - msg_info
    - vstring_strcpy
    - mail_addr_map_internal
    - msg_fatal
    - STR
    linkageType: ''
    returnType: int
    signature: int smtp_map11_internal(VSTRING *addr, MAPS *maps, int propagate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:111,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:112,1
    - Dst: tok822_internalize
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:115,1
    - Dst: smtp_map11_internal
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:116,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:117,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:118,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:118,1
    - Dst: tok822_scan
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:119,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:119,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:120,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - tree
    - maps
    - propagate
    argTypes:
    - TOK822*
    - MAPS*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: smtp_map11_tree
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_map11.c
    functionUses: 0
    functionsReached:
    - vstring_alloc
    - smtp_map11_internal
    - tok822_scan
    - quote_822_local
    - tok822_free_tree
    - vstring_free
    - tok822_internalize
    - STR
    linkageType: ''
    returnType: int
    signature: int smtp_map11_tree(TOK822 *tree, MAPS *maps, int propagate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:129,1
    - Dst: unquote_822_local
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:132,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:132,1
    - Dst: smtp_map11_internal
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:133,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:134,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:134,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - addr
    - maps
    - propagate
    argTypes:
    - VSTRING*
    - MAPS*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: smtp_map11_external
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_map11.c
    functionUses: 0
    functionsReached:
    - unquote_822_local
    - vstring_alloc
    - smtp_map11_internal
    - quote_822_local
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: int smtp_map11_external(VSTRING *addr, MAPS *maps, int propagate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:156,1
    - Dst: strrchr
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:157,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:158,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - result
    - addr
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: canon_addr_external
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_map11.c
    functionUses: 2
    functionsReached:
    - strrchr
    - vstring_sprintf_append
    - strcspn
    - vstring_strcpy
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *canon_addr_external(VSTRING *result, const char *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: usage
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_map11.c
    functionUses: 42
    functionsReached:
    - msg_fatal
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN usage(const char *progname)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:170,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:176,1
    - Dst: msg_vstream_init
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:185,1
    - Dst: basename
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:185,1
    - Dst: GETOPT
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:190,1
    - Dst: usage
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:196,1
    - Dst: usage
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:200,1
    - Dst: mail_params_init
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:203,1
    - Dst: UPDATE
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:210,1
    - Dst: UPDATE
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:211,1
    - Dst: UPDATE
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:212,1
    - Dst: UPDATE
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:213,1
    - Dst: UPDATE
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:214,1
    - Dst: readllines
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:219,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:220,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:222,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:223,1
    - Dst: ISSPACE
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:225,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:228,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:233,1
    - Dst: maps_free
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:235,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:236,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:238,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:245,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:246,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:247,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:254,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:255,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:256,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:257,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:258,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:263,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:264,1
    - Dst: smtp_map11_external
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:265,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:266,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:267,1
    - Dst: smtp_map11_internal
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:268,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:269,1
    - Dst: tok822_parse
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:274,1
    - Dst: tok822_grep
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:275,1
    - Dst: smtp_map11_tree
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:277,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:278,1
    - Dst: tok822_externalize
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:280,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:281,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:287,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:289,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:291,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:297,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:297,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:298,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:299,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:303,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:306,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:306,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:309,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:316,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:319,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:320,1
    - Dst: maps_free
      Src: /src/postfix/postfix/src/smtp/smtp_map11.c:321,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 86
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 168
    functionDepth: 4
    functionLinenumber: 168
    functionLinenumberEnd: 323
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_map11.c
    functionUses: 47
    functionsReached:
    - ISSPACE
    - basename
    - smtp_map11_internal
    - msg_vstream_init
    - msg_info
    - tok822_parse
    - smtp_map11_external
    - tok822_grep
    - GETOPT
    - mail_params_init
    - vstream_fflush
    - vstring_alloc
    - readllines
    - mystrtok
    - UPDATE
    - maps_free
    - maps_create
    - myfree
    - vstream_printf
    - tok822_externalize
    - vstring_free
    - msg_warn
    - strcmp
    - vstring_strcpy
    - usage
    - smtp_map11_tree
    - msg_fatal
    - tok822_free_tree
    - STR
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 209
    functionName: UPDATE
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_map11.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE(var, val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sasl_mech_filter
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c:87,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c:98,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c:99,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c:100,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c:101,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c:103,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c:108,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c:109,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - session
    - words
    argTypes:
    - SMTP_SESSION*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 116
    functionName: smtp_sasl_helo_auth
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - strlen
    - sasl_mech_filter
    - myfree
    - strcasecmp
    - concatenate
    - mystrdup
    linkageType: ''
    returnType: void
    signature: void smtp_sasl_helo_auth(SMTP_SESSION *session, const char *words)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: smtp_sasl_passwd_lookup
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c:130,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c:144,1
    - Dst: smtp_sess_fail
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c:147,1
    - Dst: smtp_sasl_start
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c:151,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c:151,1
    - Dst: smtp_sasl_start
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c:154,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c:154,1
    - Dst: TLS_CERT_IS_MATCHED
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c:156,1
    - Dst: smtp_sasl_start
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c:157,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c:157,1
    - Dst: smtp_sasl_start
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c:160,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c:160,1
    - Dst: smtp_sasl_authenticate
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c:163,1
    - Dst: smtp_sess_fail
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 169
    functionName: smtp_sasl_helo_login
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c
    functionUses: 0
    functionsReached:
    - smtp_sasl_authenticate
    - smtp_sasl_passwd_lookup
    - smtp_sasl_start
    - smtp_sess_fail
    - TLS_CERT_IS_MATCHED
    - dsb_simple
    - VAR_LMTP_SMTP
    linkageType: ''
    returnType: int
    signature: int smtp_sasl_helo_login(SMTP_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - SMTP_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: smtp_chat_init
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_chat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void smtp_chat_init(SMTP_SESSION *session)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argv_free
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - session
    argTypes:
    - SMTP_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: smtp_chat_reset
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_chat.c
    functionUses: 0
    functionsReached:
    - argv_free
    linkageType: ''
    returnType: void
    signature: void smtp_chat_reset(SMTP_SESSION *session)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:179,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:180,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:181,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - session
    - direction
    - data
    argTypes:
    - SMTP_SESSION*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 5
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: smtp_chat_append
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_chat.c
    functionUses: 2
    functionsReached:
    - concatenate
    - argv_alloc
    - myfree
    - argv_add
    linkageType: ''
    returnType: void
    signature: "void smtp_chat_append(SMTP_SESSION *session, const char *direction,\n\t\t\t
      \            const char *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:194,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:195,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:196,1
    - Dst: smtp_chat_append
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:197,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:197,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:204,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:204,1
    - Dst: smtp_fputs
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:209,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:209,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:209,1
    - Dst: time
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:226,1
    - Dst: vstream_ftime
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:226,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:227,1
    - Dst: vstream_ftimeout
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:232,1
    - Dst: vstream_longjmp
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:233,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:234,1
    - Dst: vstream_longjmp
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - session
    - fmt
    argTypes:
    - SMTP_SESSION*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 187
    functionDepth: 4
    functionLinenumber: 187
    functionLinenumberEnd: 237
    functionName: smtp_chat_cmd
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_chat.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - smtp_fputs
    - vstring_vsprintf
    - time
    - smtp_chat_append
    - LEN
    - vstream_ftime
    - msg_info
    - vstream_fflush
    - vstream_ftimeout
    - vstream_longjmp
    - vstream_ferror
    - STR
    linkageType: ''
    returnType: void
    signature: void smtp_chat_cmd(SMTP_SESSION *session, const char *fmt,...)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:256,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:257,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:268,1
    - Dst: smtp_get
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:270,1
    - Dst: printable
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:273,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:273,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:275,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:276,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:278,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:278,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:284,1
    - Dst: smtp_chat_append
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:286,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:286,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:289,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:290,1
    - Dst: dict_get
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:300,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:300,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:302,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:303,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:304,1
    - Dst: smtp_chat_append
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:306,1
    - Dst: smtp_chat_append
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:307,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:310,1
    - Dst: printable
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:314,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:314,1
    - Dst: vstream_longjmp
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:315,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:319,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:320,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:321,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:321,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:327,1
    - Dst: ISDIGIT
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:327,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:329,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:371,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:374,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:376,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:378,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:379,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:411,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:412,1
    - Dst: atoi
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:414,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:414,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:415,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:415,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:416,1
    - Dst: dsn_valid
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:418,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:418,1
    - Dst: vstring_strncpy
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:419,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:421,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:422,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:422,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:428,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:429,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 77
    argCount: 1
    argNames:
    - session
    argTypes:
    - SMTP_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 431
    functionName: smtp_chat_resp
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_chat.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - vstring_strncpy
    - LEN
    - dsn_valid
    - msg_info
    - VSTRING_RESET
    - vstream_longjmp
    - atoi
    - VAR_LMTP_SMTP
    - smtp_chat_append
    - vstring_alloc
    - vstring_strcat
    - VSTRING_TERMINATE
    - dict_get
    - printable
    - msg_warn
    - strchr
    - smtp_get
    - vstring_strcpy
    - ISDIGIT
    - STR
    linkageType: ''
    returnType: SMTP_RESP
    signature: SMTP_RESP *smtp_chat_resp(SMTP_SESSION *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - str
    - len
    - indent
    - context
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 440
    functionName: print_line
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_chat.c
    functionUses: 2
    functionsReached:
    - post_mail_fprintf
    linkageType: ''
    returnType: void
    signature: void print_line(const char *str, int len, int indent, void *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:454,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:456,1
    - Dst: post_mail_fopen_nowait
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:470,1
    - Dst: mail_addr_double_bounce
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:470,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:475,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:479,1
    - Dst: mail_addr_mail_daemon
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:480,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:481,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:483,1
    - Dst: mail_addr_mail_daemon
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:484,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:485,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:487,1
    - Dst: post_mail_fputs
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:490,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:491,1
    - Dst: post_mail_fputs
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:493,1
    - Dst: post_mail_fputs
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:494,1
    - Dst: post_mail_fputs
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:495,1
    - Dst: argv_terminate
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:496,1
    - Dst: line_wrap
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:498,1
    - Dst: printable
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:498,1
    - Dst: post_mail_fputs
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:500,1
    - Dst: post_mail_fprintf
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:501,1
    - Dst: post_mail_fclose
      Src: /src/postfix/postfix/src/smtp/smtp_chat.c:502,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - session
    argTypes:
    - SMTP_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 444
    functionDepth: 3
    functionLinenumber: 444
    functionLinenumberEnd: 503
    functionName: smtp_chat_notify
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_chat.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - printable
    - line_wrap
    - msg_warn
    - post_mail_fopen_nowait
    - post_mail_fclose
    - mail_addr_mail_daemon
    - post_mail_fputs
    - mail_addr_double_bounce
    - msg_info
    - post_mail_fprintf
    - argv_terminate
    linkageType: ''
    returnType: void
    signature: void smtp_chat_notify(SMTP_SESSION *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - session
    - ','
    - request
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: SMTP_MIME_DOWNGRADE
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_proto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTP_MIME_DOWNGRADE(session, request)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: name_code
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:288,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 292
    functionName: smtp_vrfy_init
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_proto.c
    functionUses: 1
    functionsReached:
    - name_code
    - msg_fatal
    linkageType: ''
    returnType: void
    signature: void smtp_vrfy_init(void)
  - BBCount: 77
    BranchProfiles: []
    Callsites:
    - Dst: smtp_stream_setup
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:345,1
    - Dst: smtp_start_tls
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:347,1
    - Dst: smtp_stream_setup
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:356,1
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:358,1
    - Dst: smtp_stream_except
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:359,1
    - Dst: smtp_chat_resp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:372,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:377,1
    - Dst: smtp_site_fail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:380,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:380,1
    - Dst: translit
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:383,1
    - Dst: smtp_site_fail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:393,1
    - Dst: SMTP_RESP_FAKE
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:394,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:403,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:407,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:408,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:409,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:412,1
    - Dst: name_mask_opt
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:415,1
    - Dst: vstream_ftime
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:420,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:422,1
    - Dst: str_name_mask
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:424,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:438,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:439,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:440,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:442,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:444,1
    - Dst: smtp_chat_cmd
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:474,1
    - Dst: smtp_chat_resp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:475,1
    - Dst: smtp_site_fail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:477,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:477,1
    - Dst: translit
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:480,1
    - Dst: smtp_tlsrpt_set_ehlo_resp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:487,1
    - Dst: smtp_chat_cmd
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:492,1
    - Dst: smtp_chat_resp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:493,1
    - Dst: smtp_site_fail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:494,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:494,1
    - Dst: translit
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:497,1
    - Dst: trw_set_ehlo_resp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:500,1
    - Dst: smtp_chat_cmd
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:505,1
    - Dst: smtp_chat_resp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:506,1
    - Dst: smtp_site_fail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:507,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:507,1
    - Dst: translit
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:510,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:524,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:525,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:528,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:530,1
    - Dst: vstream_longjmp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:531,1
    - Dst: ehlo_mask
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:533,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:535,1
    - Dst: str_ehlo_mask
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:536,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:549,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:550,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:551,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:554,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:562,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:563,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:565,1
    - Dst: smtp_site_fail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:569,1
    - Dst: SMTP_RESP_FAKE
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:570,1
    - Dst: smtp_site_fail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:574,1
    - Dst: SMTP_RESP_FAKE
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:575,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:579,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:582,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:585,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:587,1
    - Dst: name_code
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:589,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:591,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:594,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:595,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:596,1
    - Dst: off_cvt_string
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:599,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:603,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:610,1
    - Dst: smtp_sasl_helo_auth
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:612,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:614,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:617,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:626,1
    - Dst: smtp_mesg_fail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:664,1
    - Dst: SMTP_RESP_FAKE
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:665,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:677,1
    - Dst: getsockopt
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:736,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:736,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:738,1
    - Dst: setsockopt
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:747,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:747,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:749,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:752,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:770,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:770,1
    - Dst: smtp_stream_setup
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:781,1
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:783,1
    - Dst: smtp_stream_except
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:784,1
    - Dst: smtp_chat_cmd
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:797,1
    - Dst: smtp_chat_resp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:798,1
    - Dst: smtp_sasl_cleanup
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:801,1
    - Dst: smtp_start_tls
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:806,1
    - Dst: TLS_REQUIRED
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:816,1
    - Dst: trw_report_failure
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:819,1
    - Dst: smtp_site_fail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:824,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:824,1
    - Dst: translit
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:827,1
    - Dst: TLS_REQUIRED
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:839,1
    - Dst: trw_report_failure
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:843,1
    - Dst: smtp_site_fail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:848,1
    - Dst: SMTP_RESP_FAKE
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:849,1
    - Dst: smtp_site_fail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:853,1
    - Dst: SMTP_RESP_FAKE
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:854,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:857,1
    - Dst: smtp_site_fail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:859,1
    - Dst: SMTP_RESP_FAKE
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:860,1
    - Dst: smtp_sasl_helo_login
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:868,1
    CyclomaticComplexity: 99
    EdgeCount: 99
    ICount: 216
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 296
    functionDepth: 5
    functionLinenumber: 296
    functionLinenumberEnd: 872
    functionName: smtp_helo
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_proto.c
    functionUses: 2
    functionsReached:
    - msg_info
    - vstream_longjmp
    - translit
    - VAR_LMTP_SMTP
    - smtp_tlsrpt_set_ehlo_resp
    - smtp_sasl_cleanup
    - trw_set_ehlo_resp
    - str_name_mask
    - smtp_sasl_helo_login
    - maps_find
    - ehlo_mask
    - alldig
    - strcasecmp
    - TLS_REQUIRED
    - mystrtok
    - off_cvt_string
    - smtp_sasl_helo_auth
    - SMTP_RESP_FAKE
    - setsockopt
    - smtp_site_fail
    - name_mask_opt
    - smtp_stream_setup
    - vstream_setjmp
    - myfree
    - smtp_chat_cmd
    - smtp_start_tls
    - smtp_chat_resp
    - name_code
    - msg_warn
    - trw_report_failure
    - strspn
    - vstream_ftime
    - smtp_mesg_fail
    - getsockopt
    - smtp_stream_except
    - vstream_fileno
    - msg_fatal
    - str_ehlo_mask
    - mystrdup
    - STR
    linkageType: ''
    returnType: int
    signature: int smtp_helo(SMTP_STATE *state)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:933,1
    - Dst: smtp_key_prefix
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:934,1
    - Dst: TLS_PROXY_CLIENT_INIT_PROPS
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:946,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:947,1
    - Dst: LMTP_SMTP_SUFFIX
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:951,1
    - Dst: TLS_PROXY_CLIENT_START_PROPS
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:962,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:967,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:970,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:975,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1007,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1008,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1008,1
    - Dst: tls_proxy_open
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1010,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1011,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1012,1
    - Dst: tls_proxy_client_param_from_config
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1014,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1016,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1041,1
    - Dst: vstream_control
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1044,1
    - Dst: CA_VSTREAM_CTL_SWAP_FD
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1045,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1047,1
    - Dst: vstream_fpurge
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1053,1
    - Dst: tls_proxy_context_receive
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1065,1
    - Dst: tls_log_summary
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1068,1
    - Dst: TLS_CLIENT_START
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1088,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1096,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1099,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1104,1
    - Dst: vstream_fpurge
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1119,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1122,1
    - Dst: smtp_misc_fail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1148,1
    - Dst: SMTP_RESP_FAKE
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1151,1
    - Dst: TLS_MUST_MATCH
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1172,1
    - Dst: TLS_CERT_IS_MATCHED
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1173,1
    - Dst: TLS_CERT_IS_TRUSTED
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1181,1
    - Dst: trw_report_failure
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1182,1
    - Dst: trw_report_failure
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1187,1
    - Dst: smtp_site_fail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1194,1
    - Dst: SMTP_RESP_FAKE
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1195,1
    - Dst: trw_report_success
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1208,1
    - Dst: smtp_helo
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1215,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 878
    functionDepth: 6
    functionLinenumber: 878
    functionLinenumberEnd: 1216
    functionName: smtp_start_tls
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_proto.c
    functionUses: 1
    functionsReached:
    - smtp_key_prefix
    - vstring_sprintf
    - smtp_helo
    - tls_log_summary
    - TLS_PROXY_CLIENT_START_PROPS
    - TLS_CERT_IS_MATCHED
    - vstream_control
    - TLS_PROXY_CLIENT_INIT_PROPS
    - ntohs
    - CA_VSTREAM_CTL_SWAP_FD
    - trw_report_success
    - VAR_LMTP_SMTP
    - TLS_CLIENT_START
    - TLS_CERT_IS_TRUSTED
    - vstring_alloc
    - tls_proxy_open
    - vstring_str
    - TLS_MUST_MATCH
    - SMTP_RESP_FAKE
    - tls_proxy_context_receive
    - LMTP_SMTP_SUFFIX
    - tls_proxy_client_param_from_config
    - vstream_fpurge
    - smtp_site_fail
    - vstring_free
    - smtp_misc_fail
    - trw_report_failure
    - vstream_fclose
    - STR
    linkageType: ''
    returnType: int
    signature: int smtp_start_tls(SMTP_STATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1229,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - context
    - action
    - where
    - content
    - text
    argTypes:
    - void*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1222
    functionDepth: 2
    functionLinenumber: 1222
    functionLinenumberEnd: 1235
    functionName: smtp_hbc_logger
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_proto.c
    functionUses: 0
    functionsReached:
    - msg_info
    linkageType: ''
    returnType: void
    signature: "void smtp_hbc_logger(void *context, const char *action,\n\t\t\t            const
      char *where, const char *content,\n\t\t\t            const char *text)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: smtp_fputc
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1260,1
    - Dst: ENFORCING_SIZE_LIMIT
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1261,1
    - Dst: smtp_fputs
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1263,1
    - Dst: smtp_fputc
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1268,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1278,1
    - Dst: smtp_fwrite
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1285,1
    - Dst: smtp_fputs
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1288,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 5
    argNames:
    - context
    - rec_type
    - text
    - len
    - unused_offset
    argTypes:
    - void*
    - int
    - char*
    - ssize_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1239
    functionDepth: 3
    functionLinenumber: 1239
    functionLinenumberEnd: 1294
    functionName: smtp_text_out
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_proto.c
    functionUses: 0
    functionsReached:
    - ENFORCING_SIZE_LIMIT
    - smtp_fputs
    - msg_info
    - smtp_fputc
    - smtp_fwrite
    linkageType: ''
    returnType: void
    signature: "void smtp_text_out(void *context, int rec_type,\n\t\t\t          const
      char *text, ssize_t len,\n\t\t\t          off_t unused_offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1306,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1307,1
    - Dst: vstring_vsprintf
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1308,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1309,1
    - Dst: smtp_text_out
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1310,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1310,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - context
    - rec_type
    - fmt
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1300
    functionDepth: 4
    functionLinenumber: 1300
    functionLinenumberEnd: 1311
    functionName: smtp_format_out
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_proto.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vstring_str
    - VSTRING_LEN
    - vstring_vsprintf
    - vstring_alloc
    - smtp_text_out
    linkageType: ''
    returnType: void
    signature: void smtp_format_out(void *context, int rec_type, const char *fmt,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1319,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1328,1
    - Dst: smtp_text_out
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1329,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - context
    - unused_header_class
    - unused_info
    - buf
    - offset
    argTypes:
    - void*
    - int
    - HEADER_OPTS*
    - VSTRING*
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1315
    functionDepth: 4
    functionLinenumber: 1315
    functionLinenumberEnd: 1332
    functionName: smtp_header_out
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_proto.c
    functionUses: 0
    functionsReached:
    - split_at
    - vstring_str
    - smtp_text_out
    - strlen
    linkageType: ''
    returnType: void
    signature: "void smtp_header_out(void *context, int unused_header_class,\n\t\t\t
      \           const HEADER_OPTS *unused_info,\n\t\t\t            VSTRING *buf,
      off_t offset)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: hbc_header_checks
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1352,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1357,1
    - Dst: vstream_longjmp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1359,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1361,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1362,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1363,1
    - Dst: tok822_parse
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1379,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1379,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1380,1
    - Dst: tok822_grep
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1381,1
    - Dst: smtp_map11_tree
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1383,1
    - Dst: vstring_truncate
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1386,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1386,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1387,1
    - Dst: tok822_externalize
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1388,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1390,1
    - Dst: tok822_free_tree
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1391,1
    - Dst: smtp_header_out
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1398,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1411,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1412,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1431,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1432,1
    - Dst: IS_SPACE_TAB
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1433,1
    - Dst: smtp_text_out
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1434,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1435,1
    - Dst: smtp_format_out
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1437,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 5
    argNames:
    - context
    - header_class
    - header_info
    - buf
    - offset
    argTypes:
    - void*
    - int
    - HEADER_OPTS*
    - VSTRING*
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1336
    functionDepth: 5
    functionLinenumber: 1336
    functionLinenumberEnd: 1440
    functionName: smtp_header_rewrite
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_proto.c
    functionUses: 0
    functionsReached:
    - vstring_truncate
    - tok822_parse
    - vstream_longjmp
    - tok822_grep
    - smtp_header_out
    - smtp_text_out
    - strlen
    - vstring_strcat
    - strcspn
    - split_at
    - vstring_str
    - IS_SPACE_TAB
    - myfree
    - hbc_header_checks
    - tok822_externalize
    - smtp_format_out
    - msg_warn
    - smtp_map11_tree
    - vstring_strcpy
    - tok822_free_tree
    - STR
    linkageType: ''
    returnType: void
    signature: "void smtp_header_rewrite(void *context, int header_class,\n\t\t\t\t
      \       const HEADER_OPTS *header_info,\n\t\t\t\t        VSTRING *buf, off_t
      offset)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hbc_body_checks
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1455,1
    - Dst: smtp_text_out
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1457,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1459,1
    - Dst: vstream_longjmp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1461,1
    - Dst: smtp_text_out
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1463,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1463,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1464,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - context
    - type
    - buf
    - len
    - offset
    argTypes:
    - void*
    - int
    - char*
    - ssize_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1444
    functionDepth: 4
    functionLinenumber: 1444
    functionLinenumberEnd: 1467
    functionName: smtp_body_rewrite
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_proto.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - strlen
    - myfree
    - vstream_longjmp
    - smtp_text_out
    - hbc_body_checks
    linkageType: ''
    returnType: void
    signature: "void smtp_body_rewrite(void *context, int type,\n\t\t\t              const
      char *buf, ssize_t len,\n\t\t\t              off_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_state_detail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1476,1
    - Dst: smtp_mesg_fail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1477,1
    - Dst: SMTP_RESP_FAKE
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - state
    - mime_errs
    argTypes:
    - SMTP_STATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1471
    functionDepth: 2
    functionLinenumber: 1471
    functionLinenumberEnd: 1480
    functionName: smtp_mime_fail
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_proto.c
    functionUses: 0
    functionsReached:
    - SMTP_RESP_FAKE
    - mime_state_detail
    - smtp_mesg_fail
    linkageType: ''
    returnType: void
    signature: void smtp_mime_fail(SMTP_STATE *state, int mime_errs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smtp_text_out
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1490,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1490,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1491,1
    - Dst: mime_state_update
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1494,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1495,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1495,1
    - Dst: smtp_mime_fail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - state
    - rec_type
    - buf
    argTypes:
    - SMTP_STATE*
    - int
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1484
    functionDepth: 4
    functionLinenumber: 1484
    functionLinenumberEnd: 1502
    functionName: smtp_out_raw_or_mime
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_proto.c
    functionUses: 0
    functionsReached:
    - vstring_str
    - mime_state_update
    - smtp_mime_fail
    - VSTRING_LEN
    - smtp_text_out
    linkageType: ''
    returnType: int
    signature: int smtp_out_raw_or_mime(SMTP_STATE *state, int rec_type, VSTRING *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smtp_rewrite_generic_internal
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1512,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1513,1
    - Dst: smtp_quote_822_address_flags
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1514,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1515,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1517,1
    - Dst: smtp_out_raw_or_mime
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - state
    - label
    - lt
    - addr
    - gt
    argTypes:
    - SMTP_STATE*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1506
    functionDepth: 5
    functionLinenumber: 1506
    functionLinenumberEnd: 1519
    functionName: smtp_out_add_header
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_proto.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - smtp_out_raw_or_mime
    - vstring_strcat
    - smtp_rewrite_generic_internal
    - vstring_str
    - smtp_quote_822_address_flags
    linkageType: ''
    returnType: int
    signature: "int smtp_out_add_header(SMTP_STATE *state, const char *label,\n\t\t\t
      \              const char *lt, const char *addr,\n\t\t\t               const
      char *gt)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: smtp_out_add_header
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1527,1
    - Dst: smtp_out_add_header
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1531,1
    - Dst: smtp_out_add_header
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1535,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1523
    functionDepth: 6
    functionLinenumber: 1523
    functionLinenumberEnd: 1539
    functionName: smtp_out_add_headers
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_proto.c
    functionUses: 0
    functionsReached:
    - smtp_out_add_header
    linkageType: ''
    returnType: int
    signature: int smtp_out_add_headers(SMTP_STATE *state)
  - BBCount: 102
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1552,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1636,1
    - Dst: smtp_stream_setup
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1638,1
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1640,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1641,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1643,1
    - Dst: smtp_stream_except
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1643,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1661,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1688,1
    - Dst: CAN_FORWARD_CLIENT_NAME
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1690,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1691,1
    - Dst: xtext_quote_append
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1692,1
    - Dst: CAN_FORWARD_CLIENT_ADDR
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1695,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1696,1
    - Dst: xtext_quote_append
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1697,1
    - Dst: CAN_FORWARD_CLIENT_PORT
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1700,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1701,1
    - Dst: xtext_quote_append
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1702,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1711,1
    - Dst: CAN_FORWARD_PROTO_NAME
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1713,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1714,1
    - Dst: xtext_quote_append
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1715,1
    - Dst: CAN_FORWARD_HELO_NAME
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1718,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1719,1
    - Dst: xtext_quote_append
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1720,1
    - Dst: CAN_FORWARD_IDENT_NAME
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1723,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1724,1
    - Dst: xtext_quote_append
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1725,1
    - Dst: CAN_FORWARD_RWR_CONTEXT
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1728,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1729,1
    - Dst: xtext_quote_append
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1730,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1731,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1742,1
    - Dst: smtp_rewrite_generic_internal
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1743,1
    - Dst: smtp_quote_821_address
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1744,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1745,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1746,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1747,1
    - Dst: SMTP_MIME_DOWNGRADE
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1750,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1751,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1754,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1755,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1756,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1757,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1758,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1759,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1764,1
    - Dst: xtext_quote_append
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1765,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1768,1
    - Dst: dsn_ret_str
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1769,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1783,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1793,1
    - Dst: vstream_peek
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1817,1
    - Dst: peekfd
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1818,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1818,1
    - Dst: smtp_rewrite_generic_internal
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1834,1
    - Dst: smtp_quote_821_address
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1835,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1836,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1837,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1838,1
    - Dst: quote_822_local
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1845,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1846,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1849,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1849,1
    - Dst: valid_utf8_stringz
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1850,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1850,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1852,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1853,1
    - Dst: strncasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1859,1
    - Dst: uxtext_quote
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1860,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1862,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1863,1
    - Dst: xtext_quote
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1865,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1866,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1867,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1871,1
    - Dst: dsn_notify_str
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1872,1
    - Dst: SMTP_RCPT_LEFT
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1874,1
    - Dst: DEL_REQ_TRACE_ONLY
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1875,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1885,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1898,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1916,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1930,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1945,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1955,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1958,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1990,1
    - Dst: vstream_bufstat
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1991,1
    - Dst: time
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1993,1
    - Dst: vstream_ftime
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:1994,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2002,1
    - Dst: smtp_stream_setup
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2027,1
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2030,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2031,1
    - Dst: smtp_stream_except
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2031,1
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2034,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2035,1
    - Dst: smtp_stream_except
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2035,1
    - Dst: smtp_chat_resp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2038,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2050,1
    - Dst: translit
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2052,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2062,1
    - Dst: translit
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2064,1
    - Dst: smtp_mesg_fail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2076,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2076,1
    - Dst: translit
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2079,1
    - Dst: smtp_site_fail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2096,1
    - Dst: SMTP_RESP_FAKE
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2097,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2099,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2101,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2137,1
    - Dst: DEL_REQ_TRACE_ONLY
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2143,1
    - Dst: translit
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2145,1
    - Dst: smtp_rcpt_done
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2146,1
    - Dst: smtp_rcpt_fail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2149,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2149,1
    - Dst: translit
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2152,1
    - Dst: SMTP_RCPT_LEFT
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2157,1
    - Dst: DEL_REQ_TRACE_ONLY
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2158,1
    - Dst: smtp_mesg_fail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2173,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2173,1
    - Dst: translit
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2176,1
    - Dst: DEL_REQ_TRACE_ONLY
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2191,1
    - Dst: SMTP_RCPT_ISMARKED
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2195,1
    - Dst: translit
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2196,1
    - Dst: SMTP_RESP_SET_DSN
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2197,1
    - Dst: smtp_rcpt_done
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2198,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2216,1
    - Dst: smtp_mesg_fail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2220,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2220,1
    - Dst: translit
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2223,1
    - Dst: SMTP_RCPT_ISMARKED
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2228,1
    - Dst: translit
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2229,1
    - Dst: smtp_rcpt_done
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2230,1
    - Dst: smtp_rcpt_fail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2247,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2247,1
    - Dst: translit
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2250,1
    - Dst: translit
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2253,1
    - Dst: smtp_rcpt_done
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2254,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2258,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2335,1
    - Dst: smtp_stream_setup
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2362,1
    - Dst: vstream_setjmp
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2365,1
    - Dst: vstream_fseek
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2367,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2368,1
    - Dst: SMTP_MIME_DOWNGRADE
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2370,1
    - Dst: mime_state_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2379,1
    - Dst: smtp_out_add_headers
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2399,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2400,1
    - Dst: rec_get
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2402,1
    - Dst: smtp_out_raw_or_mime
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2405,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2407,1
    - Dst: mime_state_update
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2424,1
    - Dst: smtp_mime_fail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2426,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2427,1
    - Dst: smtp_fputs
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2430,1
    - Dst: smtp_flush
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2432,1
    - Dst: sleep
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2433,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2435,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2436,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2438,1
    - Dst: smtp_mesg_fail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2440,1
    - Dst: SMTP_RESP_FAKE
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2441,1
    - Dst: vstream_fpurge
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2444,1
    - Dst: mark_corrupt
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2448,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2450,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2454,1
    - Dst: smtp_stream_except
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2454,1
    - Dst: vstream_fpurge
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2469,1
    - Dst: smtp_chat_cmd
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2478,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2478,1
    - Dst: RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2485,1
    CyclomaticComplexity: 153
    EdgeCount: 153
    ICount: 343
    argCount: 3
    argNames:
    - state
    - send_state
    - recv_state
    argTypes:
    - SMTP_STATE*
    - NOCLOBBER
    - NOCLOBBER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2486
      start: 1543
    functionDepth: 7
    functionLinenumber: 1543
    functionLinenumberEnd: 2486
    functionName: smtp_loop
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_proto.c
    functionUses: 0
    functionsReached:
    - sleep
    - vstring_sprintf
    - smtp_fputs
    - CAN_FORWARD_CLIENT_ADDR
    - VSTRING_LEN
    - strncasecmp
    - SMTP_MIME_DOWNGRADE
    - SMTP_RCPT_ISMARKED
    - vstream_ferror
    - msg_info
    - VSTRING_RESET
    - dsn_notify_str
    - translit
    - CAN_FORWARD_PROTO_NAME
    - smtp_flush
    - VAR_LMTP_SMTP
    - msg_panic
    - xtext_quote
    - smtp_quote_821_address
    - smtp_mime_fail
    - SMTP_RCPT_LEFT
    - smtp_rcpt_done
    - vstring_alloc
    - xtext_quote_append
    - vstream_peek
    - uxtext_quote
    - rec_get
    - CAN_FORWARD_CLIENT_NAME
    - vstring_strcat
    - smtp_rewrite_generic_internal
    - vstream_bufstat
    - mymalloc
    - quote_822_local
    - vstring_str
    - allascii
    - SMTP_RESP_FAKE
    - smtp_out_add_headers
    - GETTIMEOFDAY
    - CAN_FORWARD_IDENT_NAME
    - dsn_ret_str
    - time
    - vstream_fpurge
    - smtp_site_fail
    - vstream_setjmp
    - smtp_stream_setup
    - smtp_out_raw_or_mime
    - VSTRING_TERMINATE
    - peekfd
    - CAN_FORWARD_RWR_CONTEXT
    - vstring_sprintf_append
    - smtp_chat_cmd
    - smtp_chat_resp
    - mime_state_alloc
    - msg_warn
    - SMTP_RESP_SET_DSN
    - CAN_FORWARD_CLIENT_PORT
    - vstream_fseek
    - mime_state_update
    - mark_corrupt
    - DEL_REQ_TRACE_ONLY
    - vstream_ftime
    - smtp_mesg_fail
    - smtp_stream_except
    - vstring_strcpy
    - CAN_FORWARD_HELO_NAME
    - strcmp
    - vstream_fileno
    - msg_fatal
    - valid_utf8_stringz
    - smtp_rcpt_fail
    - RETURN
    - STR
    linkageType: ''
    returnType: int
    signature: "int smtp_loop(SMTP_STATE *state, NOCLOBBER int send_state,\n\t\t             NOCLOBBER
      int recv_state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1581
    functionName: RETURN
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_proto.c
    functionUses: 117
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETURN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1676
    functionDepth: 0
    functionLinenumber: 1676
    functionLinenumberEnd: 1678
    functionName: _ATTR_AVAIL_AND_KNOWN_
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_proto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _ATTR_AVAIL_AND_KNOWN_(val)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SMTP_RCPT_LEFT
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2503,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2504,1
    - Dst: SMTP_RCPT_LEFT
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2505,1
    - Dst: SMTP_RCPT_ISMARKED
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2506,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2507,1
    - Dst: smtp_mesg_fail
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2516,1
    - Dst: SMTP_RESP_FAKE
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2517,1
    - Dst: CAN_FORWARD_CLIENT_NAME
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2536,1
    - Dst: CAN_FORWARD_CLIENT_ADDR
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2538,1
    - Dst: CAN_FORWARD_CLIENT_PORT
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2540,1
    - Dst: CAN_FORWARD_PROTO_NAME
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2544,1
    - Dst: CAN_FORWARD_HELO_NAME
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2546,1
    - Dst: CAN_FORWARD_IDENT_NAME
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2548,1
    - Dst: CAN_FORWARD_RWR_CONTEXT
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2550,1
    - Dst: smtp_loop
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2563,1
    - Dst: vstream_ferror
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2567,1
    - Dst: vstream_feof
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2568,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 21
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2572
      start: 2490
    functionDepth: 8
    functionLinenumber: 2490
    functionLinenumberEnd: 2572
    functionName: smtp_xfer
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_proto.c
    functionUses: 3
    functionsReached:
    - msg_panic
    - SMTP_RESP_FAKE
    - vstream_feof
    - CAN_FORWARD_CLIENT_PORT
    - CAN_FORWARD_CLIENT_ADDR
    - CAN_FORWARD_IDENT_NAME
    - SMTP_RCPT_LEFT
    - SMTP_RCPT_ISMARKED
    - smtp_mesg_fail
    - vstream_ferror
    - CAN_FORWARD_CLIENT_NAME
    - smtp_loop
    - CAN_FORWARD_HELO_NAME
    - CAN_FORWARD_PROTO_NAME
    - CAN_FORWARD_RWR_CONTEXT
    linkageType: ''
    returnType: int
    signature: int smtp_xfer(SMTP_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smtp_loop
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2584
      start: 2576
    functionDepth: 8
    functionLinenumber: 2576
    functionLinenumberEnd: 2584
    functionName: smtp_rset
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_proto.c
    functionUses: 1
    functionsReached:
    - smtp_loop
    linkageType: ''
    returnType: int
    signature: int smtp_rset(SMTP_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smtp_loop
      Src: /src/postfix/postfix/src/smtp/smtp_proto.c:2595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2597
      start: 2588
    functionDepth: 8
    functionLinenumber: 2588
    functionLinenumberEnd: 2597
    functionName: smtp_quit
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_proto.c
    functionUses: 3
    functionsReached:
    - smtp_loop
    linkageType: ''
    returnType: int
    signature: int smtp_quit(SMTP_STATE *state)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:174,1
    - Dst: mail_addr_find
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:192,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:195,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:196,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:198,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:199,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:201,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:202,1
    - Dst: split_at
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:204,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:207,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:208,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:210,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:211,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:215,1
    - Dst: vstream_longjmp
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:217,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:220,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:221,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 1
    argNames:
    - session
    argTypes:
    - SMTP_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 224
    functionName: smtp_sasl_passwd_lookup
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - msg_warn
    - mail_addr_find
    - maps_find
    - msg_info
    - myfree
    - vstream_longjmp
    - split_at
    - mystrdup
    - STR
    linkageType: ''
    returnType: int
    signature: int smtp_sasl_passwd_lookup(SMTP_SESSION *session)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:235,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:237,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:238,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:244,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:244,1
    - Dst: xsasl_client_init
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:248,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:250,1
    - Dst: string_list_init
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:256,1
    - Dst: smtp_sasl_auth_cache_init
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:266,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:269,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:270,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 273
    functionName: smtp_sasl_initialize
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - msg_warn
    - maps_create
    - xsasl_client_init
    - string_list_init
    - msg_fatal
    - smtp_sasl_auth_cache_init
    - VAR_LMTP_SMTP
    linkageType: ''
    returnType: void
    signature: void smtp_sasl_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - SMTP_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 289
    functionName: smtp_sasl_connect
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void smtp_sasl_connect(SMTP_SESSION *session)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:300,1
    - Dst: XSASL_CLIENT_CREATE
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:302,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:305,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:307,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - session
    - sasl_opts_name
    - sasl_opts_val
    argTypes:
    - SMTP_SESSION*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 309
    functionName: smtp_sasl_start
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c
    functionUses: 1
    functionsReached:
    - XSASL_CLIENT_CREATE
    - vstring_alloc
    - msg_info
    - msg_fatal
    - STR
    linkageType: ''
    returnType: void
    signature: "void smtp_sasl_start(SMTP_SESSION *session, const char *sasl_opts_name,\n\t\t\t
      \       const char *sasl_opts_val)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:327,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:330,1
    - Dst: smtp_sasl_auth_cache_find
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:338,1
    - Dst: smtp_sasl_auth_cache_dsn
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:339,1
    - Dst: smtp_sasl_auth_cache_text
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:340,1
    - Dst: dsb_update
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:344,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:345,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:347,1
    - Dst: xsasl_client_first
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:355,1
    - Dst: dsb_update
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:361,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:362,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:365,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:383,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:384,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:384,1
    - Dst: smtp_chat_cmd
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:385,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:386,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:387,1
    - Dst: smtp_chat_cmd
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:389,1
    - Dst: smtp_chat_resp
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:399,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:405,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:415,1
    - Dst: LEN
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:417,1
    - Dst: dsb_update
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:424,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:428,1
    - Dst: xsasl_client_next
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:432,1
    - Dst: dsb_update
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:435,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:436,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:439,1
    - Dst: smtp_chat_cmd
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:447,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:447,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:448,1
    - Dst: smtp_sasl_auth_cache_store
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:458,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:461,1
    - Dst: dsb_update
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:462,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:463,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - session
    - why
    argTypes:
    - SMTP_SESSION*
    - DSN_BUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 313
    functionDepth: 5
    functionLinenumber: 313
    functionLinenumberEnd: 470
    functionName: smtp_sasl_authenticate
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - smtp_chat_resp
    - strlen
    - smtp_sasl_auth_cache_find
    - xsasl_client_first
    - dsb_update
    - xsasl_client_next
    - smtp_sasl_auth_cache_store
    - LEN
    - msg_info
    - VSTRING_RESET
    - mystrtok
    - dsb_simple
    - smtp_sasl_auth_cache_dsn
    - smtp_sasl_auth_cache_text
    - smtp_chat_cmd
    - STR
    linkageType: ''
    returnType: int
    signature: int smtp_sasl_authenticate(SMTP_SESSION *session, DSN_BUF *why)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:477,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:481,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:486,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:491,1
    - Dst: xsasl_client_free
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:492,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c:496,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - session
    argTypes:
    - SMTP_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 499
    functionName: smtp_sasl_cleanup
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c
    functionUses: 1
    functionsReached:
    - myfree
    - xsasl_client_free
    - vstring_free
    - msg_info
    linkageType: ''
    returnType: void
    signature: void smtp_sasl_cleanup(SMTP_SESSION *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - session
    - buf
    argTypes:
    - SMTP_SESSION*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 505
    functionName: smtp_sasl_passivate
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void smtp_sasl_passivate(SMTP_SESSION *session, VSTRING *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - buf
    argTypes:
    - SMTP_SESSION*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 512
    functionName: smtp_sasl_activate
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int smtp_sasl_activate(SMTP_SESSION *session, char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - iter
    - ','
    - _dest
    - ','
    - _host
    - ','
    - _addr
    - ','
    - _port
    - ','
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: SMTP_ITER_INIT
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTP_ITER_INIT(iter, _dest, _host, _addr, _port, state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iter
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: SMTP_ITER_SAVE_DEST
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTP_ITER_SAVE_DEST(iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iter
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: SMTP_ITER_RESTORE_DEST
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTP_ITER_RESTORE_DEST(iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: smtp_tls_policy_dummy
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smtp_tls_policy_dummy(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 175
    functionName: smtp_tls_policy_init
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smtp_tls_policy_init(t, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: STATE_TLS_NOT_REQUIRED
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATE_TLS_NOT_REQUIRED(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state
    - ','
    - nexthop
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: SET_SCACHE_REQUEST_NEXTHOP
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_SCACHE_REQUEST_NEXTHOP(state, nexthop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: CLEAR_SCACHE_REQUEST_NEXTHOP
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEAR_SCACHE_REQUEST_NEXTHOP(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: HAVE_SCACHE_REQUEST_NEXTHOP
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAVE_SCACHE_REQUEST_NEXTHOP(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - why
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 331
    functionName: SMTP_HAS_DSN
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTP_HAS_DSN(why)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - why
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 332
    functionName: SMTP_HAS_SOFT_DSN
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTP_HAS_SOFT_DSN(why)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - why
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 333
    functionName: SMTP_HAS_HARD_DSN
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTP_HAS_HARD_DSN(why)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - why
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 335
    functionName: SMTP_HAS_LOOP_DSN
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTP_HAS_LOOP_DSN(why)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - why
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 337
    functionName: SMTP_SET_SOFT_DSN
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTP_SET_SOFT_DSN(why)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - why
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 338
    functionName: SMTP_SET_HARD_DSN
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTP_SET_HARD_DSN(why)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 434
    functionName: SMTP_HNAME
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTP_HNAME(rr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - when
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 527
    functionName: CACHE_THIS_SESSION_UNTIL
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CACHE_THIS_SESSION_UNTIL(when)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - resp
    - ','
    - _dsn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 593
    functionName: SMTP_RESP_FAKE
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTP_RESP_FAKE(resp, _dsn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - resp
    - ','
    - _dsn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 600
    functionName: SMTP_RESP_SET_DSN
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTP_RESP_SET_DSN(resp, _dsn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 626
    functionName: SMTP_RCPT_INIT
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTP_RCPT_INIT(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state
    - ','
    - rcpt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 630
    functionName: SMTP_RCPT_DROP
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTP_RCPT_DROP(state, rcpt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state
    - ','
    - rcpt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 634
    functionName: SMTP_RCPT_KEEP
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTP_RCPT_KEEP(state, rcpt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rcpt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 636
    functionName: SMTP_RCPT_ISMARKED
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTP_RCPT_ISMARKED(rcpt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 638
    functionName: SMTP_RCPT_LEFT
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTP_RCPT_LEFT(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 640
    functionName: SMTP_RCPT_MARK_COUNT
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTP_RCPT_MARK_COUNT(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - state
    - ','
    - mta
    - ','
    - resp
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 659
    functionName: smtp_site_fail
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smtp_site_fail(state, mta, resp, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - state
    - ','
    - mta
    - ','
    - resp
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 661
    functionName: smtp_mesg_fail
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smtp_mesg_fail(state, mta, resp, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 759
    functionName: STR
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 593
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 760
    functionName: LEN
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 201
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEN(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 764
    functionName: VAR_LMTP_SMTP
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VAR_LMTP_SMTP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 765
    functionName: LMTP_SMTP_SUFFIX
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LMTP_SMTP_SUFFIX(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 767
    functionName: WARN_COMPAT_BREAK_LMTP_SMTP
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WARN_COMPAT_BREAK_LMTP_SMTP(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: maps_create
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:144,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:144,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:149,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:150,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:150,1
    - Dst: maps_create
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:154,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 159
    functionName: smtp_tls_list_init
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - VAR_LMTP_SMTP
    - maps_create
    linkageType: ''
    returnType: void
    signature: void smtp_tls_list_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str_tls_level
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tls_level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: policy_name
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
    functionUses: 0
    functionsReached:
    - str_tls_level
    linkageType: ''
    returnType: char
    signature: char *policy_name(int tls_level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - why
    - ','
    - levelp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: MARK_INVALID
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MARK_INVALID(why, levelp)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: maps_find
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:190,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:191,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:195,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:199,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:202,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:206,1
    - Dst: MARK_INVALID
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:208,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:212,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:214,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - tls
    - site_level
    - site_name
    - site_class
    argTypes:
    - SMTP_TLS_POLICY*
    - int*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 219
    functionName: tls_site_lookup
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - maps_find
    - MARK_INVALID
    - strcasecmp
    - dsb_simple
    linkageType: ''
    returnType: void
    signature: "void tls_site_lookup(SMTP_TLS_POLICY *tls, int *site_level,\n\t\t
      \             const char *site_name, const char *site_class)"
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:253,1
    - Dst: maps_find
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:255,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:257,1
    - Dst: MARK_INVALID
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:258,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:262,1
    - Dst: mystrtokq
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:264,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:265,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:266,1
    - Dst: tls_level_lookup
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:268,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:271,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:272,1
    - Dst: mystrtokq
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:279,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:280,1
    - Dst: mystrtokq
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:292,1
    - Dst: extpar
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:298,1
    - Dst: split_nameval
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:299,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:300,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:302,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:305,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:307,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:308,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:311,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:313,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:315,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:319,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:321,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:323,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:325,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:329,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:331,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:333,1
    - Dst: valid_hostname
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:335,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:336,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:338,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:340,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:345,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:347,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:348,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:352,1
    - Dst: policy_name
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:353,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:354,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:358,1
    - Dst: argv_split_append
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:360,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:365,1
    - Dst: argv_split_append
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:367,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:373,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:375,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:377,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:379,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:379,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:383,1
    - Dst: TLS_MUST_PKIX
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:385,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:386,1
    - Dst: policy_name
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:387,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:388,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:391,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:392,1
    - Dst: tls_dane_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:395,1
    - Dst: tls_dane_load_trustfile
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:396,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:397,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:402,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:403,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:405,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:408,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:410,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:415,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:417,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:419,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:422,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:424,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:429,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:434,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:436,1
    - Dst: alldig
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:438,1
    - Dst: sane_strtol
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:438,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:441,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:443,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:448,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:450,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:452,1
    - Dst: valid_tlsrpt_policy_type
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:454,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:455,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:457,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:459,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:463,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:465,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:467,1
    - Dst: valid_hostname
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:469,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:470,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:472,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:474,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:478,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:480,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:481,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:485,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:487,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:488,1
    - Dst: strcasecmp
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:492,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:494,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:496,1
    - Dst: valid_tlsrpt_policy_failure
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:498,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:499,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:501,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:503,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:506,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:507,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:514,1
    - Dst: INVALID_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:517,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 203
    argCount: 4
    argNames:
    - tls
    - site_level
    - site_name
    - site_class
    argTypes:
    - SMTP_TLS_POLICY*
    - int*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 223
    functionDepth: 5
    functionLinenumber: 223
    functionLinenumberEnd: 521
    functionName: tls_policy_lookup_one
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
    functionUses: 0
    functionsReached:
    - split_nameval
    - argv_split_append
    - sane_strtol
    - tls_dane_load_trustfile
    - valid_tlsrpt_policy_type
    - argv_alloc
    - tls_level_lookup
    - tls_dane_alloc
    - maps_find
    - alldig
    - vstring_alloc
    - strcasecmp
    - extpar
    - valid_hostname
    - TLS_MUST_PKIX
    - MARK_INVALID
    - valid_tlsrpt_policy_failure
    - argv_split
    - msg_warn
    - INVALID_RETURN
    - vstring_strcpy
    - mystrtokq
    - argv_add
    - policy_name
    - mystrdup
    linkageType: ''
    returnType: void
    signature: "void tls_policy_lookup_one(SMTP_TLS_POLICY *tls, int *site_level,\n\t\t\t\t
      \         const char *site_name,\n\t\t\t\t          const char *site_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - why
    - ','
    - levelp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: INVALID_RETURN
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INVALID_RETURN(why, levelp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: valid_utf8_hostname
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:539,1
    - Dst: tls_policy_lookup_one
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:540,1
    - Dst: tls_policy_lookup_one
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:544,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - tls
    - site_level
    - site_name
    - site_class
    argTypes:
    - SMTP_TLS_POLICY*
    - int*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 525
    functionDepth: 6
    functionLinenumber: 525
    functionLinenumberEnd: 547
    functionName: tls_policy_lookup
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
    functionUses: 0
    functionsReached:
    - valid_utf8_hostname
    - strchr
    - tls_policy_lookup_one
    linkageType: ''
    returnType: void
    signature: "void tls_policy_lookup(SMTP_TLS_POLICY *tls, int *site_level,\n\t\t\t
      \             const char *site_name,\n\t\t\t              const char *site_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:554,1
    - Dst: mystrtok
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:559,1
    - Dst: tls_dane_load_trustfile
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:560,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:563,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - dane
    - files
    argTypes:
    - TLS_DANE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 551
    functionDepth: 3
    functionLinenumber: 551
    functionLinenumberEnd: 565
    functionName: load_tas
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
    functionUses: 0
    functionsReached:
    - myfree
    - tls_dane_load_trustfile
    - mystrdup
    - mystrtok
    linkageType: ''
    returnType: int
    signature: int load_tas(TLS_DANE *dane, const char *files)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:586,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:591,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:603,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:621,1
    - Dst: ADD_EXCLUDE
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:622,1
    - Dst: ADD_EXCLUDE
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:623,1
    - Dst: ADD_EXCLUDE
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:625,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - tls
    argTypes:
    - SMTP_TLS_POLICY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 569
    functionDepth: 3
    functionLinenumber: 569
    functionLinenumberEnd: 626
    functionName: set_cipher_grade
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
    functionUses: 0
    functionsReached:
    - ADD_EXCLUDE
    - mystrdup
    - vstring_alloc
    linkageType: ''
    returnType: void
    signature: void set_cipher_grade(SMTP_TLS_POLICY *tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vstr
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 615
    functionName: ADD_EXCLUDE
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_EXCLUDE(vstr, str)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:634,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:635,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:640,1
    - Dst: smtp_tls_policy_init
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:642,1
    - Dst: dsb_create
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:642,1
    - Dst: global_tls_level
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:658,1
    - Dst: STATE_TLS_NOT_REQUIRED
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:661,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:663,1
    - Dst: tls_policy_lookup
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:667,1
    - Dst: tls_site_lookup
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:669,1
    - Dst: strcasecmp_utf8
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:671,1
    - Dst: tls_site_lookup
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:672,1
    - Dst: TLS_DANE_BASED
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:710,1
    - Dst: dane_init
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:711,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:721,1
    - Dst: valid_hostname
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:724,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:725,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:727,1
    - Dst: VAR_LMTP_SMTP
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:728,1
    - Dst: MARK_INVALID
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:729,1
    - Dst: set_cipher_grade
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:739,1
    - Dst: tls_dane_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:762,1
    - Dst: tls_dane_add_fpt_digests
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:768,1
    - Dst: tls_dane_add_fpt_digests
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:773,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:778,1
    - Dst: MARK_INVALID
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:781,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:789,1
    - Dst: tls_dane_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:794,1
    - Dst: load_tas
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:796,1
    - Dst: MARK_INVALID
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:797,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:803,1
    - Dst: global_tls_level
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:806,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:807,1
    - Dst: policy_name
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:807,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 90
    argCount: 2
    argNames:
    - unused_key
    - context
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 630
    functionDepth: 7
    functionLinenumber: 630
    functionLinenumberEnd: 810
    functionName: policy_create
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
    functionUses: 0
    functionsReached:
    - global_tls_level
    - smtp_tls_policy_init
    - msg_info
    - VAR_LMTP_SMTP
    - tls_dane_alloc
    - msg_panic
    - mymalloc
    - tls_policy_lookup
    - strcasecmp_utf8
    - valid_hostname
    - load_tas
    - STATE_TLS_NOT_REQUIRED
    - tls_dane_add_fpt_digests
    - TLS_DANE_BASED
    - MARK_INVALID
    - argv_split
    - set_cipher_grade
    - dane_init
    - msg_warn
    - dsb_create
    - policy_name
    - tls_site_lookup
    - mystrdup
    - STR
    linkageType: ''
    returnType: void
    signature: void *policy_create(const char *unused_key, void *context)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:819,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:821,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:823,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:825,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:827,1
    - Dst: tls_dane_free
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:829,1
    - Dst: dsb_free
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:830,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:832,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:834,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:836,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:838,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:840,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:842,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - item
    - unused_context
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 814
    functionDepth: 2
    functionLinenumber: 814
    functionLinenumberEnd: 843
    functionName: policy_delete
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
    functionUses: 0
    functionsReached:
    - argv_free
    - myfree
    - dsb_free
    - tls_dane_free
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void policy_delete(void *item, void *unused_context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctable_create
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:857,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:863,1
    - Dst: smtp_key_prefix
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:864,1
    - Dst: ctable_newcontext
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:867,1
    - Dst: ctable_locate
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:868,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:868,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:869,1
    - Dst: dsb_update
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:877,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:878,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:878,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:879,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:879,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:880,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:880,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - why
    - tls
    - iter
    argTypes:
    - DSN_BUF*
    - SMTP_TLS_POLICY*
    - SMTP_ITERATOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 847
    functionDepth: 3
    functionLinenumber: 847
    functionLinenumberEnd: 886
    functionName: smtp_tls_policy_cache_query
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
    functionUses: 1
    functionsReached:
    - smtp_key_prefix
    - ctable_locate
    - ctable_newcontext
    - ctable_create
    - dsb_update
    - vstring_alloc
    - vstring_free
    - STR
    linkageType: ''
    returnType: int
    signature: "int smtp_tls_policy_cache_query(DSN_BUF *why, SMTP_TLS_POLICY *tls,\n\t\t\t\t
      \           SMTP_ITERATOR *iter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctable_free
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 890
    functionDepth: 2
    functionLinenumber: 890
    functionLinenumberEnd: 896
    functionName: smtp_tls_policy_cache_flush
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
    functionUses: 1
    functionsReached:
    - ctable_free
    linkageType: ''
    returnType: void
    signature: void smtp_tls_policy_cache_flush(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tls_level_lookup
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:915,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:916,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:923,1
    - Dst: policy_name
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:923,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 900
    functionDepth: 3
    functionLinenumber: 900
    functionLinenumberEnd: 926
    functionName: global_tls_level
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
    functionUses: 1
    functionsReached:
    - policy_name
    - msg_fatal
    - tls_level_lookup
    - msg_info
    linkageType: ''
    returnType: int
    signature: int global_tls_level(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:939,1
    - Dst: vmsg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:943,1
    - Dst: vmsg_info
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:945,1
    - Dst: vmsg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:948,1
    - Dst: MARK_INVALID
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:949,1
    - Dst: vdsb_simple
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:952,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:955,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - tls
    - iter
    - errtype
    - fmt
    argTypes:
    - SMTP_TLS_POLICY*
    - SMTP_ITERATOR*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 932
    functionDepth: 2
    functionLinenumber: 932
    functionLinenumberEnd: 956
    functionName: dane_incompat
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vdsb_simple
    - MARK_INVALID
    - vmsg_info
    - vmsg_warn
    linkageType: ''
    returnType: void
    signature: "void dane_incompat(SMTP_TLS_POLICY *tls,\n\t\t\t\t\t           SMTP_ITERATOR
      *iter,\n\t\t\t\t\t           int errtype,\n\t\t\t\t\t           const char *fmt,...)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:965,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:966,1
    - Dst: MARK_INVALID
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:967,1
    - Dst: tls_dane_avail
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:970,1
    - Dst: dane_incompat
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:971,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:973,1
    - Dst: policy_name
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:973,1
    - Dst: dane_incompat
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:978,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:980,1
    - Dst: policy_name
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:980,1
    - Dst: dane_incompat
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:990,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:992,1
    - Dst: policy_name
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:992,1
    - Dst: dane_incompat
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:1003,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:1005,1
    - Dst: policy_name
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:1005,1
    - Dst: dane_incompat
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:1017,1
    - Dst: tls_dane_resolve
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:1021,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:1024,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:1025,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:1025,1
    - Dst: tls_dane_notfound
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:1028,1
    - Dst: dane_incompat
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:1029,1
    - Dst: tls_dane_free
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:1030,1
    - Dst: tls_dane_unusable
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:1047,1
    - Dst: dane_incompat
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:1048,1
    - Dst: tls_dane_free
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:1049,1
    - Dst: dane_incompat
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:1058,1
    - Dst: tls_dane_free
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:1060,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:1065,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:1075,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:1076,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:1078,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:1079,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:1081,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_tls_policy.c:1085,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 2
    argNames:
    - tls
    - iter
    argTypes:
    - SMTP_TLS_POLICY*
    - SMTP_ITERATOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 960
    functionDepth: 5
    functionLinenumber: 960
    functionLinenumberEnd: 1088
    functionName: dane_init
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - msg_warn
    - dane_incompat
    - tls_dane_unusable
    - tls_dane_notfound
    - MARK_INVALID
    - tls_dane_resolve
    - ntohs
    - argv_alloc
    - argv_add
    - strcmp
    - dsb_simple
    - policy_name
    - tls_dane_avail
    - tls_dane_free
    - STR
    linkageType: ''
    returnType: void
    signature: void dane_init(SMTP_TLS_POLICY *tls, SMTP_ITERATOR *iter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: htable_create
      Src: /src/postfix/postfix/src/smtp/smtp_unalias.c:80,1
    - Dst: htable_find
      Src: /src/postfix/postfix/src/smtp/smtp_unalias.c:86,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_unalias.c:87,1
    - Dst: dns_lookup_l
      Src: /src/postfix/postfix/src/smtp/smtp_unalias.c:88,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtp/smtp_unalias.c:94,1
    - Dst: htable_enter
      Src: /src/postfix/postfix/src/smtp/smtp_unalias.c:95,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/smtp/smtp_unalias.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 65
    functionDepth: 5
    functionLinenumber: 65
    functionLinenumberEnd: 98
    functionName: smtp_unalias_name
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_unalias.c
    functionUses: 0
    functionsReached:
    - vstring_export
    - dns_lookup_l
    - htable_create
    - vstring_alloc
    - htable_enter
    - vstring_strcpy
    - htable_find
    linkageType: ''
    returnType: char
    signature: char *smtp_unalias_name(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/postfix/postfix/src/smtp/smtp_unalias.c:107,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtp/smtp_unalias.c:108,1
    - Dst: smtp_unalias_name
      Src: /src/postfix/postfix/src/smtp/smtp_unalias.c:110,1
    - Dst: vstring_strncpy
      Src: /src/postfix/postfix/src/smtp/smtp_unalias.c:111,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtp/smtp_unalias.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - result
    - addr
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 6
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: smtp_unalias_addr
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_unalias.c
    functionUses: 0
    functionsReached:
    - strrchr
    - smtp_unalias_name
    - vstring_strncpy
    - vstring_strcat
    - vstring_strcpy
    linkageType: ''
    returnType: VSTRING
    signature: VSTRING *smtp_unalias_addr(VSTRING *result, const char *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_unalias.c:127,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_unalias.c:128,1
    - Dst: vstring_fgets_nonl
      Src: /src/postfix/postfix/src/smtp/smtp_unalias.c:132,1
    - Dst: smtp_unalias_addr
      Src: /src/postfix/postfix/src/smtp/smtp_unalias.c:133,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_unalias.c:133,1
    - Dst: vstream_printf
      Src: /src/postfix/postfix/src/smtp/smtp_unalias.c:134,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_unalias.c:134,1
    - Dst: vstring_str
      Src: /src/postfix/postfix/src/smtp/smtp_unalias.c:134,1
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/smtp/smtp_unalias.c:135,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_unalias.c:137,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_unalias.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - unused_argc
    - unused_argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 7
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: main
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_unalias.c
    functionUses: 47
    functionsReached:
    - vstring_fgets_nonl
    - vstream_fflush
    - vstring_alloc
    - smtp_unalias_addr
    - vstream_printf
    - vstring_str
    - vstring_free
    linkageType: ''
    returnType: int
    signature: int main(int unused_argc, char **unused_argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - session
    - code
    argTypes:
    - SMTP_SESSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 209
    functionName: smtp_check_code
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_trouble.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void smtp_check_code(SMTP_SESSION *session, int code)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:221,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:222,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:232,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:232,1
    - Dst: SMTP_RCPT_LEFT
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:233,1
    - Dst: SMTP_RCPT_ISMARKED
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:235,1
    - Dst: SMTP_RCPT_KEEP
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:237,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:258,1
    - Dst: GETTIMEOFDAY
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:262,1
    - Dst: DSN_FROM_DSN_BUF
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:264,1
    - Dst: SMTP_RCPT_LEFT
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:266,1
    - Dst: SMTP_RCPT_ISMARKED
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:268,1
    - Dst: DEL_REQ_TRACE_FLAGS
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:271,1
    - Dst: deliver_completed
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:275,1
    - Dst: SMTP_RCPT_DROP
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:276,1
    - Dst: DSN_COPY
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:283,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 2
    argNames:
    - state
    - throttle_queue
    argTypes:
    - SMTP_STATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 293
    functionName: smtp_bulk_fail
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_trouble.c
    functionUses: 0
    functionsReached:
    - DSN_FROM_DSN_BUF
    - GETTIMEOFDAY
    - SMTP_RCPT_LEFT
    - DEL_REQ_TRACE_FLAGS
    - SMTP_RCPT_ISMARKED
    - msg_info
    - deliver_completed
    - SMTP_RCPT_KEEP
    - SMTP_RCPT_DROP
    - DSN_COPY
    - STR
    linkageType: ''
    returnType: int
    signature: int smtp_bulk_fail(SMTP_STATE *state, int throttle_queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smtp_bulk_fail
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 306
    functionName: smtp_sess_fail
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_trouble.c
    functionUses: 2
    functionsReached:
    - smtp_bulk_fail
    linkageType: ''
    returnType: int
    signature: int smtp_sess_fail(SMTP_STATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:328,1
    - Dst: vstring_strcpy
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:334,1
    - Dst: vstring_vsprintf_append
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:337,1
    - Dst: dsb_formal
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - state
    - mta_name
    - status
    - reply
    - format
    - ap
    argTypes:
    - SMTP_STATE*
    - char*
    - char*
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 310
    functionDepth: 4
    functionLinenumber: 310
    functionLinenumberEnd: 341
    functionName: vsmtp_fill_dsn
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_trouble.c
    functionUses: 0
    functionsReached:
    - VSTRING_RESET
    - vstring_vsprintf_append
    - vstring_strcpy
    - dsb_formal
    linkageType: ''
    returnType: void
    signature: "void vsmtp_fill_dsn(SMTP_STATE *state, const char *mta_name,\n\t\t\t
      \          const char *status, const char *reply,\n\t\t\t           const char
      *format, va_list ap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:353,1
    - Dst: vsmtp_fill_dsn
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:354,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:355,1
    - Dst: smtp_check_code
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:358,1
    - Dst: smtp_bulk_fail
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - state
    - throttle
    - mta_name
    - resp
    - format
    argTypes:
    - SMTP_STATE*
    - int
    - char*
    - SMTP_RESP*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 345
    functionDepth: 5
    functionLinenumber: 345
    functionLinenumberEnd: 364
    functionName: smtp_misc_fail
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_trouble.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    - smtp_check_code
    - vsmtp_fill_dsn
    - smtp_bulk_fail
    linkageType: ''
    returnType: int
    signature: "int smtp_misc_fail(SMTP_STATE *state, int throttle, const char *mta_name,\n\t\t
      \              SMTP_RESP *resp, const char *format,...)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SMTP_RCPT_ISMARKED
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:382,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:383,1
    - Dst: va_start
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:388,1
    - Dst: vsmtp_fill_dsn
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:389,1
    - Dst: va_end
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:390,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:391,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:392,1
    - Dst: smtp_check_code
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:395,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:404,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:404,1
    - Dst: SMTP_RCPT_KEEP
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:405,1
    - Dst: DSN_FROM_DSN_BUF
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:417,1
    - Dst: DEL_REQ_TRACE_FLAGS
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:419,1
    - Dst: deliver_completed
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:423,1
    - Dst: SMTP_RCPT_DROP
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:424,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - state
    - rcpt
    - mta_name
    - resp
    - format
    argTypes:
    - SMTP_STATE*
    - RECIPIENT*
    - char*
    - SMTP_RESP*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 368
    functionDepth: 5
    functionLinenumber: 368
    functionLinenumberEnd: 427
    functionName: smtp_rcpt_fail
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_trouble.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - va_end
    - va_start
    - DSN_FROM_DSN_BUF
    - smtp_check_code
    - DEL_REQ_TRACE_FLAGS
    - SMTP_RCPT_ISMARKED
    - msg_info
    - deliver_completed
    - SMTP_RCPT_KEEP
    - vsmtp_fill_dsn
    - SMTP_RCPT_DROP
    - STR
    linkageType: ''
    returnType: void
    signature: "void smtp_rcpt_fail(SMTP_STATE *state, RECIPIENT *rcpt, const char
      *mta_name,\n\t\t               SMTP_RESP *resp, const char *format,...)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:440,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:447,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:449,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:457,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:466,1
    - Dst: smtp_bulk_fail
      Src: /src/postfix/postfix/src/smtp/smtp_trouble.c:475,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - state
    - code
    - description
    argTypes:
    - SMTP_STATE*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 476
    functionName: smtp_stream_except
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_trouble.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - smtp_bulk_fail
    - dsb_simple
    linkageType: ''
    returnType: int
    signature: int smtp_stream_except(SMTP_STATE *state, int code, const char *description)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dsb_update
      Src: /src/postfix/postfix/src/smtp/smtp_rcpt.c:177,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_rcpt.c:177,1
    - Dst: sent
      Src: /src/postfix/postfix/src/smtp/smtp_rcpt.c:180,1
    - Dst: DEL_REQ_TRACE_FLAGS
      Src: /src/postfix/postfix/src/smtp/smtp_rcpt.c:180,1
    - Dst: DSN_FROM_DSN_BUF
      Src: /src/postfix/postfix/src/smtp/smtp_rcpt.c:182,1
    - Dst: deliver_completed
      Src: /src/postfix/postfix/src/smtp/smtp_rcpt.c:185,1
    - Dst: SMTP_RCPT_DROP
      Src: /src/postfix/postfix/src/smtp/smtp_rcpt.c:186,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - state
    - resp
    - rcpt
    argTypes:
    - SMTP_STATE*
    - SMTP_RESP*
    - RECIPIENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 188
    functionName: smtp_rcpt_done
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_rcpt.c
    functionUses: 1
    functionsReached:
    - DSN_FROM_DSN_BUF
    - dsb_update
    - DEL_REQ_TRACE_FLAGS
    - deliver_completed
    - sent
    - SMTP_RCPT_DROP
    - STR
    linkageType: ''
    returnType: void
    signature: void smtp_rcpt_done(SMTP_STATE *state, SMTP_RESP *resp, RECIPIENT *rcpt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: smtp_rcpt_cleanup_callback
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_rcpt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int smtp_rcpt_cleanup_callback(const void *a, const void *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_rcpt.c:208,1
    - Dst: qsort
      Src: /src/postfix/postfix/src/smtp/smtp_rcpt.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 226
    functionName: smtp_rcpt_cleanup
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_rcpt.c
    functionUses: 2
    functionsReached:
    - msg_panic
    - qsort
    linkageType: ''
    returnType: void
    signature: void smtp_rcpt_cleanup(SMTP_STATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:142,1
    - Dst: dns_rr_to_pa
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:144,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:145,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:145,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:147,1
    - Dst: SMTP_HNAME
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:148,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - what
    - addr_list
    argTypes:
    - char*
    - DNS_RR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 153
    functionName: smtp_print_addr
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_addr.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - SMTP_HNAME
    - dns_strtype
    - msg_info
    - dns_rr_to_pa
    linkageType: ''
    returnType: void
    signature: void smtp_print_addr(const char *what, DNS_RR *addr_list)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:167,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:172,1
    - Dst: hostaddr_to_sockaddr
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:177,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:178,1
    - Dst: dns_sa_to_rr
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:179,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:180,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:184,1
    - Dst: DNS_RR_IS_TRUNCATED
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:185,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:186,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:187,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:190,1
    - Dst: dns_lookup_v
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:201,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:209,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:212,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:215,1
    - Dst: SMTP_HAS_SOFT_DSN
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:215,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:218,1
    - Dst: SMTP_HAS_SOFT_DSN
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:218,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:221,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:224,1
    - Dst: SMTP_HAS_SOFT_DSN
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:224,1
    - Dst: hostname_to_sockaddr
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:247,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:248,1
    - Dst: SMTP_HAS_SOFT_DSN
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:248,1
    - Dst: RETRY_AI_ERROR
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:248,1
    - Dst: DSN_NOHOST
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:249,1
    - Dst: DSN_NOHOST
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:250,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:252,1
    - Dst: strchr
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:255,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:256,1
    - Dst: dns_sa_to_rr
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:261,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:262,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:264,1
    - Dst: DNS_RR_IS_TRUNCATED
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:265,1
    - Dst: SOCKADDR_TO_HOSTADDR
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:270,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:272,1
    - Dst: freeaddrinfo
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:276,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:278,1
    - Dst: SMTP_HAS_SOFT_DSN
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:278,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 72
    argCount: 6
    argNames:
    - addr_list
    - host
    - res_opt
    - pref
    - port
    - why
    argTypes:
    - DNS_RR*
    - char*
    - int
    - unsigned
    - unsigned
    - DSN_BUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 157
    functionDepth: 4
    functionLinenumber: 157
    functionLinenumberEnd: 289
    functionName: smtp_addr_one
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_addr.c
    functionUses: 0
    functionsReached:
    - inet_proto_info
    - strchr
    - dns_rr_append
    - MAI_STRERROR
    - DSN_NOHOST
    - SMTP_HAS_SOFT_DSN
    - freeaddrinfo
    - dns_lookup_v
    - msg_info
    - dns_sa_to_rr
    - DNS_RR_IS_TRUNCATED
    - dsb_simple
    - SOCKADDR_TO_HOSTADDR
    - msg_fatal
    - hostname_to_sockaddr
    - dsb_status
    - hostaddr_to_sockaddr
    - RETRY_AI_ERROR
    linkageType: ''
    returnType: DNS_RR
    signature: "DNS_RR *smtp_addr_one(DNS_RR *addr_list, const char *host, int res_opt,\n\t\t\t
      \            unsigned pref, unsigned port,\n\t\t\t             DSN_BUF *why)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: RETRY_AI_ERROR
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_addr.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETRY_AI_ERROR(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: DSN_NOHOST
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_addr.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSN_NOHOST(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: DSN_NOHOST
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_addr.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSN_NOHOST(e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:330,1
    - Dst: smtp_addr_one
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:331,1
    - Dst: DNS_RR_IS_TRUNCATED
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:333,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - mx_names
    - why
    argTypes:
    - DNS_RR*
    - DSN_BUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 293
    functionDepth: 5
    functionLinenumber: 293
    functionLinenumberEnd: 337
    functionName: smtp_addr_list
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_addr.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - DNS_RR_IS_TRUNCATED
    - smtp_addr_one
    linkageType: ''
    returnType: DNS_RR
    signature: DNS_RR *smtp_addr_list(DNS_RR *mx_names, DSN_BUF *why)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: own_inet_addr_list
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:349,1
    - Dst: proxy_inet_addr_list
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:350,1
    - Dst: DNS_RR_EQ_SA
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:358,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:360,1
    - Dst: DNS_RR_EQ_SA
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:369,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:371,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:380,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - addr_list
    argTypes:
    - DNS_RR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 382
    functionName: smtp_find_self
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_addr.c
    functionUses: 0
    functionsReached:
    - proxy_inet_addr_list
    - own_inet_addr_list
    - DNS_RR_EQ_SA
    - msg_info
    linkageType: ''
    returnType: DNS_RR
    signature: DNS_RR *smtp_find_self(DNS_RR *addr_list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: smtp_print_addr
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:394,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:395,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - addr_list
    - pref
    argTypes:
    - DNS_RR*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 386
    functionDepth: 3
    functionLinenumber: 386
    functionLinenumberEnd: 405
    functionName: smtp_truncate_self
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_addr.c
    functionUses: 0
    functionsReached:
    - smtp_print_addr
    - dns_rr_free
    linkageType: ''
    returnType: DNS_RR
    signature: DNS_RR *smtp_truncate_self(DNS_RR *addr_list, unsigned pref)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:444,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:445,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:496,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:508,1
    - Dst: dns_strtype
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:509,1
    - Dst: dns_rr_append
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:512,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:515,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:519,1
    - Dst: smtp_print_addr
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:522,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 3
    argNames:
    - addr_list
    - misc_flags
    - addr_limit
    argTypes:
    - DNS_RR*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 409
    functionDepth: 4
    functionLinenumber: 409
    functionLinenumberEnd: 527
    functionName: smtp_balance_inet_proto
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_addr.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - dns_rr_free
    - dns_rr_append
    - dns_strtype
    - msg_info
    - smtp_print_addr
    linkageType: ''
    returnType: DNS_RR
    signature: "DNS_RR *smtp_balance_inet_proto(DNS_RR *addr_list, int misc_flags,\n\t\t\t\t
      \              int addr_limit)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: dsb_reset
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:542,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:553,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:561,1
    - Dst: midna_domain_to_ascii
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:561,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:563,1
    - Dst: dns_lookup
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:610,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:612,1
    - Dst: smtp_host_addr
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:614,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:617,1
    - Dst: smtp_host_addr
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:619,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:622,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:625,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:628,1
    - Dst: smtp_host_addr
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:630,1
    - Dst: dns_rr_sort
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:633,1
    - Dst: smtp_addr_list
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:635,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:637,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:638,1
    - Dst: SMTP_HAS_HARD_DSN
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:643,1
    - Dst: SMTP_SET_SOFT_DSN
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:644,1
    - Dst: SMTP_HAS_SOFT_DSN
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:646,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:647,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:649,1
    - Dst: smtp_print_addr
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:654,1
    - Dst: smtp_find_self
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:656,1
    - Dst: smtp_truncate_self
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:657,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:660,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:663,1
    - Dst: dns_rr_shuffle
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:675,1
    - Dst: dns_rr_sort
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:676,1
    - Dst: SMTP_COMPARE_ADDR
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:676,1
    - Dst: smtp_balance_inet_proto
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:678,1
    - Dst: smtp_host_addr
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:683,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 77
    argCount: 5
    argNames:
    - name
    - mxrr
    - misc_flags
    - why
    - found_myself
    argTypes:
    - char*
    - DNS_RR**
    - int
    - DSN_BUF*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 531
    functionDepth: 6
    functionLinenumber: 531
    functionLinenumberEnd: 692
    functionName: smtp_domain_addr
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_addr.c
    functionUses: 1
    functionsReached:
    - dns_rr_free
    - SMTP_HAS_HARD_DSN
    - dns_rr_copy
    - msg_info
    - smtp_truncate_self
    - midna_domain_to_ascii
    - SMTP_SET_SOFT_DSN
    - dsb_simple
    - dsb_status
    - msg_panic
    - dns_rr_sort
    - dns_lookup
    - allascii
    - dns_rr_shuffle
    - SMTP_HAS_SOFT_DSN
    - smtp_balance_inet_proto
    - smtp_find_self
    - smtp_print_addr
    - msg_warn
    - SMTP_COMPARE_ADDR
    - smtp_addr_list
    - smtp_host_addr
    - dsb_reset
    linkageType: ''
    returnType: DNS_RR
    signature: "DNS_RR *smtp_domain_addr(const char *name, DNS_RR **mxrr, int misc_flags,\n\t\t\t
      \        DSN_BUF *why, int *found_myself)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 672
    functionName: SMTP_COMPARE_ADDR
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_addr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTP_COMPARE_ADDR(flags)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dsb_reset
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:702,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:711,1
    - Dst: midna_domain_to_ascii
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:711,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:713,1
    - Dst: smtp_addr_one
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:723,1
    - Dst: smtp_find_self
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:726,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:727,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:728,1
    - Dst: dns_rr_shuffle
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:733,1
    - Dst: inet_proto_info
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:735,1
    - Dst: dns_rr_sort
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:736,1
    - Dst: SMTP_COMPARE_ADDR
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:736,1
    - Dst: smtp_balance_inet_proto
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:738,1
    - Dst: smtp_print_addr
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:742,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 3
    argNames:
    - host
    - misc_flags
    - why
    argTypes:
    - char*
    - int
    - DSN_BUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 696
    functionDepth: 5
    functionLinenumber: 696
    functionLinenumberEnd: 744
    functionName: smtp_host_addr
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_addr.c
    functionUses: 2
    functionsReached:
    - inet_proto_info
    - dns_rr_free
    - SMTP_COMPARE_ADDR
    - dns_rr_shuffle
    - smtp_addr_one
    - smtp_balance_inet_proto
    - smtp_find_self
    - msg_info
    - dns_rr_sort
    - midna_domain_to_ascii
    - dsb_simple
    - smtp_print_addr
    - allascii
    - dsb_reset
    linkageType: ''
    returnType: DNS_RR
    signature: DNS_RR *smtp_host_addr(const char *host, int misc_flags, DSN_BUF *why)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: dsb_reset
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:763,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:769,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:775,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:776,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:777,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:783,1
    - Dst: midna_domain_to_ascii
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:784,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:786,1
    - Dst: dns_lookup
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:791,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:794,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:798,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:802,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:805,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:809,1
    - Dst: dns_srv_rr_sort
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:813,1
    - Dst: smtp_addr_list
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:815,1
    - Dst: dns_rr_copy
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:817,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:818,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:820,1
    - Dst: smtp_print_addr
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:827,1
    - Dst: smtp_find_self
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:829,1
    - Dst: smtp_truncate_self
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:830,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:833,1
    - Dst: dsb_simple
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:837,1
    - Dst: smtp_balance_inet_proto
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:847,1
    - Dst: dsb_status
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:852,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:860,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:861,1
    - Dst: smtp_domain_addr
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:863,1
    - Dst: smtp_host_addr
      Src: /src/postfix/postfix/src/smtp/smtp_addr.c:866,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 77
    argCount: 6
    argNames:
    - name
    - service
    - mxrr
    - misc_flags
    - why
    - found_myself
    argTypes:
    - char*
    - char*
    - DNS_RR**
    - int
    - DSN_BUF*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 748
    functionDepth: 7
    functionLinenumber: 748
    functionLinenumberEnd: 876
    functionName: smtp_service_addr
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_addr.c
    functionUses: 1
    functionsReached:
    - vstring_sprintf
    - dns_rr_free
    - dns_rr_copy
    - msg_info
    - smtp_truncate_self
    - midna_domain_to_ascii
    - smtp_domain_addr
    - dsb_simple
    - dsb_status
    - msg_panic
    - vstring_alloc
    - dns_lookup
    - allascii
    - dns_srv_rr_sort
    - smtp_balance_inet_proto
    - smtp_find_self
    - smtp_print_addr
    - msg_warn
    - smtp_addr_list
    - STR
    - smtp_host_addr
    - dsb_reset
    linkageType: ''
    returnType: DNS_RR
    signature: "DNS_RR *smtp_service_addr(const char *name, const char *service, DNS_RR
      **mxrr,\n\t\t\t          int misc_flags, DSN_BUF *why,\n\t\t\t          int
      *found_myself)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:120,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:122,1
    - Dst: HAS_MULTIPLE_VALUES
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:123,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:124,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:138,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:139,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:142,1
    - Dst: dict_open
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:143,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:145,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - map
    - ttl
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 148
    functionName: smtp_sasl_auth_cache_init
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c
    functionUses: 1
    functionsReached:
    - msg_panic
    - dict_open
    - strncmp
    - mymalloc
    - msg_fatal
    - HAS_MULTIPLE_VALUES
    - mystrdup
    linkageType: ''
    returnType: SMTP_SASL_AUTH_CACHE
    signature: SMTP_SASL_AUTH_CACHE *smtp_sasl_auth_cache_init(const char *map, int
      ttl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: HAS_MULTIPLE_VALUES
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAS_MULTIPLE_VALUES(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:162,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:164,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - host
    - user
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: smtp_sasl_auth_cache_make_key
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c
    functionUses: 0
    functionsReached:
    - vstring_export
    - vstring_sprintf
    - vstring_alloc
    linkageType: ''
    returnType: char
    signature: char *smtp_sasl_auth_cache_make_key(const char *host, const char *user)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:172,1
    - Dst: base64_encode
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:174,1
    - Dst: SHA1
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:174,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:175,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - password
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: smtp_sasl_auth_cache_make_pass
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c
    functionUses: 0
    functionsReached:
    - SHA1
    - vstring_export
    - strlen
    - base64_encode
    - vstring_alloc
    linkageType: ''
    returnType: char
    signature: char *smtp_sasl_auth_cache_make_pass(const char *password)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:186,1
    - Dst: time
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:188,1
    - Dst: smtp_sasl_auth_cache_make_pass
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:190,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:191,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:192,1
    - Dst: vstring_export
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - password
    - dsn
    - rep_str
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 4
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: smtp_sasl_auth_cache_make_value
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - vstring_export
    - time
    - vstring_alloc
    - myfree
    - smtp_sasl_auth_cache_make_pass
    linkageType: ''
    returnType: char
    signature: "char *smtp_sasl_auth_cache_make_value(const char *password,\n\t\t\t\t\t
      \            const char *dsn,\n\t\t\t\t\t             const char *rep_str)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:202,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:203,1
    - Dst: time
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:205,1
    - Dst: myrealloc
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:209,1
    - Dst: myrealloc
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:210,1
    - Dst: sscanf
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:212,1
    - Dst: dsn_valid
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:214,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:215,1
    - Dst: smtp_sasl_auth_cache_make_pass
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:220,1
    - Dst: strcmp
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:221,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:222,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - auth_cache
    - entry
    - password
    argTypes:
    - SMTP_SASL_AUTH_CACHE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 198
    functionDepth: 4
    functionLinenumber: 198
    functionLinenumberEnd: 226
    functionName: smtp_sasl_auth_cache_valid_value
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c
    functionUses: 0
    functionsReached:
    - msg_warn
    - strlen
    - time
    - dsn_valid
    - sscanf
    - myrealloc
    - myfree
    - strcmp
    - smtp_sasl_auth_cache_make_pass
    - mymalloc
    linkageType: ''
    returnType: int
    signature: "int smtp_sasl_auth_cache_valid_value(SMTP_SASL_AUTH_CACHE *auth_cache,\n\t\t\t\t\t
      \           const char *entry,\n\t\t\t\t\t            const char *password)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: smtp_sasl_auth_cache_make_key
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:238,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:238,1
    - Dst: dict_get
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:239,1
    - Dst: smtp_sasl_auth_cache_valid_value
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:240,1
    - Dst: dict_del
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:243,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:244,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:247,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - auth_cache
    - session
    argTypes:
    - SMTP_SASL_AUTH_CACHE*
    - SMTP_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 230
    functionDepth: 5
    functionLinenumber: 230
    functionLinenumberEnd: 251
    functionName: smtp_sasl_auth_cache_find
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - dict_del
    - myfree
    - dict_get
    - smtp_sasl_auth_cache_valid_value
    - smtp_sasl_auth_cache_make_key
    - STR
    linkageType: ''
    returnType: int
    signature: "int smtp_sasl_auth_cache_find(SMTP_SASL_AUTH_CACHE *auth_cache,\n\t\t\t\t
      \         const SMTP_SESSION *session)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smtp_sasl_auth_cache_make_key
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:263,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:263,1
    - Dst: smtp_sasl_auth_cache_make_value
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:264,1
    - Dst: dict_put
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:266,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:268,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - auth_cache
    - session
    - resp
    argTypes:
    - SMTP_SASL_AUTH_CACHE*
    - SMTP_SESSION*
    - SMTP_RESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 255
    functionDepth: 5
    functionLinenumber: 255
    functionLinenumberEnd: 270
    functionName: smtp_sasl_auth_cache_store
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c
    functionUses: 1
    functionsReached:
    - smtp_sasl_auth_cache_make_value
    - dict_put
    - myfree
    - smtp_sasl_auth_cache_make_key
    - STR
    linkageType: ''
    returnType: void
    signature: "void smtp_sasl_auth_cache_store(SMTP_SASL_AUTH_CACHE *auth_cache,\n\t\t\t\t
      \          const SMTP_SESSION *session,\n\t\t\t\t           const SMTP_RESP
      *resp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:123,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - sockname_pname
    - sockname_pval
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: smtp_tlsrpt_post_jail
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c
    functionUses: 1
    functionsReached:
    - msg_warn
    linkageType: ''
    returnType: int
    signature: "int smtp_tlsrpt_post_jail(const char *sockname_pname,\n\t\t\t              const
      char *sockname_pval)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:138,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:139,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:168,1
    - Dst: dns_lookup
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:169,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:169,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:171,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:180,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:181,1
    - Dst: strncmp
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:188,1
    - Dst: strspn
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:196,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:197,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:202,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:204,1
    - Dst: dns_rr_detach
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:209,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:212,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:214,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - adomain
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 216
    functionName: smtp_tlsrpt_find_policy
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - msg_warn
    - dns_rr_free
    - dns_rr_detach
    - strspn
    - vstring_alloc
    - dns_lookup
    - strncmp
    - vstring_free
    - STR
    linkageType: ''
    returnType: DNS_RR
    signature: DNS_RR *smtp_tlsrpt_find_policy(const char *adomain)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: trw_free
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:230,1
    - Dst: allascii
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:241,1
    - Dst: midna_domain_to_ascii
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:241,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:243,1
    - Dst: smtp_tlsrpt_find_policy
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:249,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:251,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:254,1
    - Dst: trw_create
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:259,1
    - Dst: dns_rr_free
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:264,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:267,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - state
    - domain
    argTypes:
    - SMTP_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 220
    functionDepth: 4
    functionLinenumber: 220
    functionLinenumberEnd: 270
    functionName: smtp_tlsrpt_create_wrapper
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c
    functionUses: 1
    functionsReached:
    - dns_rr_free
    - smtp_tlsrpt_find_policy
    - trw_create
    - msg_info
    - midna_domain_to_ascii
    - trw_free
    - allascii
    linkageType: ''
    returnType: void
    signature: void smtp_tlsrpt_create_wrapper(SMTP_STATE *state, const char *domain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trw_set_tls_policy
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 280
    functionName: smtp_tlsrpt_set_no_policy
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c
    functionUses: 0
    functionsReached:
    - trw_set_tls_policy
    linkageType: ''
    returnType: void
    signature: void smtp_tlsrpt_set_no_policy(SMTP_STATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:286,1
    - Dst: argv_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:287,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:292,1
    - Dst: hex_encode_opt
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:294,1
    - Dst: argv_add
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:296,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:296,1
    - Dst: trw_set_tls_policy
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:298,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:301,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 284
    functionDepth: 5
    functionLinenumber: 284
    functionLinenumberEnd: 303
    functionName: smtp_tlsrpt_set_dane_policy
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf
    - vstring_alloc
    - argv_free
    - STR
    - argv_alloc
    - argv_add
    - trw_set_tls_policy
    - vstring_free
    - hex_encode_opt
    linkageType: ''
    returnType: void
    signature: void smtp_tlsrpt_set_dane_policy(SMTP_STATE *state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:313,1
    - Dst: convert_tlsrpt_policy_type
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:316,1
    - Dst: trw_set_tls_policy
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:318,1
    - Dst: smtp_tlsrpt_set_no_policy
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:324,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 307
    functionDepth: 3
    functionLinenumber: 307
    functionLinenumberEnd: 337
    functionName: smtp_tlsrpt_set_ext_policy
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c
    functionUses: 0
    functionsReached:
    - msg_panic
    - smtp_tlsrpt_set_no_policy
    - trw_set_tls_policy
    - convert_tlsrpt_policy_type
    linkageType: ''
    returnType: void
    signature: void smtp_tlsrpt_set_ext_policy(SMTP_STATE *state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TLS_DANE_BASED
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:345,1
    - Dst: smtp_tlsrpt_set_dane_policy
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:347,1
    - Dst: smtp_tlsrpt_set_no_policy
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:349,1
    - Dst: smtp_tlsrpt_set_ext_policy
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:351,1
    - Dst: smtp_tlsrpt_set_no_policy
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 341
    functionDepth: 6
    functionLinenumber: 341
    functionLinenumberEnd: 355
    functionName: smtp_tlsrpt_set_tls_policy
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c
    functionUses: 1
    functionsReached:
    - smtp_tlsrpt_set_ext_policy
    - smtp_tlsrpt_set_no_policy
    - smtp_tlsrpt_set_dane_policy
    - TLS_DANE_BASED
    linkageType: ''
    returnType: void
    signature: void smtp_tlsrpt_set_tls_policy(SMTP_STATE *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getsockname
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:372,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:372,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:375,1
    - Dst: sane_sockaddr_to_hostaddr
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:379,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:384,1
    - Dst: MAI_STRERROR
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:386,1
    - Dst: trw_set_tcp_connection
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:389,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:389,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - SMTP_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 359
    functionDepth: 3
    functionLinenumber: 359
    functionLinenumberEnd: 391
    functionName: smtp_tlsrpt_set_tcp_connection
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c
    functionUses: 1
    functionsReached:
    - msg_warn
    - getsockname
    - trw_set_tcp_connection
    - sane_sockaddr_to_hostaddr
    - vstream_fileno
    - MAI_STRERROR
    - STR
    linkageType: ''
    returnType: void
    signature: void smtp_tlsrpt_set_tcp_connection(SMTP_STATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:409,1
    - Dst: argv_split
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:410,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:412,1
    - Dst: vstring_strcat
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:414,1
    - Dst: argv_free
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:416,1
    - Dst: trw_set_ehlo_resp
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:417,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:417,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c:418,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - state
    - reply
    argTypes:
    - SMTP_STATE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 395
    functionDepth: 4
    functionLinenumber: 395
    functionLinenumberEnd: 419
    functionName: smtp_tlsrpt_set_ehlo_resp
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c
    functionUses: 1
    functionsReached:
    - trw_set_ehlo_resp
    - vstring_alloc
    - argv_free
    - vstring_strcat
    - argv_split
    - vstring_free
    - STR
    linkageType: ''
    returnType: void
    signature: void smtp_tlsrpt_set_ehlo_resp(SMTP_STATE *state, const char *reply)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:146,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:147,1
    - Dst: mymalloc
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:150,1
    - Dst: concatenate
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:153,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:160,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:161,1
    - Dst: vstring_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:162,1
    - Dst: smtp_chat_init
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:163,1
    - Dst: vstring_sprintf
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:167,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:168,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:169,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:169,1
    - Dst: mystrdup
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:171,1
    - Dst: CACHE_THIS_SESSION_UNTIL
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:176,1
    - Dst: smtp_sasl_connect
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:183,1
    - Dst: debug_peer_check
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 4
    argNames:
    - stream
    - iter
    - start
    - flags
    argTypes:
    - VSTREAM*
    - SMTP_ITERATOR*
    - time_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 194
    functionName: smtp_session_alloc
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_session.c
    functionUses: 1
    functionsReached:
    - vstring_sprintf
    - smtp_sasl_connect
    - debug_peer_check
    - smtp_chat_init
    - vstring_alloc
    - CACHE_THIS_SESSION_UNTIL
    - ntohs
    - concatenate
    - mymalloc
    - mystrdup
    - STR
    linkageType: ''
    returnType: SMTP_SESSION
    signature: "SMTP_SESSION *smtp_session_alloc(VSTREAM *stream, SMTP_ITERATOR *iter,\n\t\t\t\t
      \        time_t start, int flags)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vstream_fflush
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:202,1
    - Dst: tls_proxy_context_free
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:207,1
    - Dst: tls_client_stop
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:209,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:214,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:215,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:216,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:218,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:220,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:221,1
    - Dst: vstring_free
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:222,1
    - Dst: smtp_chat_reset
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:225,1
    - Dst: mime_state_free
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:227,1
    - Dst: smtp_sasl_cleanup
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:230,1
    - Dst: debug_peer_restore
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:234,1
    - Dst: myfree
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:235,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - session
    argTypes:
    - SMTP_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 198
    functionDepth: 5
    functionLinenumber: 198
    functionLinenumberEnd: 236
    functionName: smtp_session_free
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_session.c
    functionUses: 2
    functionsReached:
    - smtp_chat_reset
    - debug_peer_restore
    - vstream_fflush
    - mime_state_free
    - vstream_fclose
    - myfree
    - tls_proxy_context_free
    - smtp_sasl_cleanup
    - tls_client_stop
    - vstring_free
    linkageType: ''
    returnType: void
    signature: void smtp_session_free(SMTP_SESSION *session)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vstream_memopen
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:258,1
    - Dst: attr_print_plain
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:259,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:260,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:260,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:261,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:261,1
    - Dst: SEND_ATTR_STR
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:262,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:262,1
    - Dst: SEND_ATTR_UINT
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:263,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:264,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:267,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:268,1
    - Dst: vstream_memopen
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:284,1
    - Dst: attr_print_plain
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:285,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:287,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:290,1
    - Dst: SEND_ATTR_INT
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:292,1
    - Dst: SEND_ATTR_LONG
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:294,1
    - Dst: attr_print_plain
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:304,1
    - Dst: SEND_ATTR_FUNC
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:305,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:309,1
    - Dst: msg_fatal
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:310,1
    - Dst: vstream_fileno
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:316,1
    - Dst: vstream_fdclose
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:317,1
    - Dst: smtp_session_free
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:319,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - session
    - dest_prop
    - endp_prop
    argTypes:
    - SMTP_SESSION*
    - VSTRING*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 240
    functionDepth: 6
    functionLinenumber: 240
    functionLinenumberEnd: 322
    functionName: smtp_session_passivate
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_session.c
    functionUses: 1
    functionsReached:
    - vstream_fdclose
    - SEND_ATTR_STR
    - SEND_ATTR_INT
    - vstream_memopen
    - vstream_fclose
    - SEND_ATTR_LONG
    - attr_print_plain
    - SEND_ATTR_FUNC
    - vstream_fileno
    - msg_fatal
    - SEND_ATTR_UINT
    - smtp_session_free
    - STR
    linkageType: ''
    returnType: int
    signature: "int smtp_session_passivate(SMTP_SESSION *session, VSTRING *dest_prop,\n\t\t\t
      \              VSTRING *endp_prop)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vstream_memopen
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:359,1
    - Dst: attr_scan_plain
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:360,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:362,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:365,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:367,1
    - Dst: RECV_ATTR_LONG
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:369,1
    - Dst: vstream_peek
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:374,1
    - Dst: attr_scan_plain
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:375,1
    - Dst: RECV_ATTR_FUNC
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:376,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:380,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:381,1
    - Dst: SMTP_SESSION_ACTIVATE_ERR_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:382,1
    - Dst: VSTRING_LEN
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:397,1
    - Dst: vstream_memopen
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:398,1
    - Dst: attr_scan_plain
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:399,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:400,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:401,1
    - Dst: RECV_ATTR_STR
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:402,1
    - Dst: RECV_ATTR_UINT
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:403,1
    - Dst: RECV_ATTR_INT
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:404,1
    - Dst: vstream_fclose
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:407,1
    - Dst: msg_warn
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:408,1
    - Dst: SMTP_SESSION_ACTIVATE_ERR_RETURN
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:409,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:416,1
    - Dst: smtp_session_alloc
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:424,1
    - Dst: vstream_fdopen
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:424,1
    - Dst: CACHE_THIS_SESSION_UNTIL
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:431,1
    - Dst: msg_info
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:435,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:437,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:437,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:438,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:438,1
    - Dst: time
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:440,1
    - Dst: tls_log_summary
      Src: /src/postfix/postfix/src/smtp/smtp_session.c:445,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 4
    argNames:
    - fd
    - iter
    - dest_prop
    - endp_prop
    argTypes:
    - int
    - SMTP_ITERATOR*
    - VSTRING*
    - VSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 326
    functionDepth: 7
    functionLinenumber: 326
    functionLinenumberEnd: 450
    functionName: smtp_session_activate
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_session.c
    functionUses: 1
    functionsReached:
    - RECV_ATTR_LONG
    - VSTRING_LEN
    - tls_log_summary
    - RECV_ATTR_STR
    - msg_info
    - smtp_session_alloc
    - ntohs
    - SMTP_SESSION_ACTIVATE_ERR_RETURN
    - attr_scan_plain
    - vstream_memopen
    - vstream_peek
    - RECV_ATTR_FUNC
    - time
    - msg_warn
    - vstream_fdopen
    - RECV_ATTR_UINT
    - vstream_fclose
    - CACHE_THIS_SESSION_UNTIL
    - RECV_ATTR_INT
    - STR
    linkageType: ''
    returnType: SMTP_SESSION
    signature: "SMTP_SESSION *smtp_session_activate(int fd, SMTP_ITERATOR *iter,\n\t\t\t\t
      \           VSTRING *dest_prop,\n\t\t\t\t            VSTRING *endp_prop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 346
    functionName: TLS_PROXY_CONTEXT_FREE
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_PROXY_CONTEXT_FREE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: SMTP_SESSION_ACTIVATE_ERR_RETURN
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_session.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMTP_SESSION_ACTIVATE_ERR_RETURN()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: smtp_sasl_auth_cache_dsn
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smtp_sasl_auth_cache_dsn(cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: smtp_sasl_auth_cache_text
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smtp_sasl_auth_cache_text(cp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:123,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - delim_na
    argTypes:
    - VSTRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: smtp_key_append_na
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_key.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    linkageType: ''
    returnType: void
    signature: void smtp_key_append_na(VSTRING *buffer, const char *delim_na)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smtp_key_append_na
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:133,1
    - Dst: strcspn
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:134,1
    - Dst: base64_encode_opt
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:135,1
    - Dst: strlen
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:135,1
    - Dst: VSTRING_ADDCH
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:136,1
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - buffer
    - str
    - delim_na
    argTypes:
    - VSTRING*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: smtp_key_append_str
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_key.c
    functionUses: 0
    functionsReached:
    - VSTRING_ADDCH
    - strlen
    - smtp_key_append_na
    - base64_encode_opt
    - strcspn
    - vstring_sprintf_append
    linkageType: ''
    returnType: void
    signature: "void smtp_key_append_str(VSTRING *buffer, const char *str,\n\t\t\t\t
      \       const char *delim_na)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vstring_sprintf_append
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buffer
    - num
    - delim_na
    argTypes:
    - VSTRING*
    - unsigned
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: smtp_key_append_uint
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_key.c
    functionUses: 0
    functionsReached:
    - vstring_sprintf_append
    linkageType: ''
    returnType: void
    signature: "void smtp_key_append_uint(VSTRING *buffer, unsigned num,\n\t\t\t\t
      \        const char *delim_na)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:162,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:164,1
    - Dst: msg_panic
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:167,1
    - Dst: VSTRING_RESET
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:172,1
    - Dst: smtp_key_append_str
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:178,1
    - Dst: smtp_key_append_str
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:180,1
    - Dst: smtp_key_append_str
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:186,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:186,1
    - Dst: smtp_key_append_str
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:188,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:188,1
    - Dst: smtp_key_append_str
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:194,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:194,1
    - Dst: smtp_key_append_str
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:196,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:196,1
    - Dst: smtp_key_append_uint
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:198,1
    - Dst: ntohs
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:198,1
    - Dst: smtp_key_append_uint
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:207,1
    - Dst: smtp_key_append_na
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:209,1
    - Dst: VSTRING_TERMINATE
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:212,1
    - Dst: STR
      Src: /src/postfix/postfix/src/smtp/smtp_key.c:214,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 4
    argNames:
    - buffer
    - delim_na
    - iter
    - flags
    argTypes:
    - VSTRING*
    - char*
    - SMTP_ITERATOR*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 215
    functionName: smtp_key_prefix
    functionSourceFile: /src/postfix/postfix/src/smtp/smtp_key.c
    functionUses: 5
    functionsReached:
    - msg_panic
    - smtp_key_append_uint
    - smtp_key_append_na
    - VSTRING_RESET
    - ntohs
    - VSTRING_TERMINATE
    - smtp_key_append_str
    - STR
    linkageType: ''
    returnType: char
    signature: "char *smtp_key_prefix(VSTRING *buffer, const char *delim_na,\n\t\t\t
      \       SMTP_ITERATOR *iter, int flags)"
Fuzzer filename: /src/fuzz_tok822.c
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- strings.h
- dict_cdb.h
- get_hostname.h
- dict_unix.h
- mail_version.h
- quote_821_local.h
- dir_forest.h
- mail_scan_dir.h
- match_service.h
- postscreen.h
- dict_nisplus.h
- timecmp.h
- namadr_list.h
- sys/statvfs.h
- mymalloc.h
- db_common.h
- lmtp_params.c
- get_domainname.h
- valid_mailhost_addr.h
- valid_uri_scheme.h
- long_vars.h
- tls_proxy.h
- cfg_parser.h
- install_vars.h
- mail_dict.h
- cdb_make.h
- smtp_params.c
- slmdb.h
- openssl/ssl.h
- dict_proxy.h
- saslutil.h
- known_tcp_ports.h
- argv.h
- smtpd_sasl_proto.h
- memory.h
- listen.h
- unistd.h
- maillog_client.h
- dsn_print.h
- sane_time.h
- debug_process.h
- sys/file.h
- safe.h
- cleanup_user.h
- openssl/rand.h
- verp_sender.h
- rec_attr_map.h
- dsn_mask.h
- features.h
- rec_type.h
- mail_addr_map.h
- warn_stat.h
- tlsrpt_wrapper.h
- mkmap.h
- sys/param.h
- dict_fail.h
- sys/un.h
- ext_prop.h
- sasl.h
- nbool_vars.h
- stdlib.h
- spawn_command.h
- locale.h
- bson/bson.h
- arpa/nameser_compat.h
- midna_adomain.h
- tlsproxy.h
- db.h
- xtext.h
- mail_addr_crunch.h
- trivial-rewrite.h
- dict_union.h
- libpq-fe.h
- sys/resource.h
- smtp_sasl_auth_cache.h
- msg_stats.h
- PATH_LMDB_H
- openssl/err.h
- match_parent_style.h
- rfc2047_code.h
- fcntl.h
- xsasl.h
- myrand.h
- cidr_match.h
- arpa/inet.h
- is_header.h
- htable.h
- dict_ht.h
- dot_lockfile_as.h
- arpa/nameser.h
- anvil_clnt.h
- smtpd_expand.h
- hash_fnv.h
- sane_strtol.h
- hex_code.h
- mark_corrupt.h
- ifaddrs.h
- compat_level.h
- sqlite3.h
- auto_clnt.h
- sys/filio.h
- unicode/uchar.h
- sent.h
- binhash.h
- ip_match.h
- maps.h
- cleanup.h
- normalize_mailhost_addr.h
- dict_pgsql.h
- header_body_checks.h
- connect.h
- addr_match_list.h
- own_inet_addr.h
- dsn_util.h
- dict_tcp.h
- netinfo/ni.h
- open_lock.h
- posix_signals.h
- haproxy_srvr.h
- timed_ipc.h
- math.h
- base32_code.h
- bool_vars.h
- dict_cidr.h
- openssl/x509v3.h
- raw_vars.h
- chroot_uid.h
- openssl/evp.h
- myflock.h
- smtputf8.h
- poll.h
- ulimit.h
- user_acl.h
- pwd.h
- watchdog.h
- smtp_reuse.h
- dict_sdbm.h
- mvect.h
- host_port.h
- syslog.h
- qmqp_proto.h
- wildcard_inet_addr.h
- bounce_log.h
- libmilter/mfdef.h
- cdb.h
- scan_dir.h
- mail_stream.h
- smtpd_proxy.h
- name_mask.h
- openssl/x509.h
- verify_clnt.h
- str_vars.h
- rcpt_print.h
- map_search.h
- events.h
- nint_vars.h
- mail_error.h
- netinet/tcp.h
- PATH_NDBM_H
- open_as.h
- format_tv.h
- tls_prng.h
- check_arg.h
- iostuff.h
- tlsrpt.h
- rpcsvc/ypclnt.h
- verify_sender_addr.h
- sdbm.h
- openssl/conf.h
- dict_env.h
- resolv.h
- sys/syscall.h
- bounce.h
- deliver_request.h
- libc.h
- limits.h
- delivered_hdr.h
- attr.h
- dl.h
- recipient_list.h
- stropts.h
- ctable.h
- sasl_mech_filter.h
- inet_prefix_top.h
- name_code.h
- smtpd_sasl_glue.h
- openssl/objects.h
- assert.h
- dirent.h
- dict_ni.h
- tlsmgrmem.h
- openssl/dh.h
- mail_addr.h
- tok822.h
- errno.h
- signal.h
- quote_flags.h
- sys/vfs.h
- lex_822.h
- dsn_filter.h
- sys/mount.h
- base64_code.h
- biff_notify.h
- resolve_local.h
- sys/sysctl.h
- sys/statfs.h
- ctype.h
- xsasl_dovecot.h
- dict_thash.h
- transport.h
- resolve_clnt.h
- time.h
- mbox_conf.h
- dict_static.h
- sane_socketpair.h
- mongoc/mongoc.h
- been_here.h
- deliver_completed.h
- off_cvt.h
- virtual.h
- tls_mgr.h
- netdb.h
- setjmp.h
- inet_addr_host.h
- mail_addr_form.h
- openssl/core_names.h
- mail_open_ok.h
- mail_flush.h
- dot_lockfile.h
- pcre2.h
- ehlo_mask.h
- rec_streamlf.h
- dict_pcre.h
- int_filt.h
- logwriter.h
- scache.h
- string_list.h
- dsn.h
- mac_expand.h
- dsn_buf.h
- dict_inline.h
- uxtext.h
- master_proto.h
- mail_server.h
- find_inet.h
- string.h
- config.h
- qmgr.h
- deliver_flock.h
- milter.h
- xsasl_cyrus_common.h
- netstring.h
- rpcsvc/nis.h
- openssl/lhash.h
- ossl_digest.h
- info_log_addr_form.h
- sys/devpoll.h
- sys_defs.h
- postqueue.h
- ndbm.h
- msg_logger.h
- libmilter/mfapi.h
- sys/epoll.h
- sys/sockio.h
- inttypes.h
- dict_nis.h
- fold_addr.h
- domain_list.h
- PATH_DB_H
- parse_utf8_char.h
- smtpd.h
- regex.h
- ndir.h
- match_list.h
- clean_env.h
- mail_task.h
- smtpd_check.h
- int_vars.h
- smtpd_dsn_fix.h
- mail_params.h
- utime.h
- file_id.h
- lmdb.h
- postconf.h
- vbuf.h
- smtpd_resolve.h
- clean_ascii_cntrl_space.h
- inet_addr_local.h
- stdio.h
- make_dirs.h
- float.h
- nbbio.h
- deliver_pass.h
- sigdelay.h
- lstat_as.h
- dict_regexp.h
- mail_proto.h
- log_adhoc.h
- argv_attr.h
- mail_flow.h
- dlfcn.h
- linux/version.h
- dict_sqlite.h
- xsasl_cyrus.h
- quote_822_local.h
- smtpd_chat.h
- sys/stat.h
- valid_hostname.h
- vstream.h
- load_lib.h
- openssl/tls1.h
- mask_addr.h
- strip_addr.h
- split_at.h
- fsspace.h
- unicode/ustring.h
- stddef.h
- sys/wait.h
- verify.h
- header_token.h
- post_mail.h
- sock_addr.h
- postscreen_haproxy.h
- openssl/decoder.h
- defer.h
- split_addr.h
- server_acl.h
- openssl/pem.h
- record.h
- load_file.h
- dict_mongodb.h
- qmgr_user.h
- mail_queue.h
- bounce_service.h
- termios.h
- myaddrinfo.h
- ring.h
- mail_copy.h
- mail_date.h
- conv_time.h
- timed_connect.h
- time_vars.h
- sys_exits.h
- edit_file.h
- pcre.h
- netinet/in.h
- sys/time.h
- sys/uio.h
- smtp.h
- mac_parse.h
- net/if.h
- sendopts.h
- dict_random.h
- paths.h
- mail_parm_split.h
- dict_memcache.h
- valid_utf8_hostname.h
- qmqpd.h
- mime_state.h
- inet_proto.h
- dict_ldap.h
- normalize_v4mapped_addr.h
- sane_connect.h
- inet_addr_sizes.h
- dict_lmdb.h
- master.h
- msg_vstream.h
- hfrom_format.h
- dict_pipe.h
- stat_as.h
- stdint.h
- test_main.h
- local.h
- line_number.h
- byte_mask.h
- msg.h
- vstring_vstream.h
- openssl/bn.h
- msg_output.h
- nvtable.h
- dict_test_helper.h
- safe_ultostr.h
- dict_dbm.h
- username.h
- ascii_header_text.h
- smtpd_milter.h
- smtp_stream.h
- dict_mysql.h
- dsb_scan.h
- nameser8_compat.h
- postgres_ext.h
- sysexits.h
- vstring.h
- sys/socket.h
- openssl/opensslv.h
- memcache_proto.h
- unicode/ucasemap.h
- config_known_tcp_ports.h
- safe_open.h
- sane_fsops.h
- mbox_open.h
- dict_sockmap.h
- msg_syslog.h
- trace.h
- unicode/uidna.h
- exec_command.h
- str_fn_vars.h
- sys/event.h
- grp.h
- ldseed.h
- mail_run.h
- pipe_command.h
- openssl/crypto.h
- killme_after.h
- smtp_reply_footer.h
- inet_addr_list.h
- vbuf_print.h
- stringops.h
- rewrite_clnt.h
- dict_cache.h
- sys/dir.h
- openssl/ec.h
- ldap.h
- flush_clnt.h
- dict_db.h
- debug_peer.h
- abounce.h
- rcpt_buf.h
- trigger.h
- input_transp.h
- sane_accept.h
- mysql.h
- dynamicmaps.h
- smtp_sasl.h
- set_eugid.h
- sys/ndir.h
- lber.h
- set_ugid.h
- attr_clnt.h
- login_sender_match.h
- cpio.h
- timed_wait.h
- dns.h
- mynetworks.h
- hex_quote.h
- sys/types.h
- sys/ioctl.h
- mail_addr_find.h
- readlline.h
- fullname.h
- midna_domain.h
- attr_override.h
- dict.h
- stdarg.h
- smtpd_token.h
- tls.h
- mypwd.h
- data_redirect.h
- mail_conf.h
- opened.h
- compat_va_copy.h
- line_wrap.h
- header_opts.h
- smtp_addr.h
- tls_scache.h
- clnt_stream.h
- bounce_template.h
- dict_debug.h
- sys/select.h
- canon_addr.h
report: name
sources:
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_tok822.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - head_out
  - head_end
  - body_end
  - err_print
  - body_out
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_mime.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MIME_OPTIONS
      pos:
        line_end: 60
        line_start: 56
        source_file: /src/fuzz_mime.c
      type_or_value: "(MIME_OPT_REPORT_8BIT_IN_7BIT_BODY | MIME_OPT_REPORT_8BIT_IN_HEADER
        |        \\\n   MIME_OPT_REPORT_ENCODING_DOMAIN | MIME_OPT_REPORT_TRUNC_HEADER
        |            \\\n   MIME_OPT_REPORT_NESTING | MIME_OPT_DOWNGRADE)"
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/postfix/postfix/auxiliary/name-addr-test/getaddrinfo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NO_SERVICE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/auxiliary/name-addr-test/getaddrinfo.c
      type_or_value: ((char *) 0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/auxiliary/name-addr-test/gethostbyaddr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/auxiliary/name-addr-test/gethostbyname.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/postfix/postfix/auxiliary/name-addr-test/getnameinfo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NO_SERVICE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/auxiliary/name-addr-test/getnameinfo.c
      type_or_value: ((char *) 0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - copy_comment
  - skip_string
  - main
  source_file: /src/postfix/postfix/mantools/comment.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ANVIL_REMOTE_FIRST_CONN
  - ANVIL_REMOTE_FREE
  - ANVIL_REMOTE_RSET_RATE
  - ANVIL_REMOTE_INCR_RATE
  - ANVIL_REMOTE_NEXT_CONN
  - ANVIL_REMOTE_INCR_MAIL
  - ANVIL_REMOTE_INCR_RCPT
  - ANVIL_REMOTE_INCR_NTLS
  - ANVIL_REMOTE_INCR_AUTH
  - ANVIL_REMOTE_DROP_ONE
  - ANVIL_LOCAL_INIT
  - ANVIL_LOCAL_REMOTE_LINKED
  - ANVIL_MAX_UPDATE
  - ANVIL_MAX_RATE_REPORT
  - ANVIL_MAX_COUNT_REPORT
  - STR
  - STREQ
  - anvil_remote_expire
  - anvil_remote_lookup
  - anvil_remote_conn_update
  - anvil_remote_connect
  - anvil_remote_mail
  - anvil_remote_rcpt
  - anvil_remote_auth
  - anvil_remote_newtls
  - anvil_remote_newtls_stat
  - anvil_remote_disconnect
  - anvil_service_done
  - anvil_status_dump
  - anvil_status_update
  - anvil_service
  - post_jail_init
  - post_accept
  - main
  source_file: /src/postfix/postfix/src/anvil/anvil.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: if
      pos:
        line_end: 428
        line_start: 421
        source_file: /src/postfix/postfix/src/anvil/anvil.c
      type_or_value: "((local)->anvil_remote) \\\n\t    ANVIL_REMOTE_DROP_ONE((local)->anvil_remote);
        \\\n\t(local)->anvil_remote = (remote); \\\n    } while(0)"
    - item_type: preproc_def
      name: if
      pos:
        line_end: 442
        line_start: 436
        source_file: /src/postfix/postfix/src/anvil/anvil.c
      type_or_value: "((local)->anvil_remote == (remote)) \\\n\t    (local)->anvil_remote
        = 0; \\\n    } while(0)"
    - item_type: preproc_def
      name: if
      pos:
        line_end: 451
        line_start: 445
        source_file: /src/postfix/postfix/src/anvil/anvil.c
      type_or_value: "((local)->anvil_remote) \\\n\t    anvil_remote_disconnect((stream),
        (local)->anvil_remote->ident); \\\n    } while (0)"
    structs:
    - fields:
      - name: '*ident'
        type: char
      - name: count
        type: int
      - name: rate
        type: int
      - name: mail
        type: int
      - name: rcpt
        type: int
      - name: ntls
        type: int
      - name: auth
        type: int
      - name: start
        type: time_t
      item_type: struct
      name: ANVIL_REMOTE
      pos:
        line_end: 321
        line_start: 312
        source_file: /src/postfix/postfix/src/anvil/anvil.c
    - fields:
      - name: '*anvil_remote'
        type: ANVIL_REMOTE
      item_type: struct
      name: ANVIL_LOCAL
      pos:
        line_end: 330
        line_start: 328
        source_file: /src/postfix/postfix/src/anvil/anvil.c
    - fields:
      - name: '*name'
        type: char
      - name: (*action) (VSTREAM *, const char *)
        type: void
      item_type: struct
      name: ANVIL_REQ_TABLE
      pos:
        line_end: 458
        line_start: 455
        source_file: /src/postfix/postfix/src/anvil/anvil.c
    - fields:
      - name: value
        type: int
      - name: '*ident'
        type: char
      - name: when
        type: time_t
      item_type: struct
      name: ANVIL_MAX
      pos:
        line_end: 470
        line_start: 466
        source_file: /src/postfix/postfix/src/anvil/anvil.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/xsasl/xsasl_dovecot.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XSASL_TYPE_DOVECOT
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postfix/postfix/src/xsasl/xsasl_dovecot.h
      type_or_value: '"dovecot"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - xsasl_cyrus_log
  source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_log.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - SASL_CLIENT_NEW
  - SASL_CLIENT_START
  - SASL_DECODE64
  - SASL_CLIENT_NEW
  - SASL_CLIENT_START
  - SASL_DECODE64
  - xsasl_cyrus_client_get_user
  - xsasl_cyrus_client_get_passwd
  - xsasl_cyrus_client_init
  - xsasl_cyrus_client_done
  - xsasl_cyrus_client_create
  - XSASL_CYRUS_CLIENT_CREATE_ERROR_RETURN
  - xsasl_cyrus_client_set_security
  - xsasl_cyrus_client_first
  - ENCODE64_LENGTH
  - xsasl_cyrus_client_next
  - xsasl_cyrus_client_free
  source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NULL_SECFLAGS
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
      type_or_value: '0'
    - item_type: preproc_def
      name: NULL_SERVER_ADDR
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
      type_or_value: ((char *) 0)
    - item_type: preproc_def
      name: NULL_CLIENT_ADDR
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
      type_or_value: ((char *) 0)
    - item_type: preproc_def
      name: NO_SASL_SECRET
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
      type_or_value: '0'
    - item_type: preproc_def
      name: NO_SASL_INTERACTION
      pos:
        line_end: 446
        line_start: 445
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
      type_or_value: '0'
    structs:
    - fields:
      - name: xsasl
        type: XSASL_CLIENT
      - name: '*stream'
        type: VSTREAM
      - name: '*sasl_conn'
        type: sasl_conn_t
      - name: '*decoded'
        type: VSTRING
      - name: '*callbacks'
        type: sasl_callback_t
      - name: '*username'
        type: char
      - name: '*password'
        type: char
      item_type: struct
      name: XSASL_CYRUS_CLIENT
      pos:
        line_end: 148
        line_start: 140
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
    typedefs:
    - item_type: typedef
      name: '*CLIENTOUT_TYPE'
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
      type: char
    - item_type: typedef
      name: '*CLIENTOUT_TYPE'
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_client.c
      type: char
    union: []
- function_names:
  - STR
  - SASL_SERVER_NEW
  - SASL_SERVER_START
  - SASL_SERVER_STEP
  - SASL_DECODE64
  - SASL_SERVER_NEW
  - SASL_SERVER_START
  - SASL_SERVER_STEP
  - SASL_DECODE64
  - xsasl_cyrus_server_init
  - xsasl_cyrus_server_done
  - xsasl_cyrus_server_create
  - XSASL_CYRUS_SERVER_CREATE_ERROR_RETURN
  - XSASL_CYRUS_SERVER_CREATE_RETURN
  - xsasl_cyrus_server_set_security
  - xsasl_cyrus_server_get_mechanism_list
  - xsasl_cyrus_server_free
  - xsasl_cyrus_server_auth_response
  - xsasl_cyrus_server_first
  - IFELSE
  - xsasl_cyrus_server_next
  - xsasl_cyrus_server_get_username
  source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NO_CALLBACK_CONTEXT
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
      type_or_value: '0'
    - item_type: preproc_def
      name: NO_SECURITY_LAYERS
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
      type_or_value: (0)
    - item_type: preproc_def
      name: NO_SESSION_CALLBACKS
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
      type_or_value: ((sasl_callback_t *) 0)
    - item_type: preproc_def
      name: NO_AUTH_REALM
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
      type_or_value: ((char *) 0)
    - item_type: preproc_def
      name: UNSUPPORTED_USER
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
      type_or_value: ((char *) 0)
    - item_type: preproc_def
      name: IGNORE_MECHANISM_LEN
      pos:
        line_end: 427
        line_start: 426
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
      type_or_value: ((unsigned *) 0)
    structs:
    - fields:
      - name: xsasl
        type: XSASL_SERVER
      - name: '*stream'
        type: VSTREAM
      - name: '*sasl_conn'
        type: sasl_conn_t
      - name: '*decoded'
        type: VSTRING
      - name: '*username'
        type: char
      - name: '*mechanism_list'
        type: char
      item_type: struct
      name: XSASL_CYRUS_SERVER
      pos:
        line_end: 163
        line_start: 156
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
    typedefs:
    - item_type: typedef
      name: '*MECHANISM_TYPE'
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
      type: char
    - item_type: typedef
      name: MECHANISM_COUNT_TYPE
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
      type: unsigned
    - item_type: typedef
      name: '*SERVEROUT_TYPE'
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
      type: char
    - item_type: typedef
      name: '*VOID_SERVEROUT_TYPE'
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
      type: void
    - item_type: typedef
      name: '*MECHANISM_TYPE'
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
      type: char
    - item_type: typedef
      name: MECHANISM_COUNT_TYPE
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
      type: int
    - item_type: typedef
      name: '*SERVEROUT_TYPE'
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
      type: char
    - item_type: typedef
      name: '*VOID_SERVEROUT_TYPE'
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_server.c
      type: void
    union: []
- function_names:
  - xsasl_cyrus_security_parse_opts
  source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_security.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - xsasl_client_init
  - xsasl_client_types
  source_file: /src/postfix/postfix/src/xsasl/xsasl_client.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*client_type'
        type: char
      - name: '*(*client_init) (const char *, const char *)'
        type: struct XSASL_CLIENT_IMPL
      item_type: struct
      name: XSASL_CLIENT_IMPL_INFO
      pos:
        line_end: 206
        line_start: 203
        source_file: /src/postfix/postfix/src/xsasl/xsasl_client.c
    typedefs: []
    union: []
- function_names:
  - xsasl_cyrus_strerror
  source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NO_SASL_LANGLIST
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_common.h
      type_or_value: ((const char *) 0)
    - item_type: preproc_def
      name: NO_SASL_OUTLANG
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus_common.h
      type_or_value: ((const char **) 0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XSASL_TYPE_CYRUS
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus.h
      type_or_value: '"cyrus"'
    structs: []
    typedefs:
    - item_type: typedef
      name: (*XSASL_CYRUS_CB) (void)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/postfix/postfix/src/xsasl/xsasl_cyrus.h
      type: int
    union: []
- function_names:
  - xsasl_dovecot_server_mech_append
  - xsasl_dovecot_server_mech_free
  - xsasl_dovecot_server_mech_filter
  - xsasl_dovecot_server_connect
  - xsasl_dovecot_server_disconnect
  - xsasl_dovecot_server_init
  - xsasl_dovecot_server_done
  - xsasl_dovecot_server_create
  - xsasl_dovecot_server_get_mechanism_list
  - xsasl_dovecot_server_free
  - xsasl_dovecot_parse_reply
  - xsasl_dovecot_parse_reply_args
  - xsasl_dovecot_handle_reply
  - is_valid_base64
  - xsasl_dovecot_server_first
  - IFELSE
  - xsasl_dovecot_server_next
  - xsasl_dovecot_server_get_username
  source_file: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AUTH_PROTOCOL_MAJOR_VERSION
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
      type_or_value: '1'
    - item_type: preproc_def
      name: AUTH_PROTOCOL_MINOR_VERSION
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
      type_or_value: '0'
    - item_type: preproc_def
      name: AUTH_TIMEOUT
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
      type_or_value: '10'
    - item_type: preproc_def
      name: SEC_PROPS_NOPLAINTEXT
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: SEC_PROPS_NOACTIVE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: SEC_PROPS_NODICTIONARY
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: SEC_PROPS_NOANONYMOUS
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: SEC_PROPS_FWD_SECRECY
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: SEC_PROPS_MUTUAL_AUTH
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: SEC_PROPS_PRIVATE
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: SEC_PROPS_POS_MASK
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
      type_or_value: (SEC_PROPS_MUTUAL_AUTH | SEC_PROPS_FWD_SECRECY)
    - item_type: preproc_def
      name: SEC_PROPS_NEG_MASK
      pos:
        line_end: 110
        line_start: 108
        source_file: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
      type_or_value: "(SEC_PROPS_NOPLAINTEXT | SEC_PROPS_NOACTIVE | \\\n\t\t\t\tSEC_PROPS_NODICTIONARY
        | SEC_PROPS_NOANONYMOUS)"
    structs:
    - fields:
      - name: '*mech_name'
        type: char
      - name: sec_props
        type: int
      - name: '*next'
        type: struct XSASL_DCSRV_MECH
      item_type: struct
      name: XSASL_DCSRV_MECH
      pos:
        line_end: 146
        line_start: 142
        source_file: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
    - fields:
      - name: xsasl
        type: XSASL_SERVER_IMPL
      - name: '*sasl_stream'
        type: VSTREAM
      - name: '*socket_path'
        type: char
      - name: '*mechanism_list'
        type: XSASL_DCSRV_MECH
      - name: request_id_counter
        type: unsigned int
      item_type: struct
      name: XSASL_DOVECOT_SERVER_IMPL
      pos:
        line_end: 154
        line_start: 148
        source_file: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
    - fields:
      - name: xsasl
        type: XSASL_SERVER
      - name: '*impl'
        type: XSASL_DOVECOT_SERVER_IMPL
      - name: last_request_id
        type: unsigned int
      - name: '*service'
        type: char
      - name: '*username'
        type: char
      - name: '*sasl_line'
        type: VSTRING
      - name: sec_props
        type: unsigned int
      - name: tls_flag
        type: int
      - name: '*mechanism_list'
        type: char
      - name: '*mechanism_argv'
        type: ARGV
      - name: '*client_addr'
        type: char
      - name: '*server_addr'
        type: char
      item_type: struct
      name: XSASL_DOVECOT_SERVER
      pos:
        line_end: 173
        line_start: 160
        source_file: /src/postfix/postfix/src/xsasl/xsasl_dovecot_server.c
    typedefs: []
    union: []
- function_names:
  - xsasl_server_free
  - xsasl_server_first
  - xsasl_server_next
  - xsasl_server_get_mechanism_list
  - xsasl_server_get_username
  - xsasl_server_create
  - XSASL_SERVER_CREATE
  - xsasl_server_done
  - xsasl_client_free
  - xsasl_client_first
  - xsasl_client_next
  - xsasl_client_set_password
  - xsasl_client_create
  - XSASL_CLIENT_CREATE
  - xsasl_client_done
  source_file: /src/postfix/postfix/src/xsasl/xsasl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XSASL_AUTH_OK
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/postfix/postfix/src/xsasl/xsasl.h
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: XSASL_AUTH_MORE
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/postfix/postfix/src/xsasl/xsasl.h
      type_or_value: "2\t\t"
    - item_type: preproc_def
      name: XSASL_AUTH_DONE
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/postfix/postfix/src/xsasl/xsasl.h
      type_or_value: "3\t\t"
    - item_type: preproc_def
      name: XSASL_AUTH_FORM
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/postfix/postfix/src/xsasl/xsasl.h
      type_or_value: "4\t\t"
    - item_type: preproc_def
      name: XSASL_AUTH_FAIL
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/postfix/postfix/src/xsasl/xsasl.h
      type_or_value: "5\t\t"
    - item_type: preproc_def
      name: XSASL_AUTH_TEMP
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/postfix/postfix/src/xsasl/xsasl.h
      type_or_value: "6\t\t"
    structs:
    - fields:
      - name: (*free) (struct XSASL_SERVER *)
        type: void
      - name: (*first) (struct XSASL_SERVER *, const char *, const char *, VSTRING
          *)
        type: int
      - name: (*next) (struct XSASL_SERVER *, const char *, VSTRING *)
        type: int
      - name: '*(*get_mechanism_list) (struct XSASL_SERVER *)'
        type: char
      - name: '*(*get_username) (struct XSASL_SERVER *)'
        type: char
      item_type: struct
      name: XSASL_SERVER
      pos:
        line_end: 30
        line_start: 24
        source_file: /src/postfix/postfix/src/xsasl/xsasl.h
    - fields:
      - name: '*stream'
        type: VSTREAM
      - name: addr_family
        type: int
      - name: '*server_addr'
        type: char
      - name: '*server_port'
        type: char
      - name: '*client_addr'
        type: char
      - name: '*client_port'
        type: char
      - name: '*service'
        type: char
      - name: '*user_realm'
        type: char
      - name: '*security_options'
        type: char
      - name: tls_flag
        type: int
      item_type: struct
      name: XSASL_SERVER_CREATE_ARGS
      pos:
        line_end: 57
        line_start: 46
        source_file: /src/postfix/postfix/src/xsasl/xsasl.h
    - fields:
      - name: '*(*create) (struct XSASL_SERVER_IMPL *, XSASL_SERVER_CREATE_ARGS *)'
        type: XSASL_SERVER
      - name: (*done) (struct XSASL_SERVER_IMPL *)
        type: void
      item_type: struct
      name: XSASL_SERVER_IMPL
      pos:
        line_end: 62
        line_start: 59
        source_file: /src/postfix/postfix/src/xsasl/xsasl.h
    - fields:
      - name: (*free) (struct XSASL_CLIENT *)
        type: void
      - name: (*first) (struct XSASL_CLIENT *, const char *, const char *, const char
          *, const char **, VSTRING *)
        type: int
      - name: (*next) (struct XSASL_CLIENT *, const char *, VSTRING *)
        type: int
      item_type: struct
      name: XSASL_CLIENT
      pos:
        line_end: 83
        line_start: 79
        source_file: /src/postfix/postfix/src/xsasl/xsasl.h
    - fields:
      - name: '*stream'
        type: VSTREAM
      - name: '*service'
        type: char
      - name: '*server_name'
        type: char
      - name: '*security_options'
        type: char
      item_type: struct
      name: XSASL_CLIENT_CREATE_ARGS
      pos:
        line_end: 102
        line_start: 97
        source_file: /src/postfix/postfix/src/xsasl/xsasl.h
    - fields:
      - name: '*(*create) (struct XSASL_CLIENT_IMPL *, XSASL_CLIENT_CREATE_ARGS *)'
        type: XSASL_CLIENT
      - name: (*done) (struct XSASL_CLIENT_IMPL *)
        type: void
      item_type: struct
      name: XSASL_CLIENT_IMPL
      pos:
        line_end: 107
        line_start: 104
        source_file: /src/postfix/postfix/src/xsasl/xsasl.h
    typedefs: []
    union: []
- function_names:
  - xsasl_server_init
  - xsasl_server_types
  source_file: /src/postfix/postfix/src/xsasl/xsasl_server.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*server_type'
        type: char
      - name: '*(*server_init) (const char *, const char *)'
        type: struct XSASL_SERVER_IMPL
      item_type: struct
      name: XSASL_SERVER_IMPL_INFO
      pos:
        line_end: 240
        line_start: 237
        source_file: /src/postfix/postfix/src/xsasl/xsasl_server.c
    typedefs: []
    union: []
- function_names:
  - EDIT_CMD_CODE
  - EDIT_CMD_STR
  - HAS_NAME_PREFIX
  - NEED_NAME_PREFIX
  - NAME_SUFFIX
  - RING_TO_INSTANCE
  - RING_PTR_OF
  - FOREACH_INSTANCE
  - FOREACH_SECONDARY_INSTANCE
  - NEXT_ITERATOR_INSTANCE
  - FOREACH_ITERATOR_INSTANCE
  - IS_CLAIMED_BY
  - INSTANCE_NAME
  - STR
  - register_claim
  - claim_instance_attributes
  - alloc_instance
  - free_instance
  - insert_instance
  - append_instance
  - FOREACH_SECONDARY_INSTANCE
  - create_primary_instance
  - SAVE_INSTANCE_NAME
  - load_instance
  - load_all_instances
  - match_instance_selection
  - check_setenv
  - prepend_command_path
  - check_shared_dir_status
  - check_safe_name
  - check_name_assignments
  - do_name_assignments
  - make_private_path
  - assign_new_parameter
  - assign_new_parameters
  - export_helper_environment
  - FOREACH_SECONDARY_INSTANCE
  - install_new_instance
  - update_instance
  - select_existing_instance
  - FOREACH_INSTANCE
  - manage
  - run_user_command
  - word_in_list
  - iterate_postfix_command
  - list_instances
  - FOREACH_ITERATOR_INSTANCE
  - iterate_command
  - FOREACH_ITERATOR_INSTANCE
  - iterate
  - usage
  - main
  source_file: /src/postfix/postfix/src/postmulti/postmulti.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ITER_CMD_POSTFIX
      pos:
        line_end: 496
        line_start: 495
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: ITER_CMD_LIST
      pos:
        line_end: 497
        line_start: 496
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: ITER_CMD_GENERIC
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: ITER_CMD_MASK_ALL
      pos:
        line_end: 501
        line_start: 499
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: (ITER_CMD_POSTFIX | ITER_CMD_LIST | ITER_CMD_GENERIC)
    - item_type: preproc_def
      name: EDIT_CMD_CREATE
      pos:
        line_end: 503
        line_start: 502
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: "(1<<4)\t"
    - item_type: preproc_def
      name: EDIT_CMD_IMPORT
      pos:
        line_end: 504
        line_start: 503
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: "(1<<5)\t"
    - item_type: preproc_def
      name: EDIT_CMD_DESTROY
      pos:
        line_end: 505
        line_start: 504
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: "(1<<6)\t"
    - item_type: preproc_def
      name: EDIT_CMD_DEPORT
      pos:
        line_end: 506
        line_start: 505
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: "(1<<7)\t"
    - item_type: preproc_def
      name: EDIT_CMD_ENABLE
      pos:
        line_end: 507
        line_start: 506
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: "(1<<8)\t"
    - item_type: preproc_def
      name: EDIT_CMD_DISABLE
      pos:
        line_end: 508
        line_start: 507
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: "(1<<9)\t"
    - item_type: preproc_def
      name: EDIT_CMD_ASSIGN
      pos:
        line_end: 509
        line_start: 508
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: "(1<<10)\t"
    - item_type: preproc_def
      name: EDIT_CMD_INIT
      pos:
        line_end: 510
        line_start: 509
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: "(1<<11)\t"
    - item_type: preproc_def
      name: EDIT_CMD_MASK_ADD
      pos:
        line_end: 512
        line_start: 511
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: (EDIT_CMD_CREATE | EDIT_CMD_IMPORT)
    - item_type: preproc_def
      name: EDIT_CMD_MASK_DEL
      pos:
        line_end: 513
        line_start: 512
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: (EDIT_CMD_DESTROY | EDIT_CMD_DEPORT)
    - item_type: preproc_def
      name: EDIT_CMD_MASK_ASSIGN
      pos:
        line_end: 514
        line_start: 513
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: (EDIT_CMD_MASK_ADD | EDIT_CMD_ASSIGN)
    - item_type: preproc_def
      name: EDIT_CMD_MASK_ENB
      pos:
        line_end: 515
        line_start: 514
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: (EDIT_CMD_ENABLE | EDIT_CMD_DISABLE)
    - item_type: preproc_def
      name: EDIT_CMD_MASK_ALL
      pos:
        line_end: 518
        line_start: 515
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: "(EDIT_CMD_MASK_ASSIGN | EDIT_CMD_MASK_DEL | EDIT_CMD_MASK_ENB
        | \\\n\tEDIT_CMD_INIT)"
    - item_type: preproc_def
      name: NAME_PREFIX
      pos:
        line_end: 543
        line_start: 542
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: '"postfix-"'
    - item_type: preproc_def
      name: INST_SEL_NONE
      pos:
        line_end: 597
        line_start: 596
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: INST_SEL_ALL
      pos:
        line_end: 598
        line_start: 597
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: INST_SEL_NAME
      pos:
        line_end: 599
        line_start: 598
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: INST_SEL_GROUP
      pos:
        line_end: 600
        line_start: 599
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: ITER_FLAG_DEFAULT
      pos:
        line_end: 618
        line_start: 617
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: ITER_FLAG_REVERSE
      pos:
        line_end: 619
        line_start: 618
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: ITER_FLAG_CHECK_DISABLED
      pos:
        line_end: 620
        line_start: 619
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: ITER_FLAG_SKIP_DISABLED
      pos:
        line_end: 621
        line_start: 620
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: EXP_FLAG_MULTI_DIRS
      pos:
        line_end: 627
        line_start: 626
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: EXP_FLAG_MULTI_NAME
      pos:
        line_end: 628
        line_start: 627
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: EXP_FLAG_MULTI_GROUP
      pos:
        line_end: 629
        line_start: 628
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: REQUEST_PARAM_COUNT
      pos:
        line_end: 822
        line_start: 821
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: "5\t\t\t"
    - item_type: preproc_def
      name: CLOBBER
      pos:
        line_end: 955
        line_start: 954
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SAFE_PUNCT
      pos:
        line_end: 1008
        line_start: 1007
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: '"!@%-_=+:./"'
    - item_type: preproc_def
      name: DONT_UNLINK
      pos:
        line_end: 1341
        line_start: 1340
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DO_UNLINK
      pos:
        line_end: 1342
        line_start: 1341
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: '1'
    - item_type: preproc_def
      name: NO_EXPORT_FLAGS
      pos:
        line_end: 1385
        line_start: 1384
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: ((int *) 0)
    - item_type: preproc_def
      name: HELPER
      pos:
        line_end: 1426
        line_start: 1425
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: '"postmulti-script"'
    - item_type: preproc_def
      name: POSTFIX_CMD
      pos:
        line_end: 1533
        line_start: 1532
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
      type_or_value: '"postfix"'
    structs:
    - fields:
      - name: '*param_name'
        type: char
      - name: '**param_value'
        type: char
      item_type: struct
      name: SHARED_PATH
      pos:
        line_end: 482
        line_start: 479
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
    - fields:
      - name: ring
        type: RING
      - name: '*config_dir'
        type: char
      - name: '*queue_dir'
        type: char
      - name: '*data_dir'
        type: char
      - name: '*name'
        type: char
      - name: '*gname'
        type: char
      - name: enabled
        type: int
      - name: primary
        type: int
      item_type: struct
      name: instance
      pos:
        line_end: 562
        line_start: 553
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
    - fields:
      - name: type
        type: int
      - name: '*name'
        type: char
      item_type: struct
      name: INST_SELECTION
      pos:
        line_end: 594
        line_start: 591
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
    - fields:
      - name: '*name'
        type: char
      - name: '*gname'
        type: char
      item_type: struct
      name: NAME_ASSIGNMENT
      pos:
        line_end: 611
        line_start: 608
        source_file: /src/postfix/postfix/src/postmulti/postmulti.c
    typedefs: []
    union: []
- function_names:
  - check_setenv
  - main
  source_file: /src/postfix/postfix/src/postfix/postfix.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CLOBBER
      pos:
        line_end: 464
        line_start: 463
        source_file: /src/postfix/postfix/src/postfix/postfix.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - STREQ
  - flush_site_to_path
  - flush_add_service
  - flush_add_path
  - flush_send_service
  - flush_one_file
  - flush_send_path
  - flush_send_file_service
  - flush_refresh_service
  - flush_request_receive
  - flush_service
  - pre_jail_init
  - main
  source_file: /src/postfix/postfix/src/flush/flush.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FLUSH_DUP_FILTER_SIZE
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/postfix/postfix/src/flush/flush.c
      type_or_value: "10000\t"
    - item_type: preproc_def
      name: REFRESH_ONLY
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/postfix/postfix/src/flush/flush.c
      type_or_value: '0'
    - item_type: preproc_def
      name: UNTHROTTLE_BEFORE
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/postfix/postfix/src/flush/flush.c
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: UNTHROTTLE_AFTER
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/postfix/postfix/src/flush/flush.c
      type_or_value: (1<<1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - tlsp_drain
  - tlsp_eval_tls_error
  - TLSP_CAN_TRICKLE_OUT_PLAINTEXT
  - tlsp_post_handshake
  - tlsp_strategy
  - tlsp_plaintext_event
  - tlsp_ciphertext_event
  - tlsp_client_start_pre_handshake
  - tlsp_server_start_pre_handshake
  - ADD_EXCLUDE
  - tlsp_request_read_event
  - tlsp_accept_event
  - tlsp_get_fd_event
  - tlsp_log_config_diff
  - tlsp_client_init
  - TLSP_CLIENT_INIT_RETURN
  - NOT_EMPTY
  - tlsp_close_event
  - tlsp_get_request_event
  - tlsp_service
  - pre_jail_init_server
  - pre_jail_init_client
  - pre_jail_init
  - main
  - tlsp_service
  - main
  source_file: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TLSP_STAT_OK
      pos:
        line_end: 565
        line_start: 564
        source_file: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TLSP_STAT_ERR
      pos:
        line_end: 566
        line_start: 565
        source_file: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
      type_or_value: (-1)
    - item_type: preproc_def
      name: TLSP_INIT_TIMEOUT
      pos:
        line_end: 612
        line_start: 611
        source_file: /src/postfix/postfix/src/tlsproxy/tlsproxy.c
      type_or_value: '100'
    structs: []
    typedefs: []
    union: []
- function_names:
  - tlsp_state_create
  - tlsp_state_free
  source_file: /src/postfix/postfix/src/tlsproxy/tlsproxy_state.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/tlsproxy/tlsproxy.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TLSP_FLAG_DO_HANDSHAKE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/postfix/postfix/src/tlsproxy/tlsproxy.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: TLSP_FLAG_NO_MORE_CIPHERTEXT_IO
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/postfix/postfix/src/tlsproxy/tlsproxy.h
      type_or_value: "(1<<1)\t"
    structs:
    - fields:
      - name: flags
        type: int
      - name: req_flags
        type: int
      - name: is_server_role
        type: int
      - name: '*service'
        type: char
      - name: '*plaintext_stream'
        type: VSTREAM
      - name: '*plaintext_buf'
        type: NBBIO
      - name: ciphertext_fd
        type: int
      - name: ciphertext_timer
        type: EVENT_NOTIFY_FN
      - name: timeout
        type: int
      - name: handshake_timeout
        type: int
      - name: session_timeout
        type: int
      - name: '*remote_endpt'
        type: char
      - name: '*server_id'
        type: char
      - name: '*appl_state'
        type: TLS_APPL_STATE
      - name: '*tls_context'
        type: TLS_SESS_STATE
      - name: ssl_last_err
        type: int
      - name: '*tls_params'
        type: TLS_CLIENT_PARAMS
      - name: '*server_init_props'
        type: TLS_SERVER_INIT_PROPS
      - name: '*server_start_props'
        type: TLS_SERVER_START_PROPS
      - name: '*client_init_props'
        type: TLS_CLIENT_INIT_PROPS
      - name: '*client_start_props'
        type: TLS_CLIENT_START_PROPS
      item_type: struct
      name: TLSP_STATE
      pos:
        line_end: 46
        line_start: 24
        source_file: /src/postfix/postfix/src/tlsproxy/tlsproxy.h
    typedefs: []
    union: []
- function_names:
  - deliver_maildir
  source_file: /src/postfix/postfix/src/virtual/maildir.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - deliver_mailbox_file
  - deliver_mailbox
  - RETURN
  - LAST_CHAR
  source_file: /src/postfix/postfix/src/virtual/mailbox.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: 'YES'
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/postfix/postfix/src/virtual/mailbox.c
      type_or_value: '1'
    - item_type: preproc_def
      name: 'NO'
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/postfix/postfix/src/virtual/mailbox.c
      type_or_value: '0'
    - item_type: preproc_def
      name: IGNORE_EXTENSION
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/postfix/postfix/src/virtual/mailbox.c
      type_or_value: ((char **) 0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - deliver_attr_init
  - deliver_attr_dump
  - deliver_attr_free
  source_file: /src/postfix/postfix/src/virtual/deliver_attr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - deliver_unknown
  source_file: /src/postfix/postfix/src/virtual/unknown.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - deliver_recipient
  source_file: /src/postfix/postfix/src/virtual/recipient.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RESET_USER_ATTR
  - BOUNCE_FLAGS
  - BOUNCE_ATTR
  - SENT_ATTR
  - COPY_ATTR
  - MSG_LOG_STATE
  - STR
  source_file: /src/postfix/postfix/src/virtual/virtual.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FEATURE_NODELIVERED
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/postfix/postfix/src/virtual/virtual.h
      type_or_value: "(1<<0)\t"
    structs:
    - fields:
      - name: uid
        type: uid_t
      - name: gid
        type: gid_t
      - name: '*mailbox'
        type: char
      item_type: struct
      name: USER_ATTR
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/postfix/postfix/src/virtual/virtual.h
    - fields:
      - name: level
        type: int
      - name: '*fp'
        type: VSTREAM
      - name: '*queue_name'
        type: char
      - name: '*queue_id'
        type: char
      - name: offset
        type: long
      - name: '*sender'
        type: char
      - name: '*dsn_envid'
        type: char
      - name: dsn_ret
        type: int
      - name: rcpt
        type: RECIPIENT
      - name: '*user'
        type: char
      - name: '*delivered'
        type: char
      - name: '*relay'
        type: char
      - name: msg_stats
        type: MSG_STATS
      - name: '*why'
        type: DSN_BUF
      item_type: struct
      name: DELIVER_ATTR
      pos:
        line_end: 78
        line_start: 63
        source_file: /src/postfix/postfix/src/virtual/virtual.h
    - fields:
      - name: level
        type: int
      - name: msg_attr
        type: DELIVER_ATTR
      - name: '*request'
        type: DELIVER_REQUEST
      item_type: struct
      name: LOCAL_STATE
      pos:
        line_end: 95
        line_start: 91
        source_file: /src/postfix/postfix/src/virtual/virtual.h
    typedefs: []
    union: []
- function_names:
  - local_deliver
  - local_service
  - pre_accept
  - post_init
  - pre_init
  - main
  source_file: /src/postfix/postfix/src/virtual/virtual.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tls_session_stop
  - tls_session_passivate
  - tls_session_activate
  source_file: /src/postfix/postfix/src/tls/tls_session.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/postfix/postfix/src/tls/tls_session.c
      type_or_value: vstring_str
    structs: []
    typedefs: []
    union: []
- function_names:
  - tls_proxy_client_param_from_config
  - tls_proxy_client_param_serialize
  - tls_proxy_client_init_serialize
  source_file: /src/postfix/postfix/src/tls/tls_proxy_client_misc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tls_proxy_server_init_scan
  - tls_proxy_server_init_free
  - tls_proxy_server_start_scan
  - tls_proxy_server_start_free
  source_file: /src/postfix/postfix/src/tls/tls_proxy_server_scan.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - tls_proxy_client_param_free
  - tls_proxy_client_param_scan
  - tls_proxy_client_init_free
  - tls_proxy_client_init_scan
  - tls_proxy_client_start_free
  - tls_proxy_client_tlsa_scan
  - tls_proxy_client_dane_scan
  - EXPORT_OR_NULL
  - tls_proxy_client_tlsrpt_scan
  - tls_proxy_client_start_scan
  source_file: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXPECT_START_SCAN_RETURN
      pos:
        line_end: 539
        line_start: 538
        source_file: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c
      type_or_value: '17'
    - item_type: preproc_def
      name: EXPECT_START_SCAN_RETURN
      pos:
        line_end: 541
        line_start: 540
        source_file: /src/postfix/postfix/src/tls/tls_proxy_client_scan.c
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/tls/tls_scache.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TLS_TICKET_NAMELEN
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postfix/postfix/src/tls/tls_scache.h
      type_or_value: "16\t"
    - item_type: preproc_def
      name: TLS_TICKET_IVLEN
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postfix/postfix/src/tls/tls_scache.h
      type_or_value: "16\t"
    - item_type: preproc_def
      name: TLS_TICKET_KEYLEN
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/tls/tls_scache.h
      type_or_value: "32\t"
    - item_type: preproc_def
      name: TLS_TICKET_MACLEN
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/src/tls/tls_scache.h
      type_or_value: "32\t"
    - item_type: preproc_def
      name: TLS_SESSION_LIFEMIN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/tls/tls_scache.h
      type_or_value: "120\t"
    - item_type: preproc_def
      name: TLS_SCACHE_FLAG_DEL_SAVED_CURSOR
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/tls/tls_scache.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: TLS_SCACHE_DONT_NEED_CACHE_ID
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/postfix/postfix/src/tls/tls_scache.h
      type_or_value: ((char **) 0)
    - item_type: preproc_def
      name: TLS_SCACHE_DONT_NEED_SESSION
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/postfix/postfix/src/tls/tls_scache.h
      type_or_value: ((VSTRING *) 0)
    - item_type: preproc_def
      name: TLS_SCACHE_SEQUENCE_NOTHING
      pos:
        line_end: 60
        line_start: 58
        source_file: /src/postfix/postfix/src/tls/tls_scache.h
      type_or_value: TLS_SCACHE_DONT_NEED_CACHE_ID, TLS_SCACHE_DONT_NEED_SESSION
    structs:
    - fields:
      - name: flags
        type: int
      - name: '*db'
        type: DICT
      - name: '*cache_label'
        type: char
      - name: verbose
        type: int
      - name: timeout
        type: int
      - name: '*saved_cursor'
        type: char
      item_type: struct
      name: TLS_SCACHE
      pos:
        line_end: 29
        line_start: 22
        source_file: /src/postfix/postfix/src/tls/tls_scache.h
    - fields:
      - name: name[TLS_TICKET_NAMELEN]
        type: unsigned char
      - name: bits[TLS_TICKET_KEYLEN]
        type: unsigned char
      - name: hmac[TLS_TICKET_MACLEN]
        type: unsigned char
      - name: tout
        type: time_t
      item_type: struct
      name: TLS_TICKET_KEY
      pos:
        line_end: 42
        line_start: 37
        source_file: /src/postfix/postfix/src/tls/tls_scache.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/tls/tls_mgr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TLS_MGR_SERVICE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/tls/tls_mgr.h
      type_or_value: '"tlsmgr"'
    - item_type: preproc_def
      name: TLS_MGR_CLASS
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/tls/tls_mgr.h
      type_or_value: '"private"'
    - item_type: preproc_def
      name: TLS_MGR_ATTR_REQ
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/postfix/postfix/src/tls/tls_mgr.h
      type_or_value: '"request"'
    - item_type: preproc_def
      name: TLS_MGR_REQ_SEED
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postfix/postfix/src/tls/tls_mgr.h
      type_or_value: '"seed"'
    - item_type: preproc_def
      name: TLS_MGR_REQ_POLICY
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/tls/tls_mgr.h
      type_or_value: '"policy"'
    - item_type: preproc_def
      name: TLS_MGR_REQ_LOOKUP
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/tls/tls_mgr.h
      type_or_value: '"lookup"'
    - item_type: preproc_def
      name: TLS_MGR_REQ_UPDATE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/tls/tls_mgr.h
      type_or_value: '"update"'
    - item_type: preproc_def
      name: TLS_MGR_REQ_DELETE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postfix/postfix/src/tls/tls_mgr.h
      type_or_value: '"delete"'
    - item_type: preproc_def
      name: TLS_MGR_REQ_TKTKEY
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/tls/tls_mgr.h
      type_or_value: '"tktkey"'
    - item_type: preproc_def
      name: TLS_MGR_ATTR_CACHABLE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postfix/postfix/src/tls/tls_mgr.h
      type_or_value: '"cachable"'
    - item_type: preproc_def
      name: TLS_MGR_ATTR_CACHE_TYPE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postfix/postfix/src/tls/tls_mgr.h
      type_or_value: '"cache_type"'
    - item_type: preproc_def
      name: TLS_MGR_ATTR_SEED
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/tls/tls_mgr.h
      type_or_value: '"seed"'
    - item_type: preproc_def
      name: TLS_MGR_ATTR_CACHE_ID
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/src/tls/tls_mgr.h
      type_or_value: '"cache_id"'
    - item_type: preproc_def
      name: TLS_MGR_ATTR_SESSION
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/tls/tls_mgr.h
      type_or_value: '"session"'
    - item_type: preproc_def
      name: TLS_MGR_ATTR_SIZE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postfix/postfix/src/tls/tls_mgr.h
      type_or_value: '"size"'
    - item_type: preproc_def
      name: TLS_MGR_ATTR_STATUS
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/tls/tls_mgr.h
      type_or_value: '"status"'
    - item_type: preproc_def
      name: TLS_MGR_ATTR_KEYNAME
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postfix/postfix/src/tls/tls_mgr.h
      type_or_value: '"keyname"'
    - item_type: preproc_def
      name: TLS_MGR_ATTR_KEYBUF
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postfix/postfix/src/tls/tls_mgr.h
      type_or_value: '"keybuf"'
    - item_type: preproc_def
      name: TLS_MGR_ATTR_SESSTOUT
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postfix/postfix/src/tls/tls_mgr.h
      type_or_value: '"timeout"'
    - item_type: preproc_def
      name: TLS_MGR_STAT_OK
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/tls/tls_mgr.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: TLS_MGR_STAT_ERR
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/tls/tls_mgr.h
      type_or_value: "(-1)\t"
    - item_type: preproc_def
      name: TLS_MGR_STAT_FAIL
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postfix/postfix/src/tls/tls_mgr.h
      type_or_value: "(-2)\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - GET_SID
  - get_server_session_cb
  - GEN_CACHE_ID
  - uncache_session
  - new_server_session_cb
  - ticket_cb
  - ticket_cb
  - tls_server_init
  - tls_server_start
  - tls_server_post_accept
  source_file: /src/postfix/postfix/src/tls/tls_server.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NOENGINE
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/postfix/postfix/src/tls/tls_server.c
      type_or_value: ((ENGINE *) 0)
    - item_type: preproc_def
      name: TLS_TKT_NOKEYS
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/postfix/postfix/src/tls/tls_server.c
      type_or_value: "-1\t\t"
    - item_type: preproc_def
      name: TLS_TKT_STALE
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/postfix/postfix/src/tls/tls_server.c
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: TLS_TKT_ACCEPT
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/postfix/postfix/src/tls/tls_server.c
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: TLS_TKT_REISSUE
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/postfix/postfix/src/tls/tls_server.c
      type_or_value: "2\t\t"
    structs: []
    typedefs:
    - item_type: typedef
      name: '*session_id_t'
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/postfix/postfix/src/tls/tls_server.c
      type: unsigned char
    union: []
- function_names:
  - STR
  - tls_dane_loglevel
  - tls_dane_avail
  - tls_dane_alloc
  - tls_tlsa_free
  - tls_dane_free
  - tlsa_prepend
  - tlsa_info
  - tlsa_carp
  - tls_dane_flush
  - dane_free
  - tls_dane_add_fpt_digests
  - USTR_LEN
  - parse_tlsa_rr
  - dane_lookup
  - resolve_host
  - qname_secure
  - tls_dane_resolve
  - tls_dane_load_trustfile
  - tls_dane_enable
  - tls_dane_digest_init
  - tls_dane_log
  - verify_chain
  - load_tlsa_args
  - load_chain
  - usage
  - ctx_init
  - main
  source_file: /src/postfix/postfix/src/tls/tls_dane.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CACHE_SIZE
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/postfix/postfix/src/tls/tls_dane.c
      type_or_value: '20'
    - item_type: preproc_def
      name: MAX_HEAD_BYTES
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/postfix/postfix/src/tls/tls_dane.c
      type_or_value: '32'
    - item_type: preproc_def
      name: MAX_TAIL_BYTES
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/postfix/postfix/src/tls/tls_dane.c
      type_or_value: '32'
    - item_type: preproc_def
      name: MAX_DUMP_BYTES
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/postfix/postfix/src/tls/tls_dane.c
      type_or_value: (MAX_HEAD_BYTES + MAX_TAIL_BYTES)
    structs:
    - fields:
      - name: '*alg'
        type: EVP_MD
      - name: ord
        type: uint8_t
      item_type: struct
      name: dane_mtype
      pos:
        line_end: 258
        line_start: 255
        source_file: /src/postfix/postfix/src/tls/tls_dane.c
    typedefs:
    - item_type: typedef
      name: '*(*d2i_X509_t) (X509 **, const unsigned char **, long)'
      pos:
        line_end: 1200
        line_start: 1200
        source_file: /src/postfix/postfix/src/tls/tls_dane.c
    union: []
- function_names:
  - tls_int_seed
  - tls_ext_seed
  source_file: /src/postfix/postfix/src/tls/tls_seed.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pid
        type: pid_t
      - name: tv
        type: struct timeval
      item_type: struct
      name: randseed
      pos:
        line_end: 65
        line_start: 62
        source_file: /src/postfix/postfix/src/tls/tls_seed.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/tls/tls_prng.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: fd
        type: int
      - name: '*name'
        type: char
      - name: timeout
        type: int
      item_type: struct
      name: TLS_PRNG_SRC
      pos:
        line_end: 20
        line_start: 16
        source_file: /src/postfix/postfix/src/tls/tls_prng.h
    typedefs: []
    union: []
- function_names:
  - tls_prng_egd_open
  - tls_prng_egd_read
  - tls_prng_egd_close
  source_file: /src/postfix/postfix/src/tls/tls_prng_egd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UCHAR_MAX
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/postfix/postfix/src/tls/tls_prng_egd.c
      type_or_value: '0xff'
    structs: []
    typedefs: []
    union: []
- function_names:
  - NAMEBUG
  - NAME_SSL_OP
  - tls_log_mask
  - tls_update_app_logmask
  - parse_tls_version
  - tls_proto_mask_lims
  - FREE_AND_RETURN
  - tls_param_init
  - tls_library_init
  - TLS_LIB_INIT_RETURN
  - tls_pre_jail_init
  - server_sni_callback
  - tls_set_ciphers
  - ec_curve_name
  - tls_get_signature_params
  - SIG_PROP
  - tls_log_summary
  - tls_alloc_app_context
  - tls_free_app_context
  - tls_alloc_sess_context
  - tls_free_context
  - tls_version_split
  - tls_check_version
  - tls_compile_version
  - tls_run_version
  - tls_pkey_algorithms
  - tls_bug_bits
  - tls_print_errors
  - ERRGET
  - ERRGET
  - tls_info_callback
  - tls_dump_buffer
  - tls_bio_dump_cb
  - tls_bio_dump_cb
  - tls_validate_digest
  - tls_enable_client_rpk
  - tls_enable_server_rpk
  source_file: /src/postfix/postfix/src/tls/tls_misc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SSL_OP_SINGLE_DH_USE
      pos:
        line_end: 505
        line_start: 504
        source_file: /src/postfix/postfix/src/tls/tls_misc.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SSL_OP_SINGLE_ECDH_USE
      pos:
        line_end: 508
        line_start: 507
        source_file: /src/postfix/postfix/src/tls/tls_misc.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TLS_LOG_0
      pos:
        line_end: 527
        line_start: 526
        source_file: /src/postfix/postfix/src/tls/tls_misc.c
      type_or_value: TLS_LOG_NONE
    - item_type: preproc_def
      name: TLS_LOG_1
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/postfix/postfix/src/tls/tls_misc.c
      type_or_value: TLS_LOG_SUMMARY
    - item_type: preproc_def
      name: TLS_LOG_2
      pos:
        line_end: 529
        line_start: 528
        source_file: /src/postfix/postfix/src/tls/tls_misc.c
      type_or_value: (TLS_LOG_1 | TLS_LOG_VERBOSE | TLS_LOG_CACHE | TLS_LOG_DEBUG)
    - item_type: preproc_def
      name: TLS_LOG_3
      pos:
        line_end: 530
        line_start: 529
        source_file: /src/postfix/postfix/src/tls/tls_misc.c
      type_or_value: (TLS_LOG_2 | TLS_LOG_TLSPKTS)
    - item_type: preproc_def
      name: TLS_LOG_4
      pos:
        line_end: 531
        line_start: 530
        source_file: /src/postfix/postfix/src/tls/tls_misc.c
      type_or_value: (TLS_LOG_3 | TLS_LOG_ALLPKTS)
    - item_type: preproc_def
      name: TLS_LIB_INIT_TODO
      pos:
        line_end: 720
        line_start: 719
        source_file: /src/postfix/postfix/src/tls/tls_misc.c
      type_or_value: (-1)
    - item_type: preproc_def
      name: TLS_LIB_INIT_ERR
      pos:
        line_end: 721
        line_start: 720
        source_file: /src/postfix/postfix/src/tls/tls_misc.c
      type_or_value: (0)
    - item_type: preproc_def
      name: TLS_LIB_INIT_OK
      pos:
        line_end: 722
        line_start: 721
        source_file: /src/postfix/postfix/src/tls/tls_misc.c
      type_or_value: (1)
    - item_type: preproc_def
      name: CIPHER_SEP
      pos:
        line_end: 966
        line_start: 965
        source_file: /src/postfix/postfix/src/tls/tls_misc.c
      type_or_value: CHARS_COMMA_SP ":"
    - item_type: preproc_def
      name: DUMP_WIDTH
      pos:
        line_end: 1676
        line_start: 1675
        source_file: /src/postfix/postfix/src/tls/tls_misc.c
      type_or_value: '16'
    - item_type: preproc_def
      name: VERT_SPLIT
      pos:
        line_end: 1677
        line_start: 1676
        source_file: /src/postfix/postfix/src/tls/tls_misc.c
      type_or_value: '7'
    structs:
    - fields:
      - name: major
        type: int
      - name: minor
        type: int
      - name: micro
        type: int
      - name: patch
        type: int
      - name: status
        type: int
      item_type: struct
      name: TLS_VINFO
      pos:
        line_end: 570
        line_start: 564
        source_file: /src/postfix/postfix/src/tls/tls_misc.c
    typedefs: []
    union: []
- function_names:
  - tls_level_lookup
  - str_tls_level
  source_file: /src/postfix/postfix/src/tls/tls_level.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TRW_FLAG_HAVE_TLS_POLICY
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: TRW_FLAG_HAVE_TCP_CONN
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: TRW_FLAG_HAVE_EHLO_RESP
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: TRW_FLAG_REPORTED
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: TRW_RPT_SOCKET_NAME
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.h
      type_or_value: '"rpt_socket_name"'
    - item_type: preproc_def
      name: TRW_RPT_POLICY_DOMAIN
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.h
      type_or_value: '"rpt_policy_domain"'
    - item_type: preproc_def
      name: TRW_RPT_POLICY_STRING
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.h
      type_or_value: '"rpt_policy_string"'
    - item_type: preproc_def
      name: TRW_SKIP_REUSED_HS
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.h
      type_or_value: '"skip_reused_hs"'
    - item_type: preproc_def
      name: TRW_TLS_POLICY_TYPE
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.h
      type_or_value: '"tls_policy_type"'
    - item_type: preproc_def
      name: TRW_TLS_POLICY_STRINGS
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.h
      type_or_value: "\"tls_policy_strings\"\t"
    - item_type: preproc_def
      name: TRW_TLS_POLICY_DOMAIN
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.h
      type_or_value: '"tls_policy_domain"'
    - item_type: preproc_def
      name: TRW_MX_HOST_PATTERNS
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.h
      type_or_value: "\"mx_host_patterns\"\t"
    - item_type: preproc_def
      name: TRW_SRC_MTA_ADDR
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.h
      type_or_value: '"snd_mta_addr"'
    - item_type: preproc_def
      name: TRW_DST_MTA_NAME
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.h
      type_or_value: '"rcv_mta_name"'
    - item_type: preproc_def
      name: TRW_DST_MTA_ADDR
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.h
      type_or_value: '"rcv_mta_addr"'
    - item_type: preproc_def
      name: TRW_DST_MTA_EHLO
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.h
      type_or_value: "\"rcv_mta_ehlo\"\t"
    - item_type: preproc_def
      name: TRW_FLAGS
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.h
      type_or_value: '"flags"'
    structs:
    - fields:
      - name: '*rpt_socket_name'
        type: char
      - name: '*rpt_policy_domain'
        type: char
      - name: '*rpt_policy_string'
        type: char
      - name: skip_reused_hs
        type: int
      - name: tls_policy_type
        type: tlsrpt_policy_type_t
      - name: '*tls_policy_strings'
        type: ARGV
      - name: '*tls_policy_domain'
        type: char
      - name: '*mx_host_patterns'
        type: ARGV
      - name: '*snd_mta_addr'
        type: char
      - name: '*rcv_mta_name'
        type: char
      - name: '*rcv_mta_addr'
        type: char
      - name: '*rcv_mta_ehlo'
        type: char
      - name: flags
        type: int
      item_type: struct
      name: TLSRPT_WRAPPER
      pos:
        line_end: 84
        line_start: 66
        source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.h
    typedefs: []
    union: []
- function_names:
  - tls_prng_dev_open
  - tls_prng_dev_read
  - tls_prng_dev_close
  source_file: /src/postfix/postfix/src/tls/tls_prng_dev.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UCHAR_MAX
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/postfix/postfix/src/tls/tls_prng_dev.c
      type_or_value: '0xff'
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECK_OK_AND
  - CHECK_OK_AND_DIGEST_OBJECT
  - CHECK_OK_AND_DIGEST_DATA
  - CHECK_OK_AND_DIGEST_CHARS
  - digest_bytes
  - digest_chars
  - tlsa_cmp
  - tls_digest_tlsa
  - tls_digest_byname
  - tls_serverid_digest
  - tls_digest_encode
  - tls_data_fprint
  - tls_cert_fprint
  - tls_pkey_fprint
  source_file: /src/postfix/postfix/src/tls/tls_fprint.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TLSRPT_PREREQ
  - MYFREE_IF_SET
  - MYFREE_IF_SET_AND_CLEAR
  - MYFREE_IF_SET_AND_COPY
  - ARGV_FREE_IF_SET
  - ARGV_FREE_IF_SET_AND_CLEAR
  - ARGV_FREE_IF_SET_AND_COPY
  - trw_create
  - trw_free
  - trw_set_tls_policy
  - STR_OR_NULL
  - PSTR_OR_NULL
  - trw_set_tcp_connection
  - trw_set_ehlo_resp
  - trw_munge_report_result
  - trw_failure_type_to_string
  - trw_report_failure
  - trw_report_success
  - trw_is_reported
  - trw_is_skip_reused_hs
  - valid_tlsrpt_policy_type
  - valid_tlsrpt_policy_failure
  - convert_tlsrpt_policy_type
  - convert_tlsrpt_policy_failure
  source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TLSRPT_POLICY_DANE
      pos:
        line_end: 709
        line_start: 708
        source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TLSRPT_POLICY_STS
      pos:
        line_end: 710
        line_start: 709
        source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TLSRPT_NO_POLICY_FOUND
      pos:
        line_end: 711
        line_start: 710
        source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TLSRPT_VALIDATION_FAILURE
      pos:
        line_end: 713
        line_start: 712
        source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TLSRPT_STS_POLICY_FETCH_ERROR
      pos:
        line_end: 714
        line_start: 713
        source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TLSRPT_STS_POLICY_INVALID
      pos:
        line_end: 715
        line_start: 714
        source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TLSRPT_STS_WEBPKI_INVALID
      pos:
        line_end: 716
        line_start: 715
        source_file: /src/postfix/postfix/src/tls/tlsrpt_wrapper.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - tls_proxy_context_print
  - STRING_OR_EMPTY
  source_file: /src/postfix/postfix/src/tls/tls_proxy_context_print.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - NORMALIZED_VSTREAM_RETURN
  - tls_timed_read
  - tls_timed_write
  - tls_stream_start
  - tls_stream_stop
  source_file: /src/postfix/postfix/src/tls/tls_stream.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - update_error_state
  - tls_verify_certificate_callback
  - tls_log_verify_error
  - CERT_ERROR_TO_STRING
  - tls_text_name
  - TLS_TEXT_NAME_RETURN
  - TRIM0
  - tls_peer_CN
  - tls_issuer_CN
  source_file: /src/postfix/postfix/src/tls/tls_verify.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PURPOSE
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/postfix/postfix/src/tls/tls_verify.c
      type_or_value: '((depth>0) ? "CA": TLScontext->am_server ? "client": "server")'
    - item_type: preproc_def
      name: DONT_GRIPE
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/postfix/postfix/src/tls/tls_verify.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DO_GRIPE
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/postfix/postfix/src/tls/tls_verify.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - load_builtin
  - tls_set_dh_from_file
  - tls_tmp_dh
  - load_builtin
  - tls_set_dh_from_file
  - tls_tmp_dh
  - setup_auto_groups
  - SETUP_AG_RETURN
  - tls_auto_groups
  - main
  source_file: /src/postfix/postfix/src/tls/tls_dh.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AG_STAT_OK
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/postfix/postfix/src/tls/tls_dh.c
      type_or_value: (0)
    - item_type: preproc_def
      name: AG_STAT_NO_GROUP
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/postfix/postfix/src/tls/tls_dh.c
      type_or_value: "(-1)\t\t"
    - item_type: preproc_def
      name: AG_STAT_NO_RETRY
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/postfix/postfix/src/tls/tls_dh.c
      type_or_value: "(-2)\t\t"
    - item_type: preproc_def
      name: GROUPS_SEP
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/postfix/postfix/src/tls/tls_dh.c
      type_or_value: CHARS_COMMA_SP ":"
    structs: []
    typedefs: []
    union: []
- function_names:
  - init_pem_load_state
  - use_chain
  - load_cert
  - load_pkey
  - load_pem_object
  - load_pem_bio
  - load_chain_files
  - load_mixed_file
  - tls_set_ca_certificate_info
  - CA_PATH_ARGS
  - set_cert_stuff
  - tls_set_my_certificate_key_info
  - tls_load_pem_chain
  - usage
  - main
  source_file: /src/postfix/postfix/src/tls/tls_certkey.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PEM_LOAD_STATE_NOGO
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/postfix/postfix/src/tls/tls_certkey.c
      type_or_value: "-2\t"
    - item_type: preproc_def
      name: PEM_LOAD_STATE_FAIL
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/postfix/postfix/src/tls/tls_certkey.c
      type_or_value: "-1\t"
    - item_type: preproc_def
      name: PEM_LOAD_STATE_DONE
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/postfix/postfix/src/tls/tls_certkey.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: PEM_LOAD_STATE_INIT
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/postfix/postfix/src/tls/tls_certkey.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: PEM_LOAD_STATE_PKEY
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/postfix/postfix/src/tls/tls_certkey.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: PEM_LOAD_STATE_CERT
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/postfix/postfix/src/tls/tls_certkey.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: PEM_LOAD_STATE_BOTH
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/postfix/postfix/src/tls/tls_certkey.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: PEM_LOAD_READ_LAST
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/postfix/postfix/src/tls/tls_certkey.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: PEM_LOAD_READ_MORE
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/postfix/postfix/src/tls/tls_certkey.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: CA_PATH_FMT
      pos:
        line_end: 510
        line_start: 509
        source_file: /src/postfix/postfix/src/tls/tls_certkey.c
      type_or_value: '"%s%s%s"'
    structs:
    - fields:
      - name: '*origin'
        type: char
      - name: '*source'
        type: char
      - name: '*keysrc'
        type: char
      - name: '*pembio'
        type: BIO
      - name: '*ctx'
        type: SSL_CTX
      - name: '*ssl'
        type: SSL
      - name: '*pkey'
        type: EVP_PKEY
      - name: '*cert'
        type: X509
      - name: '*chain'
        type: x509_stack_t
      - name: keynum
        type: int
      - name: objnum
        type: int
      - name: state
        type: int
      - name: mixed
        type: int
      item_type: struct
      name: pem_load_state_t
      pos:
        line_end: 127
        line_start: 113
        source_file: /src/postfix/postfix/src/tls/tls_certkey.c
    typedefs: []
    union: []
- function_names:
  - TLS_PROXY_PARAMS
  - tls_proxy_legacy_open
  - TLS_PROXY_CLIENT_INIT_PROPS
  - TLS_PROXY_CLIENT_START_PROPS
  source_file: /src/postfix/postfix/src/tls/tls_proxy.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TLS_PROXY_FLAG_ROLE_SERVER
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: TLS_PROXY_FLAG_ROLE_CLIENT
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: TLS_PROXY_FLAG_SEND_CONTEXT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: TLS_ATTR_REMOTE_ENDPT
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: "\"remote_endpoint\"\t"
    - item_type: preproc_def
      name: TLS_ATTR_FLAGS
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"flags"'
    - item_type: preproc_def
      name: TLS_ATTR_TIMEOUT
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"timeout"'
    - item_type: preproc_def
      name: TLS_ATTR_SERVERID
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"serverid"'
    - item_type: preproc_def
      name: TLS_ATTR_COUNT
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"count"'
    - item_type: preproc_def
      name: TLS_ATTR_PEER_CN
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"peer_CN"'
    - item_type: preproc_def
      name: TLS_ATTR_ISSUER_CN
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"issuer_CN"'
    - item_type: preproc_def
      name: TLS_ATTR_PEER_CERT_FPT
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"peer_fingerprint"'
    - item_type: preproc_def
      name: TLS_ATTR_PEER_PKEY_FPT
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"peer_pubkey_fingerprint"'
    - item_type: preproc_def
      name: TLS_ATTR_SEC_LEVEL
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"level"'
    - item_type: preproc_def
      name: TLS_ATTR_PEER_STATUS
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"peer_status"'
    - item_type: preproc_def
      name: TLS_ATTR_CIPHER_PROTOCOL
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"cipher_protocol"'
    - item_type: preproc_def
      name: TLS_ATTR_CIPHER_NAME
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"cipher_name"'
    - item_type: preproc_def
      name: TLS_ATTR_CIPHER_USEBITS
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"cipher_usebits"'
    - item_type: preproc_def
      name: TLS_ATTR_CIPHER_ALGBITS
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"cipher_algbits"'
    - item_type: preproc_def
      name: TLS_ATTR_KEX_NAME
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"key_exchange"'
    - item_type: preproc_def
      name: TLS_ATTR_KEX_CURVE
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"key_exchange_curve"'
    - item_type: preproc_def
      name: TLS_ATTR_KEX_BITS
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"key_exchange_bits"'
    - item_type: preproc_def
      name: TLS_ATTR_CTOS_RPK
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"ctos_rpk"'
    - item_type: preproc_def
      name: TLS_ATTR_STOC_RPK
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"stoc_rpk"'
    - item_type: preproc_def
      name: TLS_ATTR_CLNT_SIG_NAME
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"clnt_signature"'
    - item_type: preproc_def
      name: TLS_ATTR_CLNT_SIG_CURVE
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"clnt_signature_curve"'
    - item_type: preproc_def
      name: TLS_ATTR_CLNT_SIG_BITS
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"clnt_signature_bits"'
    - item_type: preproc_def
      name: TLS_ATTR_CLNT_SIG_DGST
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"clnt_signature_digest"'
    - item_type: preproc_def
      name: TLS_ATTR_SRVR_SIG_NAME
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"srvr_signature"'
    - item_type: preproc_def
      name: TLS_ATTR_SRVR_SIG_CURVE
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"srvr_signature_curve"'
    - item_type: preproc_def
      name: TLS_ATTR_SRVR_SIG_BITS
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"srvr_signature_bits"'
    - item_type: preproc_def
      name: TLS_ATTR_SRVR_SIG_DGST
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"srvr_signature_digest"'
    - item_type: preproc_def
      name: TLS_ATTR_NAMADDR
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"namaddr"'
    - item_type: preproc_def
      name: TLS_ATTR_RPT_REPORTED
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"rpt_reported"'
    - item_type: preproc_def
      name: TLS_ATTR_LOG_PARAM
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"log_param"'
    - item_type: preproc_def
      name: TLS_ATTR_LOG_LEVEL
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"log_level"'
    - item_type: preproc_def
      name: TLS_ATTR_VERIFYDEPTH
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"verifydepth"'
    - item_type: preproc_def
      name: TLS_ATTR_CACHE_TYPE
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"cache_type"'
    - item_type: preproc_def
      name: TLS_ATTR_SET_SESSID
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"set_sessid"'
    - item_type: preproc_def
      name: TLS_ATTR_CHAIN_FILES
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"chain_files"'
    - item_type: preproc_def
      name: TLS_ATTR_CERT_FILE
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"cert_file"'
    - item_type: preproc_def
      name: TLS_ATTR_KEY_FILE
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"key_file"'
    - item_type: preproc_def
      name: TLS_ATTR_DCERT_FILE
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"dcert_file"'
    - item_type: preproc_def
      name: TLS_ATTR_DKEY_FILE
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"dkey_file"'
    - item_type: preproc_def
      name: TLS_ATTR_ECCERT_FILE
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"eccert_file"'
    - item_type: preproc_def
      name: TLS_ATTR_ECKEY_FILE
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"eckey_file"'
    - item_type: preproc_def
      name: TLS_ATTR_CAFILE
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"CAfile"'
    - item_type: preproc_def
      name: TLS_ATTR_CAPATH
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"CApath"'
    - item_type: preproc_def
      name: TLS_ATTR_PROTOCOLS
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"protocols"'
    - item_type: preproc_def
      name: TLS_ATTR_EECDH_GRADE
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"eecdh_grade"'
    - item_type: preproc_def
      name: TLS_ATTR_DH1K_PARAM_FILE
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"dh1024_param_file"'
    - item_type: preproc_def
      name: TLS_ATTR_DH512_PARAM_FILE
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"dh512_param_file"'
    - item_type: preproc_def
      name: TLS_ATTR_ASK_CCERT
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"ask_ccert"'
    - item_type: preproc_def
      name: TLS_ATTR_MDALG
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"mdalg"'
    - item_type: preproc_def
      name: TLS_ATTR_TIMEOUT
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"timeout"'
    - item_type: preproc_def
      name: TLS_ATTR_REQUIRECERT
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"requirecert"'
    - item_type: preproc_def
      name: TLS_ATTR_SERVERID
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"serverid"'
    - item_type: preproc_def
      name: TLS_ATTR_NAMADDR
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"namaddr"'
    - item_type: preproc_def
      name: TLS_ATTR_CIPHER_GRADE
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"cipher_grade"'
    - item_type: preproc_def
      name: TLS_ATTR_CIPHER_EXCLUSIONS
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"cipher_exclusions"'
    - item_type: preproc_def
      name: TLS_ATTR_MDALG
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"mdalg"'
    - item_type: preproc_def
      name: TLS_ATTR_CNF_FILE
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"config_file"'
    - item_type: preproc_def
      name: TLS_ATTR_CNF_NAME
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"config_name"'
    - item_type: preproc_def
      name: TLS_ATTR_LOG_PARAM
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"log_param"'
    - item_type: preproc_def
      name: TLS_ATTR_LOG_LEVEL
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"log_level"'
    - item_type: preproc_def
      name: TLS_ATTR_VERIFYDEPTH
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"verifydepth"'
    - item_type: preproc_def
      name: TLS_ATTR_CACHE_TYPE
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"cache_type"'
    - item_type: preproc_def
      name: TLS_ATTR_CHAIN_FILES
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"chain_files"'
    - item_type: preproc_def
      name: TLS_ATTR_CERT_FILE
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"cert_file"'
    - item_type: preproc_def
      name: TLS_ATTR_KEY_FILE
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"key_file"'
    - item_type: preproc_def
      name: TLS_ATTR_DCERT_FILE
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"dcert_file"'
    - item_type: preproc_def
      name: TLS_ATTR_DKEY_FILE
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"dkey_file"'
    - item_type: preproc_def
      name: TLS_ATTR_ECCERT_FILE
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"eccert_file"'
    - item_type: preproc_def
      name: TLS_ATTR_ECKEY_FILE
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"eckey_file"'
    - item_type: preproc_def
      name: TLS_ATTR_CAFILE
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"CAfile"'
    - item_type: preproc_def
      name: TLS_ATTR_CAPATH
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"CApath"'
    - item_type: preproc_def
      name: TLS_ATTR_MDALG
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"mdalg"'
    - item_type: preproc_def
      name: TLS_ATTR_TIMEOUT
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"timeout"'
    - item_type: preproc_def
      name: TLS_ATTR_ENABLE_RPK
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"enable_rpk"'
    - item_type: preproc_def
      name: TLS_ATTR_TLS_LEVEL
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"tls_level"'
    - item_type: preproc_def
      name: TLS_ATTR_NEXTHOP
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"nexthop"'
    - item_type: preproc_def
      name: TLS_ATTR_HOST
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"host"'
    - item_type: preproc_def
      name: TLS_ATTR_NAMADDR
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"namaddr"'
    - item_type: preproc_def
      name: TLS_ATTR_SNI
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"sni"'
    - item_type: preproc_def
      name: TLS_ATTR_SERVERID
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"serverid"'
    - item_type: preproc_def
      name: TLS_ATTR_HELO
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"helo"'
    - item_type: preproc_def
      name: TLS_ATTR_PROTOCOLS
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"protocols"'
    - item_type: preproc_def
      name: TLS_ATTR_CIPHER_GRADE
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"cipher_grade"'
    - item_type: preproc_def
      name: TLS_ATTR_CIPHER_EXCLUSIONS
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"cipher_exclusions"'
    - item_type: preproc_def
      name: TLS_ATTR_MATCHARGV
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"matchargv"'
    - item_type: preproc_def
      name: TLS_ATTR_MDALG
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"mdalg"'
    - item_type: preproc_def
      name: TLS_ATTR_DANE
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"dane"'
    - item_type: preproc_def
      name: TLS_ATTR_TLSRPT
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"tlsrpt"'
    - item_type: preproc_def
      name: TLS_ATTR_FFAIL_TYPE
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"forced_failure_type"'
    - item_type: preproc_def
      name: TLS_ATTR_USAGE
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"usage"'
    - item_type: preproc_def
      name: TLS_ATTR_SELECTOR
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"selector"'
    - item_type: preproc_def
      name: TLS_ATTR_MTYPE
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"mtype"'
    - item_type: preproc_def
      name: TLS_ATTR_DATA
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"data"'
    - item_type: preproc_def
      name: TLS_ATTR_DOMAIN
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
      type_or_value: '"domain"'
    structs:
    - fields:
      - name: '*tls_cnf_file'
        type: char
      - name: '*tls_cnf_name'
        type: char
      - name: '*tls_high_clist'
        type: char
      - name: '*tls_medium_clist'
        type: char
      - name: '*tls_null_clist'
        type: char
      - name: '*tls_eecdh_auto'
        type: char
      - name: '*tls_eecdh_strong'
        type: char
      - name: '*tls_eecdh_ultra'
        type: char
      - name: '*tls_ffdhe_auto'
        type: char
      - name: '*tls_bug_tweaks'
        type: char
      - name: '*tls_ssl_options'
        type: char
      - name: '*tls_dane_digests'
        type: char
      - name: '*tls_mgr_service'
        type: char
      - name: '*tls_tkt_cipher'
        type: char
      - name: tls_daemon_rand_bytes
        type: int
      - name: tls_append_def_CA
        type: int
      - name: tls_bc_pkey_fprint
        type: int
      - name: tls_preempt_clist
        type: int
      - name: tls_multi_wildcard
        type: int
      item_type: struct
      name: TLS_CLIENT_PARAMS
      pos:
        line_end: 67
        line_start: 47
        source_file: /src/postfix/postfix/src/tls/tls_proxy.h
    typedefs: []
    union: []
- function_names:
  - tls_proxy_open
  - tls_proxy_context_receive
  source_file: /src/postfix/postfix/src/tls/tls_proxy_clnt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TLSPROXY_INIT_TIMEOUT
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/postfix/postfix/src/tls/tls_proxy_clnt.c
      type_or_value: '10'
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/postfix/postfix/src/tls/tls_proxy_clnt.c
      type_or_value: vstring_str
    structs: []
    typedefs: []
    union: []
- function_names:
  - tls_proxy_context_scan
  - tls_proxy_context_free
  source_file: /src/postfix/postfix/src/tls/tls_proxy_context_scan.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tls_proxy_server_init_print
  - STRING_OR_EMPTY
  - tls_proxy_server_start_print
  - STRING_OR_EMPTY
  source_file: /src/postfix/postfix/src/tls/tls_proxy_server_print.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TLS_REQUIRED
  - TLS_MUST_MATCH
  - TLS_MUST_PKIX
  - TLS_OPPORTUNISTIC
  - TLS_DANE_BASED
  - TLS_NEVER_SECURED
  - OPENSSL_VERSION_PREREQ
  - SSL_get_signature_nid
  - TLS_PEEK_PEER_CERT
  - TLS_FREE_PEER_CERT
  - TLS_PEEK_PEER_CERT
  - TLS_FREE_PEER_CERT
  - TLS_GROUP_NAME
  - TLS_GROUP_NAME
  - TLS_GROUP_NAME
  - tls_dane_unusable
  - tls_dane_notfound
  - TLS_CRED_IS_PRESENT
  - TLS_CERT_IS_PRESENT
  - TLS_RPK_IS_PRESENT
  - TLS_CERT_IS_ALTNAME
  - TLS_CERT_IS_TRUSTED
  - TLS_CERT_IS_MATCHED
  - TLS_CERT_IS_SECURED
  - TLS_SSL_OP_PROTOMASK
  - tls_cipher_grade
  - str_tls_cipher_grade
  - tls_client_stop
  - TLS_CLIENT_INIT_ARGS
  - TLS_CLIENT_INIT
  - TLS_CLIENT_START
  - tls_server_stop
  - TLS_SERVER_INIT
  - TLS_SERVER_START
  - tls_bio_connect
  - tls_bio_accept
  - tls_bio_shutdown
  - tls_bio_read
  - tls_bio_write
  source_file: /src/postfix/postfix/src/tls/tls.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TLS_LEV_INVALID
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "-2\t"
    - item_type: preproc_def
      name: TLS_LEV_NOTFOUND
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "-1\t"
    - item_type: preproc_def
      name: TLS_LEV_NONE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: TLS_LEV_MAY
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: TLS_LEV_ENCRYPT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: TLS_LEV_FPRINT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: TLS_LEV_HALF_DANE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: TLS_LEV_DANE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "5\t"
    - item_type: preproc_def
      name: TLS_LEV_DANE_ONLY
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "6\t"
    - item_type: preproc_def
      name: TLS_LEV_VERIFY
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "7\t"
    - item_type: preproc_def
      name: TLS_LEV_SECURE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "8\t"
    - item_type: preproc_def
      name: x509_stack_t
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: STACK_OF(X509)
    - item_type: preproc_def
      name: general_name_stack_t
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: STACK_OF(GENERAL_NAME)
    - item_type: preproc_def
      name: ssl_cipher_stack_t
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: STACK_OF(SSL_CIPHER)
    - item_type: preproc_def
      name: ssl_comp_stack_t
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: STACK_OF(SSL_COMP)
    - item_type: preproc_def
      name: tls_get_peer_dh_pubkey
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: SSL_get_server_tmp_key
    - item_type: preproc_def
      name: tls_get_peer_dh_pubkey
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: SSL_get_peer_tmp_key
    - item_type: preproc_def
      name: tls_set_bio_callback
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: BIO_set_callback_ex
    - item_type: preproc_def
      name: tls_set_bio_callback
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: BIO_set_callback
    - item_type: preproc_def
      name: TLS_MGR_SCACHE_SMTPD
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: '"smtpd"'
    - item_type: preproc_def
      name: TLS_MGR_SCACHE_SMTP
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: '"smtp"'
    - item_type: preproc_def
      name: TLS_MGR_SCACHE_LMTP
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: '"lmtp"'
    - item_type: preproc_def
      name: TLS_DANE_TA
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: TLS_DANE_EE
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: TLS_DANE_CERT
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: TLS_DANE_PKEY
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: TLS_DANE_FLAG_NORRS
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: TLS_DANE_FLAG_EMPTY
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: TLS_DANE_FLAG_ERROR
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: TLS_DANE_CACHE_TTL_MIN
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: TLS_DANE_CACHE_TTL_MAX
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "100\t"
    - item_type: preproc_def
      name: CCERT_BUFSIZ
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: '256'
    - item_type: preproc_def
      name: TLS_CRED_FLAG_CERT
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: TLS_CERT_FLAG_ALTNAME
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: TLS_CERT_FLAG_TRUSTED
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: TLS_CERT_FLAG_MATCHED
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: TLS_CERT_FLAG_SECURED
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: TLS_CRED_FLAG_RPK
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: TLS_CRED_FLAG_ANY
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: (TLS_CRED_FLAG_CERT|TLS_CRED_FLAG_RPK)
    - item_type: preproc_def
      name: TLS_LOG_NONE
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: TLS_LOG_SUMMARY
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: TLS_LOG_UNTRUSTED
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: TLS_LOG_PEERCERT
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: TLS_LOG_CERTMATCH
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: TLS_LOG_VERBOSE
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: TLS_LOG_CACHE
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: TLS_LOG_DEBUG
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: TLS_LOG_TLSPKTS
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: (1<<8)
    - item_type: preproc_def
      name: TLS_LOG_ALLPKTS
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: (1<<9)
    - item_type: preproc_def
      name: TLS_LOG_DANE
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: (1<<10)
    - item_type: preproc_def
      name: TLS_PROTOCOL_INVALID
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "(~0)\t"
    - item_type: preproc_def
      name: TLS_PROTOCOL_SSLv2
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: SSL_TXT_SSLV2
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: '"SSLv2"'
    - item_type: preproc_def
      name: TLS_PROTOCOL_SSLv2
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: SSL_OP_NO_SSLv2
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "0L\t"
    - item_type: preproc_def
      name: TLS_PROTOCOL_SSLv3
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: SSL_TXT_SSLV3
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: '"SSLv3"'
    - item_type: preproc_def
      name: TLS_PROTOCOL_SSLv3
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: SSL_OP_NO_SSLv3
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "0L\t"
    - item_type: preproc_def
      name: TLS_PROTOCOL_TLSv1
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: SSL_TXT_TLSV1
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: '"TLSv1"'
    - item_type: preproc_def
      name: TLS_PROTOCOL_TLSv1
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: SSL_OP_NO_TLSv1
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "0L\t"
    - item_type: preproc_def
      name: TLS_PROTOCOL_TLSv1_1
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: SSL_TXT_TLSV1_1
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: '"TLSv1.1"'
    - item_type: preproc_def
      name: TLS_PROTOCOL_TLSv1_1
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: SSL_OP_NO_TLSv1_1
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "0L\t"
    - item_type: preproc_def
      name: TLS_PROTOCOL_TLSv1_2
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "(1<<4)\t"
    - item_type: preproc_def
      name: SSL_TXT_TLSV1_2
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: '"TLSv1.2"'
    - item_type: preproc_def
      name: TLS_PROTOCOL_TLSv1_2
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: SSL_OP_NO_TLSv1_2
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "0L\t"
    - item_type: preproc_def
      name: TLS_PROTOCOL_TXT_TLSV1_3
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: '"TLSv1.3"'
    - item_type: preproc_def
      name: TLS_PROTOCOL_TLSv1_3
      pos:
        line_end: 404
        line_start: 403
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "(1<<5)\t"
    - item_type: preproc_def
      name: TLS_PROTOCOL_TLSv1_3
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: SSL_OP_NO_TLSv1_3
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "0L\t"
    - item_type: preproc_def
      name: SSL_OP_IGNORE_UNEXPECTED_EOF
      pos:
        line_end: 415
        line_start: 414
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: 0L
    - item_type: preproc_def
      name: TLS_KNOWN_PROTOCOLS
      pos:
        line_end: 420
        line_start: 417
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "( TLS_PROTOCOL_SSLv2 | TLS_PROTOCOL_SSLv3 | TLS_PROTOCOL_TLSv1
        \\\n\t   | TLS_PROTOCOL_TLSv1_1 | TLS_PROTOCOL_TLSv1_2 | TLS_PROTOCOL_TLSv1_3
        )"
    - item_type: preproc_def
      name: TLS_SSL_OP_MANAGED_BITS
      pos:
        line_end: 435
        line_start: 432
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: "(SSL_OP_CIPHER_SERVER_PREFERENCE | SSL_OP_IGNORE_UNEXPECTED_EOF
        | \\\n\t TLS_SSL_OP_PROTOMASK(~0))"
    - item_type: preproc_def
      name: TLS_CIPHER_NONE
      pos:
        line_end: 442
        line_start: 441
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TLS_CIPHER_NULL
      pos:
        line_end: 443
        line_start: 442
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TLS_CIPHER_EXPORT
      pos:
        line_end: 444
        line_start: 443
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TLS_CIPHER_LOW
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: '3'
    - item_type: preproc_def
      name: TLS_CIPHER_MEDIUM
      pos:
        line_end: 446
        line_start: 445
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: '4'
    - item_type: preproc_def
      name: TLS_CIPHER_HIGH
      pos:
        line_end: 447
        line_start: 446
        source_file: /src/postfix/postfix/src/tls/tls.h
      type_or_value: '5'
    structs:
    - fields:
      - name: usage
        type: uint8_t
      - name: selector
        type: uint8_t
      - name: mtype
        type: uint8_t
      - name: length
        type: uint16_t
      - name: '*data'
        type: unsigned char
      - name: '*next'
        type: struct TLS_TLSA
      item_type: struct
      name: TLS_TLSA
      pos:
        line_end: 196
        line_start: 189
        source_file: /src/postfix/postfix/src/tls/tls.h
    - fields:
      - name: '*tlsa'
        type: TLS_TLSA
      - name: '*base_domain'
        type: char
      - name: flags
        type: int
      - name: expires
        type: time_t
      - name: refs
        type: int
      item_type: struct
      name: TLS_DANE
      pos:
        line_end: 204
        line_start: 198
        source_file: /src/postfix/postfix/src/tls/tls.h
    - fields:
      - name: '*peer_CN'
        type: char
      - name: '*issuer_CN'
        type: char
      - name: '*peer_sni'
        type: char
      - name: '*peer_cert_fprint'
        type: char
      - name: '*peer_pkey_fprint'
        type: char
      - name: level
        type: int
      - name: peer_status
        type: int
      - name: '*protocol'
        type: char
      - name: '*cipher_name'
        type: char
      - name: cipher_usebits
        type: int
      - name: cipher_algbits
        type: int
      - name: '*kex_name'
        type: char
      - name: '*kex_curve'
        type: char
      - name: kex_bits
        type: int
      - name: ctos_rpk
        type: int
      - name: stoc_rpk
        type: int
      - name: '*clnt_sig_name'
        type: char
      - name: '*clnt_sig_curve'
        type: char
      - name: clnt_sig_bits
        type: int
      - name: '*clnt_sig_dgst'
        type: char
      - name: '*srvr_sig_name'
        type: char
      - name: '*srvr_sig_curve'
        type: char
      - name: srvr_sig_bits
        type: int
      - name: '*srvr_sig_dgst'
        type: char
      - name: rpt_reported
        type: int
      - name: '*con'
        type: SSL
      - name: '*cache_type'
        type: char
      - name: ticketed
        type: int
      - name: '*serverid'
        type: char
      - name: '*namaddr'
        type: char
      - name: log_mask
        type: int
      - name: session_reused
        type: int
      - name: am_server
        type: int
      - name: '*mdalg'
        type: char
      - name: '*stream'
        type: VSTREAM
      - name: '*dane'
        type: TLS_DANE
      - name: '*errorcert'
        type: X509
      - name: errordepth
        type: int
      - name: errorcode
        type: int
      - name: must_fail
        type: int
      - name: '*ffail_type'
        type: char
      item_type: struct
      name: TLS_SESS_STATE
      pos:
        line_end: 275
        line_start: 228
        source_file: /src/postfix/postfix/src/tls/tls.h
    - fields:
      - name: '*ssl_ctx'
        type: SSL_CTX
      - name: '*sni_ctx'
        type: SSL_CTX
      - name: log_mask
        type: int
      - name: '*cache_type'
        type: char
      item_type: struct
      name: TLS_APPL_STATE
      pos:
        line_end: 332
        line_start: 327
        source_file: /src/postfix/postfix/src/tls/tls.h
    - fields:
      - name: '*log_param'
        type: char
      - name: '*log_level'
        type: char
      - name: verifydepth
        type: int
      - name: '*cache_type'
        type: char
      - name: '*chain_files'
        type: char
      - name: '*cert_file'
        type: char
      - name: '*key_file'
        type: char
      - name: '*dcert_file'
        type: char
      - name: '*dkey_file'
        type: char
      - name: '*eccert_file'
        type: char
      - name: '*eckey_file'
        type: char
      - name: '*CAfile'
        type: char
      - name: '*CApath'
        type: char
      - name: '*mdalg'
        type: char
      item_type: struct
      name: TLS_CLIENT_INIT_PROPS
      pos:
        line_end: 486
        line_start: 471
        source_file: /src/postfix/postfix/src/tls/tls.h
    - fields:
      - name: '*ctx'
        type: TLS_APPL_STATE
      - name: '*stream'
        type: VSTREAM
      - name: fd
        type: int
      - name: timeout
        type: int
      - name: enable_rpk
        type: int
      - name: tls_level
        type: int
      - name: '*nexthop'
        type: char
      - name: '*host'
        type: char
      - name: '*namaddr'
        type: char
      - name: '*sni'
        type: char
      - name: '*serverid'
        type: char
      - name: '*helo'
        type: char
      - name: '*protocols'
        type: char
      - name: '*cipher_grade'
        type: char
      - name: '*cipher_exclusions'
        type: char
      - name: '*matchargv'
        type: ARGV
      - name: '*mdalg'
        type: char
      - name: '*dane'
        type: TLS_DANE
      - name: '*tlsrpt'
        type: struct TLSRPT_WRAPPER
      - name: '*ffail_type'
        type: char
      item_type: struct
      name: TLS_CLIENT_START_PROPS
      pos:
        line_end: 509
        line_start: 488
        source_file: /src/postfix/postfix/src/tls/tls.h
    - fields:
      - name: '*log_param'
        type: char
      - name: '*log_level'
        type: char
      - name: verifydepth
        type: int
      - name: '*cache_type'
        type: char
      - name: set_sessid
        type: int
      - name: '*chain_files'
        type: char
      - name: '*cert_file'
        type: char
      - name: '*key_file'
        type: char
      - name: '*dcert_file'
        type: char
      - name: '*dkey_file'
        type: char
      - name: '*eccert_file'
        type: char
      - name: '*eckey_file'
        type: char
      - name: '*CAfile'
        type: char
      - name: '*CApath'
        type: char
      - name: '*protocols'
        type: char
      - name: '*eecdh_grade'
        type: char
      - name: '*dh1024_param_file'
        type: char
      - name: '*dh512_param_file'
        type: char
      - name: ask_ccert
        type: int
      - name: '*mdalg'
        type: char
      item_type: struct
      name: TLS_SERVER_INIT_PROPS
      pos:
        line_end: 564
        line_start: 543
        source_file: /src/postfix/postfix/src/tls/tls.h
    - fields:
      - name: '*ctx'
        type: TLS_APPL_STATE
      - name: '*stream'
        type: VSTREAM
      - name: fd
        type: int
      - name: timeout
        type: int
      - name: enable_rpk
        type: int
      - name: requirecert
        type: int
      - name: '*serverid'
        type: char
      - name: '*namaddr'
        type: char
      - name: '*cipher_grade'
        type: char
      - name: '*cipher_exclusions'
        type: char
      - name: '*mdalg'
        type: char
      item_type: struct
      name: TLS_SERVER_START_PROPS
      pos:
        line_end: 578
        line_start: 566
        source_file: /src/postfix/postfix/src/tls/tls.h
    typedefs:
    - item_type: typedef
      name: TLS_ROLE
      pos:
        line_end: 153
        line_start: 151
        source_file: /src/postfix/postfix/src/tls/tls.h
    - item_type: typedef
      name: TLS_USAGE
      pos:
        line_end: 157
        line_start: 155
        source_file: /src/postfix/postfix/src/tls/tls.h
    union: []
- function_names:
  - tls_prng_exch_open
  - tls_prng_exch_update
  - tls_prng_exch_close
  source_file: /src/postfix/postfix/src/tls/tls_prng_exch.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TLS_PRNG_EXCH_SIZE
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/postfix/postfix/src/tls/tls_prng_exch.c
      type_or_value: "1024\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - tls_scache_encode
  - tls_scache_decode
  - FREE_AND_RETURN
  - tls_scache_lookup
  - tls_scache_update
  - tls_scache_sequence
  - tls_scache_delete
  - tls_scache_open
  - tls_scache_close
  - tls_scache_key
  - tls_scache_key_rotate
  source_file: /src/postfix/postfix/src/tls/tls_scache.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_FLAGS
      pos:
        line_end: 486
        line_start: 483
        source_file: /src/postfix/postfix/src/tls/tls_scache.c
      type_or_value: "(DICT_FLAG_DUP_REPLACE | DICT_FLAG_OPEN_LOCK | DICT_FLAG_SYNC_UPDATE
        \\\n\t | DICT_FLAG_UTF8_REQUEST)"
    structs:
    - fields:
      - name: timestamp
        type: time_t
      - name: session[1]
        type: char
      item_type: struct
      name: TLS_SCACHE_ENTRY
      pos:
        line_end: 178
        line_start: 175
        source_file: /src/postfix/postfix/src/tls/tls_scache.c
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - tls_mgr_handshake
  - tls_mgr_open
  - tls_mgr_seed
  - tls_mgr_policy
  - tls_mgr_lookup
  - tls_mgr_update
  - tls_mgr_delete
  - request_scache_key
  - tls_mgr_key
  - main
  - COMMAND
  source_file: /src/postfix/postfix/src/tls/tls_mgr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - load_clnt_session
  - new_client_session_cb
  - uncache_session
  - verify_x509
  - verify_rpk
  - add_namechecks
  - tls_auth_enable
  - tls_client_init
  - tls_client_start
  - CARP_VERSION
  - tls_client_post_connect
  source_file: /src/postfix/postfix/src/tls/tls_client.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/postfix/postfix/src/tls/tls_client.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: LEN
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/postfix/postfix/src/tls/tls_client.c
      type_or_value: VSTRING_LEN
    - item_type: preproc_def
      name: SSL_SESS_CACHE_NO_INTERNAL_STORE
      pos:
        line_end: 944
        line_start: 943
        source_file: /src/postfix/postfix/src/tls/tls_client.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - tls_proxy_client_param_print
  - tls_proxy_client_init_print
  - STRING_OR_EMPTY
  - tls_proxy_client_tlsa_print
  - tls_proxy_client_dane_print
  - tls_proxy_client_tlsrpt_print
  - tls_proxy_client_start_print
  - STRING_OR_EMPTY
  source_file: /src/postfix/postfix/src/tls/tls_proxy_client_print.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tls_prng_file_open
  - tls_prng_file_read
  - tls_prng_file_close
  source_file: /src/postfix/postfix/src/tls/tls_prng_file.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - timersub
  - tls_bio
  source_file: /src/postfix/postfix/src/tls/tls_bio_ops.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/dot_lockfile.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/sendopts.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SOPT_SMTPUTF8_NONE
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/postfix/postfix/src/global/sendopts.h
      type_or_value: (0)
    - item_type: preproc_def
      name: SOPT_SMTPUTF8_REQUESTED
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/postfix/postfix/src/global/sendopts.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: SOPT_SMTPUTF8_HEADER
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/postfix/postfix/src/global/sendopts.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: SOPT_SMTPUTF8_SENDER
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/global/sendopts.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: SOPT_SMTPUTF8_RECIPIENT
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/global/sendopts.h
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: SOPT_SMTPUTF8_ALL
      pos:
        line_end: 27
        line_start: 23
        source_file: /src/postfix/postfix/src/global/sendopts.h
      type_or_value: "(SOPT_SMTPUTF8_REQUESTED | \\\n\t\t\t\tSOPT_SMTPUTF8_HEADER
        | \\\n\t\t\t\tSOPT_SMTPUTF8_SENDER | \\\n\t\t\t\tSOPT_SMTPUTF8_RECIPIENT)"
    - item_type: preproc_def
      name: SOPT_SMTPUTF8_DERIVED
      pos:
        line_end: 29
        line_start: 27
        source_file: /src/postfix/postfix/src/global/sendopts.h
      type_or_value: (SOPT_SMTPUTF8_ALL & ~SOPT_SMTPUTF8_REQUESTED)
    - item_type: preproc_def
      name: SOPT_REQUIRETLS_HEADER
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/src/global/sendopts.h
      type_or_value: "(1<<4)\t"
    - item_type: preproc_def
      name: SOPT_REQUIRETLS_ESMTP
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/global/sendopts.h
      type_or_value: "(1<<5)\t"
    - item_type: preproc_def
      name: SOPT_REQUIRETLS_ALL
      pos:
        line_end: 38
        line_start: 36
        source_file: /src/postfix/postfix/src/global/sendopts.h
      type_or_value: "(SOPT_REQUIRETLS_HEADER | \\\n\t\t\t\t SOPT_REQUIRETLS_ESMTP)"
    - item_type: preproc_def
      name: SOPT_REQUIRETLS_DERIVED
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postfix/postfix/src/global/sendopts.h
      type_or_value: SOPT_REQUIRETLS_HEADER
    - item_type: preproc_def
      name: SOPT_FLAG_ALL
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postfix/postfix/src/global/sendopts.h
      type_or_value: (SOPT_SMTPUTF8_ALL | SOPT_REQUIRETLS_ALL)
    - item_type: preproc_def
      name: SOPT_FLAG_DERIVED
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/global/sendopts.h
      type_or_value: (SOPT_SMTPUTF8_DERIVED | SOPT_REQUIRETLS_DERIVED)
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - CU_CHAR_PTR
  - header_token
  source_file: /src/postfix/postfix/src/global/header_token.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_821_dot_string
  - make_821_quoted_string
  - quote_821_local_flags
  - main
  source_file: /src/postfix/postfix/src/global/quote_821_local.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: 'YES'
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/postfix/postfix/src/global/quote_821_local.c
      type_or_value: '1'
    - item_type: preproc_def
      name: 'NO'
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/postfix/postfix/src/global/quote_821_local.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/wildcard_inet_addr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - deliver_pass_initial_reply
  - deliver_pass_send_request
  - deliver_pass_final_reply
  - deliver_pass
  - deliver_pass_all
  source_file: /src/postfix/postfix/src/global/deliver_pass.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DELIVER_PASS_DEFER
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/postfix/postfix/src/global/deliver_pass.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DELIVER_PASS_UNKNOWN
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/postfix/postfix/src/global/deliver_pass.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: config_eval
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/global/config.h
      type_or_value: mail_conf_eval
    - item_type: preproc_def
      name: config_lookup
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/global/config.h
      type_or_value: mail_conf_lookup
    - item_type: preproc_def
      name: config_lookup_eval
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postfix/postfix/src/global/config.h
      type_or_value: mail_conf_lookup_eval
    - item_type: preproc_def
      name: config_read
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/postfix/postfix/src/global/config.h
      type_or_value: mail_conf_read
    - item_type: preproc_def
      name: read_config
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postfix/postfix/src/global/config.h
      type_or_value: mail_conf_update
    - item_type: preproc_def
      name: get_config_bool
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/global/config.h
      type_or_value: get_mail_conf_bool
    - item_type: preproc_def
      name: get_config_bool_fn
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/global/config.h
      type_or_value: get_mail_conf_bool_fn
    - item_type: preproc_def
      name: get_config_bool_fn_table
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/global/config.h
      type_or_value: get_mail_conf_bool_fn_table
    - item_type: preproc_def
      name: get_config_bool_table
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postfix/postfix/src/global/config.h
      type_or_value: get_mail_conf_bool_table
    - item_type: preproc_def
      name: get_config_int
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/global/config.h
      type_or_value: get_mail_conf_int
    - item_type: preproc_def
      name: get_config_int2
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postfix/postfix/src/global/config.h
      type_or_value: get_mail_conf_int2
    - item_type: preproc_def
      name: get_config_int_fn
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postfix/postfix/src/global/config.h
      type_or_value: get_mail_conf_int_fn
    - item_type: preproc_def
      name: get_config_int_fn_table
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/global/config.h
      type_or_value: get_mail_conf_int_fn_table
    - item_type: preproc_def
      name: get_config_int_table
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/src/global/config.h
      type_or_value: get_mail_conf_int_table
    - item_type: preproc_def
      name: get_config_raw
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/global/config.h
      type_or_value: get_mail_conf_raw
    - item_type: preproc_def
      name: get_config_raw_fn
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postfix/postfix/src/global/config.h
      type_or_value: get_mail_conf_raw_fn
    - item_type: preproc_def
      name: get_config_raw_fn_table
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/global/config.h
      type_or_value: get_mail_conf_raw_fn_table
    - item_type: preproc_def
      name: get_config_raw_table
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postfix/postfix/src/global/config.h
      type_or_value: get_mail_conf_raw_table
    - item_type: preproc_def
      name: get_config_str
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postfix/postfix/src/global/config.h
      type_or_value: get_mail_conf_str
    - item_type: preproc_def
      name: get_config_str_fn
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postfix/postfix/src/global/config.h
      type_or_value: get_mail_conf_str_fn
    - item_type: preproc_def
      name: get_config_str_fn_table
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/global/config.h
      type_or_value: get_mail_conf_str_fn_table
    - item_type: preproc_def
      name: get_config_str_table
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postfix/postfix/src/global/config.h
      type_or_value: get_mail_conf_str_table
    - item_type: preproc_def
      name: set_config_bool
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/global/config.h
      type_or_value: set_mail_conf_bool
    - item_type: preproc_def
      name: set_config_int
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/global/config.h
      type_or_value: set_mail_conf_int
    - item_type: preproc_def
      name: set_config_str
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/global/config.h
      type_or_value: set_mail_conf_str
    structs: []
    typedefs: []
    union: []
- function_names:
  - clnt_stream_event
  - clnt_stream_ttl_event
  - clnt_stream_open
  - clnt_stream_close
  - clnt_stream_recover
  - clnt_stream_access
  - clnt_stream_create
  - clnt_stream_free
  source_file: /src/postfix/postfix/src/global/clnt_stream.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*vstream'
        type: VSTREAM
      - name: timeout
        type: int
      - name: ttl
        type: int
      - name: handshake
        type: CLNT_STREAM_HANDSHAKE_FN
      - name: '*class'
        type: char
      - name: '*service'
        type: char
      item_type: struct
      name: CLNT_STREAM
      pos:
        line_end: 113
        line_start: 106
        source_file: /src/postfix/postfix/src/global/clnt_stream.c
    typedefs: []
    union: []
- function_names:
  - addr_match_list_init
  - addr_match_list_match
  source_file: /src/postfix/postfix/src/global/addr_match_list.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ADDR_MATCH_LIST
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/global/addr_match_list.h
      type_or_value: MATCH_LIST
    - item_type: preproc_def
      name: addr_match_list_free
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/global/addr_match_list.h
      type_or_value: match_list_free
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_myhostname
  - check_mydomainname
  - check_default_privs
  - check_mail_owner
  - check_sgid_group
  - check_overlap
  - read_param_from_file
  - SKIP
  - TRIM
  - check_legacy_defaults
  - mail_params_init
  source_file: /src/postfix/postfix/src/global/mail_params.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/header_token.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HEADER_TOK_TOKEN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/global/header_token.h
      type_or_value: '256'
    - item_type: preproc_def
      name: HEADER_TOK_QSTRING
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postfix/postfix/src/global/header_token.h
      type_or_value: '257'
    structs:
    - fields:
      - name: type
        type: int
      - name: u
        type: "union {\n\tconst char *value;\t\t/* just a pointer, not a copy */\n\tssize_t
          offset;\t\t\t/* index into token buffer */\n    }"
      item_type: struct
      name: HEADER_TOKEN
      pos:
        line_end: 28
        line_start: 22
        source_file: /src/postfix/postfix/src/global/header_token.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/rec_attr_map.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dict_pgsql_quote
  - dict_pgsql_lookup
  - INIT_VSTR
  - dict_pgsql_check_stat
  - dict_pgsql_find_host
  - dict_pgsql_get_active
  - dict_pgsql_event
  - plpgsql_query
  - plpgsql_connect_single
  - plpgsql_close_host
  - plpgsql_down_host
  - pgsql_parse_config
  - dict_pgsql_open
  - plpgsql_init
  - host_init
  - dict_pgsql_close
  - plpgsql_dealloc
  source_file: /src/postfix/postfix/src/global/dict_pgsql.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STATACTIVE
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/postfix/postfix/src/global/dict_pgsql.c
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: STATFAIL
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/postfix/postfix/src/global/dict_pgsql.c
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: STATUNTRIED
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/postfix/postfix/src/global/dict_pgsql.c
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: TYPEUNIX
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/postfix/postfix/src/global/dict_pgsql.c
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: TYPEINET
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/postfix/postfix/src/global/dict_pgsql.c
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: TYPECONNSTR
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/postfix/postfix/src/global/dict_pgsql.c
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: RETRY_CONN_MAX
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/postfix/postfix/src/global/dict_pgsql.c
      type_or_value: '100'
    - item_type: preproc_def
      name: DEF_RETRY_INTV
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/postfix/postfix/src/global/dict_pgsql.c
      type_or_value: "60\t"
    - item_type: preproc_def
      name: DEF_IDLE_INTV
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/postfix/postfix/src/global/dict_pgsql.c
      type_or_value: "60\t"
    - item_type: preproc_def
      name: PGSQL_RES
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/postfix/postfix/src/global/dict_pgsql.c
      type_or_value: PGresult
    structs:
    - fields:
      - name: '*db'
        type: PGconn
      - name: '*hostname'
        type: char
      - name: '*name'
        type: char
      - name: '*port'
        type: char
      - name: type
        type: unsigned
      - name: stat
        type: unsigned
      - name: ts
        type: time_t
      item_type: struct
      name: HOST
      pos:
        line_end: 125
        line_start: 117
        source_file: /src/postfix/postfix/src/global/dict_pgsql.c
    - fields:
      - name: len_hosts
        type: int
      - name: '**db_hosts'
        type: HOST
      - name: '*non_uri_target'
        type: char
      item_type: struct
      name: PLPGSQL
      pos:
        line_end: 131
        line_start: 127
        source_file: /src/postfix/postfix/src/global/dict_pgsql.c
    - fields:
      - name: dict
        type: DICT
      - name: '*parser'
        type: CFG_PARSER
      - name: '*query'
        type: char
      - name: '*result_format'
        type: char
      - name: '*ctx'
        type: void
      - name: expansion_limit
        type: int
      - name: '*username'
        type: char
      - name: '*password'
        type: char
      - name: '*dbname'
        type: char
      - name: '*encoding'
        type: char
      - name: retry_interval
        type: int
      - name: idle_interval
        type: int
      - name: '*table'
        type: char
      - name: '*hosts'
        type: ARGV
      - name: '*pldb'
        type: PLPGSQL
      - name: '*active_host'
        type: HOST
      item_type: struct
      name: DICT_PGSQL
      pos:
        line_end: 150
        line_start: 133
        source_file: /src/postfix/postfix/src/global/dict_pgsql.c
    typedefs: []
    union: []
- function_names:
  - header_opts_init
  - header_drop_init
  - header_opts_find
  source_file: /src/postfix/postfix/src/global/header_opts.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HEADER_OPTS_SIZE
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/postfix/postfix/src/global/header_opts.c
      type_or_value: (sizeof(header_opts) / sizeof(header_opts[0]))
    structs: []
    typedefs: []
    union: []
- function_names:
  - FREE_AND_WIPE
  - STR
  - mail_stream_cleanup
  - stamp_stream
  - stamp_stream
  - stamp_path
  - mail_stream_finish_file
  - mail_stream_finish_ipc
  - mail_stream_finish
  - mail_stream_file
  - mail_stream_service
  - mail_stream_command
  - mail_stream_ctl
  source_file: /src/postfix/postfix/src/global/mail_stream.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtp_reply_footer
  - lookup
  - main
  source_file: /src/postfix/postfix/src/global/smtp_reply_footer.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/postfix/postfix/src/global/smtp_reply_footer.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: NO_FILTER
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/postfix/postfix/src/global/smtp_reply_footer.c
      type_or_value: ((char *) 0)
    - item_type: preproc_def
      name: NO_TEMPLATE
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/postfix/postfix/src/global/smtp_reply_footer.c
      type_or_value: '"NO_TEMPLATE"'
    - item_type: preproc_def
      name: NO_ERROR
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/postfix/postfix/src/global/smtp_reply_footer.c
      type_or_value: (0)
    - item_type: preproc_def
      name: BAD_SMTP
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/postfix/postfix/src/global/smtp_reply_footer.c
      type_or_value: (-1)
    - item_type: preproc_def
      name: BAD_MACRO
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/postfix/postfix/src/global/smtp_reply_footer.c
      type_or_value: (-2)
    structs:
    - fields:
      - name: '*title'
        type: char
      - name: '*orig_reply'
        type: char
      - name: '*template'
        type: char
      - name: '*filter'
        type: char
      - name: expected_status
        type: int
      - name: '*expected_reply'
        type: char
      item_type: struct
      name: test_case
      pos:
        line_end: 227
        line_start: 220
        source_file: /src/postfix/postfix/src/global/smtp_reply_footer.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/verify_clnt.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VRFY_REQ_QUERY
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/global/verify_clnt.h
      type_or_value: '"query"'
    - item_type: preproc_def
      name: VRFY_REQ_UPDATE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/global/verify_clnt.h
      type_or_value: '"update"'
    - item_type: preproc_def
      name: VRFY_STAT_OK
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postfix/postfix/src/global/verify_clnt.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VRFY_STAT_FAIL
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/global/verify_clnt.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: VRFY_STAT_BAD
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/src/global/verify_clnt.h
      type_or_value: (-2)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/mail_open_ok.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAIL_OPEN_YES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/postfix/postfix/src/global/mail_open_ok.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MAIL_OPEN_NO
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/postfix/postfix/src/global/mail_open_ok.h
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/mime_state.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MIME_OPT_NONE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type_or_value: (0)
    - item_type: preproc_def
      name: MIME_OPT_DOWNGRADE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: MIME_OPT_REPORT_8BIT_IN_7BIT_BODY
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: MIME_OPT_REPORT_8BIT_IN_HEADER
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: MIME_OPT_REPORT_ENCODING_DOMAIN
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: MIME_OPT_RECURSE_ALL_MESSAGE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: MIME_OPT_REPORT_TRUNC_HEADER
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: MIME_OPT_DISABLE_MIME
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: MIME_OPT_REPORT_NESTING
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: MIME_ENC_7BIT
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type_or_value: (7)
    - item_type: preproc_def
      name: MIME_ENC_8BIT
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type_or_value: (8)
    - item_type: preproc_def
      name: MIME_ENC_BINARY
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type_or_value: (9)
    - item_type: preproc_def
      name: MIME_ERR_NESTING
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: MIME_ERR_TRUNC_HEADER
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: MIME_ERR_8BIT_IN_HEADER
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: MIME_ERR_8BIT_IN_7BIT_BODY
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: MIME_ERR_ENCODING_DOMAIN
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: MIME_HDR_FIRST
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type_or_value: "(1)\t"
    - item_type: preproc_def
      name: MIME_HDR_PRIMARY
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type_or_value: "(1)\t"
    - item_type: preproc_def
      name: MIME_HDR_MULTIPART
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type_or_value: "(2)\t"
    - item_type: preproc_def
      name: MIME_HDR_NESTED
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type_or_value: "(3)\t"
    - item_type: preproc_def
      name: MIME_HDR_LAST
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type_or_value: "(3)\t"
    structs:
    - fields:
      - name: code
        type: int
      - name: '*dsn'
        type: char
      - name: '*text'
        type: char
      item_type: struct
      name: MIME_STATE_DETAIL
      pos:
        line_end: 63
        line_start: 59
        source_file: /src/postfix/postfix/src/global/mime_state.h
    typedefs:
    - item_type: typedef
      name: (*MIME_STATE_HEAD_OUT) (void *, int, const HEADER_OPTS *, VSTRING *, off_t)
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type: void
    - item_type: typedef
      name: (*MIME_STATE_BODY_OUT) (void *, int, const char *, ssize_t, off_t)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type: void
    - item_type: typedef
      name: (*MIME_STATE_ANY_END) (void *)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type: void
    - item_type: typedef
      name: (*MIME_STATE_ERR_PRINT) (void *, int, const char *, ssize_t)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/postfix/postfix/src/global/mime_state.h
      type: void
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/smtp_reply_footer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - db_common_alloc
  - db_common_parse
  - db_common_parse_domain
  - db_common_dict_partial
  - db_common_free_ctx
  - db_common_expand
  - QUOTE_VAL
  - db_common_check_domain
  - db_common_sql_build_query
  source_file: /src/postfix/postfix/src/global/db_common.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DB_COMMON_KEY_DOMAIN
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/postfix/postfix/src/global/db_common.c
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: DB_COMMON_KEY_USER
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/postfix/postfix/src/global/db_common.c
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: DB_COMMON_VALUE_DOMAIN
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/postfix/postfix/src/global/db_common.c
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: DB_COMMON_VALUE_USER
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/postfix/postfix/src/global/db_common.c
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: DB_COMMON_KEY_PARTIAL
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/postfix/postfix/src/global/db_common.c
      type_or_value: (1 << 4)
    structs:
    - fields:
      - name: '*dict'
        type: DICT
      - name: '*domain'
        type: STRING_LIST
      - name: flags
        type: int
      - name: nparts
        type: int
      item_type: struct
      name: DB_COMMON_CTX
      pos:
        line_end: 171
        line_start: 166
        source_file: /src/postfix/postfix/src/global/db_common.c
    typedefs: []
    union: []
- function_names:
  - REC_PUT_BUF
  - REC_GET_HIDDEN_TYPE
  - rec_get
  - REC_SPACE_NEED
  source_file: /src/postfix/postfix/src/global/record.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: REC_TYPE_EOF
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/global/record.h
      type_or_value: "-1\t\t"
    - item_type: preproc_def
      name: REC_TYPE_ERROR
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postfix/postfix/src/global/record.h
      type_or_value: "-2\t\t"
    - item_type: preproc_def
      name: REC_FLAG_NONE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/global/record.h
      type_or_value: (0)
    - item_type: preproc_def
      name: REC_FLAG_FOLLOW_PTR
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/global/record.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: REC_FLAG_SKIP_DTXT
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/global/record.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: REC_FLAG_SEEK_END
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postfix/postfix/src/global/record.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: REC_FLAG_DEFAULT
      pos:
        line_end: 51
        line_start: 49
        source_file: /src/postfix/postfix/src/global/record.h
      type_or_value: (REC_FLAG_FOLLOW_PTR | REC_FLAG_SKIP_DTXT | REC_FLAG_SEEK_END)
    structs: []
    typedefs: []
    union: []
- function_names:
  - strip_addr_internal
  - main
  source_file: /src/postfix/postfix/src/global/strip_addr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NO_DELIM
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/postfix/postfix/src/global/strip_addr.c
      type_or_value: '""'
    structs: []
    typedefs: []
    union: []
- function_names:
  - verify_append
  source_file: /src/postfix/postfix/src/global/verify.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - debug_process
  source_file: /src/postfix/postfix/src/global/debug_process.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dsn_valid
  - dsn_split
  - dsn_prepend
  source_file: /src/postfix/postfix/src/global/dsn_util.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/maillog_client.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAILLOG_CLIENT_FLAG_NONE
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/postfix/postfix/src/global/maillog_client.h
      type_or_value: (0)
    - item_type: preproc_def
      name: MAILLOG_CLIENT_FLAG_LOGWRITER_FALLBACK
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/postfix/postfix/src/global/maillog_client.h
      type_or_value: (1<<0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - mail_command_server
  source_file: /src/postfix/postfix/src/global/mail_command_server.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/log_adhoc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/canon_addr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CA_PIPE_CMD_COMMAND
  - CA_PIPE_CMD_ARGV
  - CA_PIPE_CMD_COPY_FLAGS
  - CA_PIPE_CMD_SENDER
  - CA_PIPE_CMD_DELIVERED
  - CA_PIPE_CMD_UID
  - CA_PIPE_CMD_GID
  - CA_PIPE_CMD_TIME_LIMIT
  - CA_PIPE_CMD_ENV
  - CA_PIPE_CMD_SHELL
  - CA_PIPE_CMD_EOL
  - CA_PIPE_CMD_EXPORT
  - CA_PIPE_CMD_ORIG_RCPT
  - CA_PIPE_CMD_CWD
  - CA_PIPE_CMD_CHROOT
  source_file: /src/postfix/postfix/src/global/pipe_command.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PIPE_CMD_END
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postfix/postfix/src/global/pipe_command.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: PIPE_CMD_COMMAND
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/global/pipe_command.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: PIPE_CMD_ARGV
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postfix/postfix/src/global/pipe_command.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: PIPE_CMD_COPY_FLAGS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postfix/postfix/src/global/pipe_command.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: PIPE_CMD_SENDER
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/global/pipe_command.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: PIPE_CMD_DELIVERED
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/src/global/pipe_command.h
      type_or_value: "5\t"
    - item_type: preproc_def
      name: PIPE_CMD_UID
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/global/pipe_command.h
      type_or_value: "6\t"
    - item_type: preproc_def
      name: PIPE_CMD_GID
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postfix/postfix/src/global/pipe_command.h
      type_or_value: "7\t"
    - item_type: preproc_def
      name: PIPE_CMD_TIME_LIMIT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/global/pipe_command.h
      type_or_value: "8\t"
    - item_type: preproc_def
      name: PIPE_CMD_ENV
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postfix/postfix/src/global/pipe_command.h
      type_or_value: "9\t"
    - item_type: preproc_def
      name: PIPE_CMD_SHELL
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postfix/postfix/src/global/pipe_command.h
      type_or_value: "10\t"
    - item_type: preproc_def
      name: PIPE_CMD_EOL
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postfix/postfix/src/global/pipe_command.h
      type_or_value: "11\t"
    - item_type: preproc_def
      name: PIPE_CMD_EXPORT
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/global/pipe_command.h
      type_or_value: "12\t"
    - item_type: preproc_def
      name: PIPE_CMD_ORIG_RCPT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postfix/postfix/src/global/pipe_command.h
      type_or_value: "13\t"
    - item_type: preproc_def
      name: PIPE_CMD_CWD
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/global/pipe_command.h
      type_or_value: "14\t"
    - item_type: preproc_def
      name: PIPE_CMD_CHROOT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/global/pipe_command.h
      type_or_value: "15\t"
    - item_type: preproc_def
      name: CA_PIPE_CMD_END
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/postfix/postfix/src/global/pipe_command.h
      type_or_value: PIPE_CMD_END
    - item_type: preproc_def
      name: PIPE_STAT_OK
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/postfix/postfix/src/global/pipe_command.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: PIPE_STAT_DEFER
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/postfix/postfix/src/global/pipe_command.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: PIPE_STAT_BOUNCE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/postfix/postfix/src/global/pipe_command.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: PIPE_STAT_CORRUPT
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/postfix/postfix/src/global/pipe_command.h
      type_or_value: "3\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - HBC_HEADER_INDEX
  - HBC_INIT
  - STR
  - LEN
  - hbc_action
  - STREQUAL
  - hbc_header_checks
  - hbc_body_checks
  - hbc_header_checks_create
  - hbc_body_checks_create
  - _hbc_checks_free
  - log_cb
  - out_cb
  - head_out
  - head_end
  - body_out
  - body_end
  - err_print
  - main
  source_file: /src/postfix/postfix/src/global/header_body_checks.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HBC_BODY_INDEX
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/postfix/postfix/src/global/header_body_checks.c
      type_or_value: (0)
    - item_type: preproc_def
      name: HBC_CTXT_HEADER
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/postfix/postfix/src/global/header_body_checks.c
      type_or_value: '"header"'
    - item_type: preproc_def
      name: HBC_CTXT_BODY
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/postfix/postfix/src/global/header_body_checks.c
      type_or_value: '"body"'
    - item_type: preproc_def
      name: REC_LEN
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/postfix/postfix/src/global/header_body_checks.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: MIME_OPTIONS
      pos:
        line_end: 598
        line_start: 591
        source_file: /src/postfix/postfix/src/global/header_body_checks.c
      type_or_value: "(MIME_OPT_REPORT_8BIT_IN_7BIT_BODY \\\n            | MIME_OPT_REPORT_8BIT_IN_HEADER
        \\\n            | MIME_OPT_REPORT_ENCODING_DOMAIN \\\n            | MIME_OPT_REPORT_TRUNC_HEADER
        \\\n            | MIME_OPT_REPORT_NESTING \\\n            | MIME_OPT_DOWNGRADE)"
    structs:
    - fields:
      - name: '*header_checks'
        type: HBC_CHECKS
      - name: '*body_checks'
        type: HBC_CHECKS
      - name: '*call_backs'
        type: HBC_CALL_BACKS
      - name: '*fp'
        type: VSTREAM
      - name: '*buf'
        type: VSTRING
      - name: '*queueid'
        type: char
      - name: recno
        type: int
      item_type: struct
      name: HBC_TEST_CONTEXT
      pos:
        line_end: 450
        line_start: 442
        source_file: /src/postfix/postfix/src/global/header_body_checks.c
    typedefs: []
    union: []
- function_names:
  - DSN_ASSIGN
  - DSN_SIMPLE
  - DSN_COPY
  source_file: /src/postfix/postfix/src/global/dsn.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DSN_NO_ACTION
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/postfix/postfix/src/global/dsn.h
      type_or_value: '""'
    - item_type: preproc_def
      name: DSN_NO_DTYPE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/postfix/postfix/src/global/dsn.h
      type_or_value: '""'
    - item_type: preproc_def
      name: DSN_NO_DTEXT
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/postfix/postfix/src/global/dsn.h
      type_or_value: '""'
    - item_type: preproc_def
      name: DSN_NO_MTYPE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/postfix/postfix/src/global/dsn.h
      type_or_value: '""'
    - item_type: preproc_def
      name: DSN_NO_MNAME
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/postfix/postfix/src/global/dsn.h
      type_or_value: '""'
    structs:
    - fields:
      - name: '*status'
        type: char
      - name: '*action'
        type: char
      - name: '*reason'
        type: char
      - name: '*dtype'
        type: char
      - name: '*dtext'
        type: char
      - name: '*mtype'
        type: char
      - name: '*mname'
        type: char
      item_type: struct
      name: DSN
      pos:
        line_end: 24
        line_start: 16
        source_file: /src/postfix/postfix/src/global/dsn.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/mail_error.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vstream_swap
  - printable_except
  - create_and_populate_db
  - create_and_populate_cf
  - test_flag_non_recommended_query
  - main
  source_file: /src/postfix/postfix/src/global/dict_sqlite_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PASS
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/postfix/postfix/src/global/dict_sqlite_test.c
      type_or_value: (0)
    - item_type: preproc_def
      name: FAIL
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/postfix/postfix/src/global/dict_sqlite_test.c
      type_or_value: (1)
    - item_type: preproc_def
      name: PATH_TEMPLATE
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/postfix/postfix/src/global/dict_sqlite_test.c
      type_or_value: '"/tmp/test-XXXXXXX"'
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: (*action) (const struct TEST_CASE *)
        type: int
      - name: '*commands'
        type: char
      - name: '*settings'
        type: char
      - name: '*exp_warning'
        type: char
      item_type: struct
      name: TEST_CASE
      pos:
        line_end: 129
        line_start: 123
        source_file: /src/postfix/postfix/src/global/dict_sqlite_test.c
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - msg_stats_scan
  source_file: /src/postfix/postfix/src/global/msg_stats_scan.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - dsb_create
  - dsb_free
  - DSB_TRUNCATE
  - NULL_OR_EMPTY
  - DSB_ACTION
  - DSB_MTA
  - DSB_DIAG
  - dsb_update
  - vdsb_simple
  - dsb_simple
  - dsb_unix
  - dsb_formal
  - dsb_status
  - dsb_reset
  source_file: /src/postfix/postfix/src/global/dsn_buf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mail_conf_checkdir
  - mail_conf_read
  - mail_conf_suck
  - mail_conf_flush
  - mail_conf_eval
  - mail_conf_eval_once
  - mail_conf_lookup
  - mail_conf_lookup_eval
  - mail_conf_update
  source_file: /src/postfix/postfix/src/global/mail_conf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RECURSIVE
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/postfix/postfix/src/global/mail_conf.c
      type_or_value: '1'
    - item_type: preproc_def
      name: NONRECURSIVE
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/postfix/postfix/src/global/mail_conf.c
      type_or_value: '0'
    - item_type: preproc_def
      name: RECURSIVE
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/postfix/postfix/src/global/mail_conf.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - sasl_mech_filter
  source_file: /src/postfix/postfix/src/global/sasl_mech_filter.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RECIPIENT_ASSIGN
  - RECIPIENT_UPDATE
  source_file: /src/postfix/postfix/src/global/recipient_list.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RCPT_LIST_INIT_STATUS
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/postfix/postfix/src/global/recipient_list.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RCPT_LIST_INIT_QUEUE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/postfix/postfix/src/global/recipient_list.h
      type_or_value: '2'
    - item_type: preproc_def
      name: RCPT_LIST_INIT_ADDR
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/postfix/postfix/src/global/recipient_list.h
      type_or_value: '3'
    structs:
    - fields:
      - name: offset
        type: long
      - name: '*dsn_orcpt'
        type: char
      - name: dsn_notify
        type: int
      - name: '*orig_addr'
        type: char
      - name: '*address'
        type: char
      - name: u
        type: "union {\t\t\t\t/* Application specific. */\n\tint     status;\t\t\t/*
          SMTP client */\n\tstruct QMGR_QUEUE *queue;\t/* Queue manager */\n\tconst
          char *addr_type;\t\t/* DSN */\n    }"
      item_type: struct
      name: RECIPIENT
      pos:
        line_end: 33
        line_start: 22
        source_file: /src/postfix/postfix/src/global/recipient_list.h
    - fields:
      - name: '*info'
        type: RECIPIENT
      - name: len
        type: int
      - name: avail
        type: int
      - name: variant
        type: int
      item_type: struct
      name: RECIPIENT_LIST
      pos:
        line_end: 53
        line_start: 48
        source_file: /src/postfix/postfix/src/global/recipient_list.h
    typedefs: []
    union: []
- function_names:
  - REC_STREAMLF_PUT_BUF
  source_file: /src/postfix/postfix/src/global/rec_streamlf.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/deliver_flock.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - server_acl_pre_jail_init
  - server_acl_parse
  - STREQ
  - STRNE
  - server_acl_eval
  - UPDATE_VAR
  - main
  source_file: /src/postfix/postfix/src/global/server_acl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/postfix/postfix/src/global/server_acl.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: VAR_SERVER_ACL
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/postfix/postfix/src/global/server_acl.c
      type_or_value: '"server_acl"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/mail_proto.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAIL_PROTO_SMTP
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"SMTP"'
    - item_type: preproc_def
      name: MAIL_PROTO_ESMTP
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"ESMTP"'
    - item_type: preproc_def
      name: MAIL_PROTO_QMQP
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"QMQP"'
    - item_type: preproc_def
      name: MAIL_SERVICE_BOUNCE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"bounce"'
    - item_type: preproc_def
      name: MAIL_SERVICE_CLEANUP
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"cleanup"'
    - item_type: preproc_def
      name: MAIL_SERVICE_DEFER
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"defer"'
    - item_type: preproc_def
      name: MAIL_SERVICE_FORWARD
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"forward"'
    - item_type: preproc_def
      name: MAIL_SERVICE_LOCAL
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"local"'
    - item_type: preproc_def
      name: MAIL_SERVICE_PICKUP
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"pickup"'
    - item_type: preproc_def
      name: MAIL_SERVICE_QUEUE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"qmgr"'
    - item_type: preproc_def
      name: MAIL_SERVICE_TLSMGR
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"tlsmgr"'
    - item_type: preproc_def
      name: MAIL_SERVICE_RESOLVE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"resolve"'
    - item_type: preproc_def
      name: MAIL_SERVICE_REWRITE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"rewrite"'
    - item_type: preproc_def
      name: MAIL_SERVICE_VIRTUAL
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"virtual"'
    - item_type: preproc_def
      name: MAIL_SERVICE_SMTP
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"smtp"'
    - item_type: preproc_def
      name: MAIL_SERVICE_SMTPD
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"smtpd"'
    - item_type: preproc_def
      name: MAIL_SERVICE_SHOWQ
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"showq"'
    - item_type: preproc_def
      name: MAIL_SERVICE_ERROR
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"error"'
    - item_type: preproc_def
      name: MAIL_SERVICE_RETRY
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"retry"'
    - item_type: preproc_def
      name: MAIL_SERVICE_FLUSH
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"flush"'
    - item_type: preproc_def
      name: MAIL_SERVICE_VERIFY
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"verify"'
    - item_type: preproc_def
      name: MAIL_SERVICE_TRACE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"trace"'
    - item_type: preproc_def
      name: MAIL_SERVICE_RELAY
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"relay"'
    - item_type: preproc_def
      name: MAIL_SERVICE_PROXYMAP
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"proxymap"'
    - item_type: preproc_def
      name: MAIL_SERVICE_PROXYWRITE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"proxywrite"'
    - item_type: preproc_def
      name: MAIL_SERVICE_SCACHE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"scache"'
    - item_type: preproc_def
      name: MAIL_SERVICE_DNSBLOG
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"dnsblog"'
    - item_type: preproc_def
      name: MAIL_SERVICE_TLSPROXY
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"tlsproxy"'
    - item_type: preproc_def
      name: MAIL_SERVICE_POSTLOG
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"postlog"'
    - item_type: preproc_def
      name: MAIL_PROC_NAME_SMTP
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"smtp"'
    - item_type: preproc_def
      name: MAIL_PROC_NAME_LMTP
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"lmtp"'
    - item_type: preproc_def
      name: MAIL_SRC_NAME_SENDMAIL
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"sendmail\"\t"
    - item_type: preproc_def
      name: MAIL_SRC_NAME_SMTPD
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"smtpd\"\t"
    - item_type: preproc_def
      name: MAIL_SRC_NAME_QMQPD
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"qmqpd\"\t"
    - item_type: preproc_def
      name: MAIL_SRC_NAME_FORWARD
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"forward\"\t"
    - item_type: preproc_def
      name: MAIL_SRC_NAME_BOUNCE
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"bounce"'
    - item_type: preproc_def
      name: MAIL_SRC_NAME_NOTIFY
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"notify"'
    - item_type: preproc_def
      name: MAIL_SRC_NAME_VERIFY
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"verify"'
    - item_type: preproc_def
      name: MAIL_SRC_NAME_ALL
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"all\"\t"
    - item_type: preproc_def
      name: MAIL_SRC_MASK_SENDMAIL
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: MAIL_SRC_MASK_SMTPD
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: MAIL_SRC_MASK_QMQPD
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: MAIL_SRC_MASK_FORWARD
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: MAIL_SRC_MASK_BOUNCE
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "(1<<4)\t"
    - item_type: preproc_def
      name: MAIL_SRC_MASK_NOTIFY
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "(1<<5)\t"
    - item_type: preproc_def
      name: MAIL_SRC_MASK_VERIFY
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "(1<<6)\t"
    - item_type: preproc_def
      name: MAIL_SRC_MASK_ALL
      pos:
        line_end: 97
        line_start: 92
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "( MAIL_SRC_MASK_SENDMAIL | MAIL_SRC_MASK_SMTPD \\\n\t| MAIL_SRC_MASK_QMQPD
        |  MAIL_SRC_MASK_FORWARD \\\n\t| MAIL_SRC_MASK_BOUNCE | MAIL_SRC_MASK_NOTIFY
        \\\n\t| MAIL_SRC_MASK_VERIFY)"
    - item_type: preproc_def
      name: MAIL_CLASS_PUBLIC
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"public"'
    - item_type: preproc_def
      name: MAIL_CLASS_PRIVATE
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"private"'
    - item_type: preproc_def
      name: TRIGGER_REQ_WAKEUP
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "'W'\t"
    - item_type: preproc_def
      name: QMGR_REQ_SCAN_DEFERRED
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "'D'\t"
    - item_type: preproc_def
      name: QMGR_REQ_SCAN_INCOMING
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "'I'\t"
    - item_type: preproc_def
      name: QMGR_REQ_FLUSH_DEAD
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "'F'\t"
    - item_type: preproc_def
      name: QMGR_REQ_SCAN_ALL
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "'A'\t"
    - item_type: preproc_def
      name: MAIL_ATTR_PROTO
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"protocol"'
    - item_type: preproc_def
      name: MAIL_ATTR_PROTO_ANVIL
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"anvil_protocol"'
    - item_type: preproc_def
      name: MAIL_ATTR_PROTO_BOUNCE
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"delivery_status_protocol"'
    - item_type: preproc_def
      name: MAIL_ATTR_PROTO_CLEANUP
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"cleanup_protocol"'
    - item_type: preproc_def
      name: MAIL_ATTR_PROTO_DELIVER
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"delivery_request_protocol"'
    - item_type: preproc_def
      name: MAIL_ATTR_PROTO_FLUSH
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"queue_flush_protocol"'
    - item_type: preproc_def
      name: MAIL_ATTR_PROTO_POSTDROP
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"postdrop_protocol"'
    - item_type: preproc_def
      name: MAIL_ATTR_PROTO_PROXYMAP
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"proxymap_protocol"'
    - item_type: preproc_def
      name: MAIL_ATTR_PROTO_SCACHE
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"connection_cache_protocol"'
    - item_type: preproc_def
      name: MAIL_ATTR_PROTO_SHOWQ
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"mail_queue_list_protocol"'
    - item_type: preproc_def
      name: MAIL_ATTR_PROTO_TLSMGR
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"tlsmgr_protocol"'
    - item_type: preproc_def
      name: MAIL_ATTR_PROTO_TLSPROXY
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"tlsproxy_protocol"'
    - item_type: preproc_def
      name: MAIL_ATTR_PROTO_TRIVIAL
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"trivial_rewrite_protocol"'
    - item_type: preproc_def
      name: MAIL_ATTR_PROTO_VERIFY
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"address_verification_prrotocol"'
    - item_type: preproc_def
      name: MAIL_ATTR_REQ
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"request"'
    - item_type: preproc_def
      name: MAIL_ATTR_NREQ
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"nrequest"'
    - item_type: preproc_def
      name: MAIL_ATTR_STATUS
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"status"'
    - item_type: preproc_def
      name: MAIL_ATTR_FLAGS
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"flags"'
    - item_type: preproc_def
      name: MAIL_ATTR_QUEUE
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"queue_name"'
    - item_type: preproc_def
      name: MAIL_ATTR_QUEUEID
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"queue_id"'
    - item_type: preproc_def
      name: MAIL_ATTR_SENDER
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"sender"'
    - item_type: preproc_def
      name: MAIL_ATTR_RCPT_COUNT
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"recipient_count"'
    - item_type: preproc_def
      name: MAIL_ATTR_ORCPT
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"original_recipient"'
    - item_type: preproc_def
      name: MAIL_ATTR_RECIP
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"recipient"'
    - item_type: preproc_def
      name: MAIL_ATTR_WHY
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"reason"'
    - item_type: preproc_def
      name: MAIL_ATTR_VERPDL
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"verp_delimiters"'
    - item_type: preproc_def
      name: MAIL_ATTR_SITE
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"site"'
    - item_type: preproc_def
      name: MAIL_ATTR_OFFSET
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"offset"'
    - item_type: preproc_def
      name: MAIL_ATTR_SIZE
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"size"'
    - item_type: preproc_def
      name: MAIL_ATTR_ERRTO
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"errors-to"'
    - item_type: preproc_def
      name: MAIL_ATTR_RRCPT
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"return-receipt"'
    - item_type: preproc_def
      name: MAIL_ATTR_TIME
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"time"'
    - item_type: preproc_def
      name: MAIL_ATTR_LOCALTIME
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"localtime"'
    - item_type: preproc_def
      name: MAIL_ATTR_CREATE_TIME
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"create_time"'
    - item_type: preproc_def
      name: MAIL_ATTR_RULE
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"rule"'
    - item_type: preproc_def
      name: MAIL_ATTR_ADDR
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"address"'
    - item_type: preproc_def
      name: MAIL_ATTR_TRANSPORT
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"transport"'
    - item_type: preproc_def
      name: MAIL_ATTR_NEXTHOP
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"nexthop"'
    - item_type: preproc_def
      name: MAIL_ATTR_TRACE_FLAGS
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"trace_flags"'
    - item_type: preproc_def
      name: MAIL_ATTR_ADDR_STATUS
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"recipient_status"'
    - item_type: preproc_def
      name: MAIL_ATTR_ACTION
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"action"'
    - item_type: preproc_def
      name: MAIL_ATTR_TABLE
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"table"'
    - item_type: preproc_def
      name: MAIL_ATTR_KEY
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"key"'
    - item_type: preproc_def
      name: MAIL_ATTR_VALUE
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"value"'
    - item_type: preproc_def
      name: MAIL_ATTR_INSTANCE
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"instance"'
    - item_type: preproc_def
      name: MAIL_ATTR_SASL_METHOD
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"sasl_method"'
    - item_type: preproc_def
      name: MAIL_ATTR_SASL_USERNAME
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"sasl_username"'
    - item_type: preproc_def
      name: MAIL_ATTR_SASL_SENDER
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"sasl_sender"'
    - item_type: preproc_def
      name: MAIL_ATTR_ETRN_DOMAIN
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"etrn_domain"'
    - item_type: preproc_def
      name: MAIL_ATTR_DUMMY
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"dummy"'
    - item_type: preproc_def
      name: MAIL_ATTR_STRESS
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"stress"'
    - item_type: preproc_def
      name: MAIL_ATTR_LOG_IDENT
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"log_ident"'
    - item_type: preproc_def
      name: MAIL_ATTR_RWR_CONTEXT
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"rewrite_context"'
    - item_type: preproc_def
      name: MAIL_ATTR_POL_CONTEXT
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"policy_context"'
    - item_type: preproc_def
      name: MAIL_ATTR_FORCED_EXPIRE
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"forced_expire"'
    - item_type: preproc_def
      name: MAIL_ATTR_RWR_LOCAL
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"local"'
    - item_type: preproc_def
      name: MAIL_ATTR_RWR_REMOTE
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"remote"'
    - item_type: preproc_def
      name: MAIL_ATTR_TTL
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"ttl"'
    - item_type: preproc_def
      name: MAIL_ATTR_LABEL
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"label"'
    - item_type: preproc_def
      name: MAIL_ATTR_PROP
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"property"'
    - item_type: preproc_def
      name: MAIL_ATTR_FUNC
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"function"'
    - item_type: preproc_def
      name: MAIL_ATTR_CCERT_SUBJECT
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"ccert_subject"'
    - item_type: preproc_def
      name: MAIL_ATTR_CCERT_ISSUER
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"ccert_issuer"'
    - item_type: preproc_def
      name: MAIL_ATTR_CCERT_CERT_FPRINT
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"ccert_fingerprint"'
    - item_type: preproc_def
      name: MAIL_ATTR_CCERT_PKEY_FPRINT
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"ccert_pubkey_fingerprint"'
    - item_type: preproc_def
      name: MAIL_ATTR_CRYPTO_PROTOCOL
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"encryption_protocol"'
    - item_type: preproc_def
      name: MAIL_ATTR_CRYPTO_CIPHER
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"encryption_cipher"'
    - item_type: preproc_def
      name: MAIL_ATTR_CRYPTO_KEYSIZE
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"encryption_keysize"'
    - item_type: preproc_def
      name: MAIL_ATTR_COMPAT_LEVEL
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"compatibility_level"'
    - item_type: preproc_def
      name: MAIL_ATTR_MAIL_VERSION
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"mail_version"'
    - item_type: preproc_def
      name: MAIL_ATTR_INST_FLAGS
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"instance_flags"'
    - item_type: preproc_def
      name: MAIL_ATTR_S_NAME
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"_name"'
    - item_type: preproc_def
      name: MAIL_ATTR_S_DOMAIN
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"_domain"'
    - item_type: preproc_def
      name: MAIL_ATTR_RBL_WHAT
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"rbl_what"'
    - item_type: preproc_def
      name: MAIL_ATTR_RBL_DOMAIN
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"rbl_domain"'
    - item_type: preproc_def
      name: MAIL_ATTR_RBL_REASON
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"rbl_reason"'
    - item_type: preproc_def
      name: MAIL_ATTR_RBL_TXT
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"rbl_txt\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_RBL_CLASS
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"rbl_class"'
    - item_type: preproc_def
      name: MAIL_ATTR_RBL_CODE
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"rbl_code"'
    - item_type: preproc_def
      name: MAIL_ATTR_RBL_ADDR
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"rbl_addr"'
    - item_type: preproc_def
      name: MAIL_ATTR_ENCODING
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"encoding\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_ENC_8BIT
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"8bit\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_ENC_7BIT
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"7bit\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_ENC_NONE
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_LOG_CLIENT_NAME
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"log_client_name\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_LOG_CLIENT_ADDR
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"log_client_address\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_LOG_CLIENT_PORT
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"log_client_port\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_LOG_HELO_NAME
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"log_helo_name\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_LOG_PROTO_NAME
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"log_protocol_name\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_LOG_ORIGIN
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"log_message_origin\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_ACT_CLIENT
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"client"'
    - item_type: preproc_def
      name: MAIL_ATTR_ACT_CLIENT_NAME
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"client_name\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_ACT_CLIENT_ADDR
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"client_address\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_ACT_CLIENT_PORT
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"client_port\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_ACT_CLIENT_AF
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"client_address_type\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_ACT_HELO_NAME
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"helo_name\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_ACT_PROTO_NAME
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"protocol_name\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_ACT_REVERSE_CLIENT_NAME
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"reverse_client_name"'
    - item_type: preproc_def
      name: MAIL_ATTR_ACT_FORWARD_CLIENT_NAME
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"forward_client_name"'
    - item_type: preproc_def
      name: MAIL_ATTR_ACT_SERVER_ADDR
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"server_address\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_ACT_SERVER_PORT
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"server_port\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_PROTO_STATE
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"protocol_state\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_ORG_NONE
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"unknown\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_ORG_LOCAL
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"local\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_MESSAGE_ID
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"message_id\"\t"
    - item_type: preproc_def
      name: XCLIENT_CMD
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"XCLIENT\"\t"
    - item_type: preproc_def
      name: XCLIENT_NAME
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"NAME\"\t"
    - item_type: preproc_def
      name: XCLIENT_REVERSE_NAME
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"REVERSE_NAME\"\t"
    - item_type: preproc_def
      name: XCLIENT_FORWARD_NAME
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"FORWARD_NAME\"\t"
    - item_type: preproc_def
      name: XCLIENT_ADDR
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"ADDR\"\t"
    - item_type: preproc_def
      name: XCLIENT_PORT
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"PORT\"\t"
    - item_type: preproc_def
      name: XCLIENT_PROTO
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"PROTO\"\t"
    - item_type: preproc_def
      name: XCLIENT_HELO
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"HELO\"\t"
    - item_type: preproc_def
      name: XCLIENT_LOGIN
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"LOGIN\"\t"
    - item_type: preproc_def
      name: XCLIENT_DESTADDR
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"DESTADDR\"\t"
    - item_type: preproc_def
      name: XCLIENT_DESTPORT
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"DESTPORT\"\t"
    - item_type: preproc_def
      name: XCLIENT_UNAVAILABLE
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"[UNAVAILABLE]\"\t"
    - item_type: preproc_def
      name: XCLIENT_TEMPORARY
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"[TEMPUNAVAIL]\"\t"
    - item_type: preproc_def
      name: XFORWARD_CMD
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"XFORWARD\"\t"
    - item_type: preproc_def
      name: XFORWARD_NAME
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"NAME\"\t"
    - item_type: preproc_def
      name: XFORWARD_ADDR
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"ADDR\"\t"
    - item_type: preproc_def
      name: XFORWARD_PORT
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"PORT\"\t"
    - item_type: preproc_def
      name: XFORWARD_PROTO
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"PROTO\"\t"
    - item_type: preproc_def
      name: XFORWARD_HELO
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"HELO\"\t"
    - item_type: preproc_def
      name: XFORWARD_IDENT
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"IDENT\"\t"
    - item_type: preproc_def
      name: XFORWARD_DOMAIN
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"SOURCE"'
    - item_type: preproc_def
      name: XFORWARD_DOM_LOCAL
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"LOCAL\"\t"
    - item_type: preproc_def
      name: XFORWARD_DOM_REMOTE
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"REMOTE"'
    - item_type: preproc_def
      name: XFORWARD_UNAVAILABLE
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"[UNAVAILABLE]\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_DSN_STATUS
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"status"'
    - item_type: preproc_def
      name: MAIL_ATTR_DSN_DTYPE
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"diag_type\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_DSN_DTEXT
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"diag_text\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_DSN_MTYPE
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"mta_type\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_DSN_MNAME
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"mta_mname\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_DSN_ACTION
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"action"'
    - item_type: preproc_def
      name: MAIL_ATTR_DSN_ENVID
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"envelope_id\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_DSN_RET
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"ret_flags\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_DSN_NOTIFY
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"notify_flags\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_DSN_ORCPT
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"dsn_orig_rcpt\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_SENDOPTS
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: "\"sendopts\"\t"
    - item_type: preproc_def
      name: MAIL_ATTR_SERVER_NAME
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/postfix/postfix/src/global/mail_proto.h
      type_or_value: '"server_name"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - tok822_append
  - tok822_prepend
  - tok822_cut_before
  - tok822_cut_after
  - tok822_unlink
  - tok822_sub_append
  - tok822_sub_prepend
  - tok822_sub_keep_before
  - tok822_sub_keep_after
  - tok822_free_tree
  - tok822_apply
  - tok822_grep
  source_file: /src/postfix/postfix/src/global/tok822_tree.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - uxtext_quote_append
  - uxtext_quote
  - uxtext_unquote_append
  - uxtext_unquote
  - read_buf
  - main
  source_file: /src/postfix/postfix/src/global/uxtext.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUFLEN
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/postfix/postfix/src/global/uxtext.c
      type_or_value: '1024'
    structs: []
    typedefs: []
    union: []
- function_names:
  - deliver_flock
  source_file: /src/postfix/postfix/src/global/deliver_flock.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MILLION
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/postfix/postfix/src/global/deliver_flock.c
      type_or_value: '1000000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtp_timeout_setup
  source_file: /src/postfix/postfix/src/global/smtp_stream.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SMTP_ERR_EOF
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postfix/postfix/src/global/smtp_stream.h
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: SMTP_ERR_TIME
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/global/smtp_stream.h
      type_or_value: "2\t\t"
    - item_type: preproc_def
      name: SMTP_ERR_QUIET
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postfix/postfix/src/global/smtp_stream.h
      type_or_value: "3\t\t"
    - item_type: preproc_def
      name: SMTP_ERR_NONE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postfix/postfix/src/global/smtp_stream.h
      type_or_value: "4\t\t"
    - item_type: preproc_def
      name: SMTP_ERR_DATA
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/global/smtp_stream.h
      type_or_value: "5\t\t"
    - item_type: preproc_def
      name: SMTP_GET_FLAG_NONE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/postfix/postfix/src/global/smtp_stream.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SMTP_GET_FLAG_SKIP
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/postfix/postfix/src/global/smtp_stream.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: SMTP_GET_FLAG_APPEND
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/postfix/postfix/src/global/smtp_stream.h
      type_or_value: "(1<<1)\t"
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/sasl_mech_filter.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mail_scan_dir_next
  source_file: /src/postfix/postfix/src/global/mail_scan_dir.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/clnt_stream.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*CLNT_STREAM_HANDSHAKE_FN) (VSTREAM *)
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/postfix/postfix/src/global/clnt_stream.h
      type: int
    union: []
- function_names:
  - STR
  - been_here_init
  - been_here_free
  - been_here
  - been_here_fixed
  - been_here_check
  - been_here_check_fixed
  - been_here_drop
  - been_here_drop_fixed
  source_file: /src/postfix/postfix/src/global/been_here.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - data_redirect_path
  - data_redirect_file
  - data_redirect_map
  - main
  source_file: /src/postfix/postfix/src/global/data_redirect.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PATH_DELIMITER
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/postfix/postfix/src/global/data_redirect.c
      type_or_value: '"/"'
    - item_type: preproc_def
      name: MAP_DELIMITER
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/postfix/postfix/src/global/data_redirect.c
      type_or_value: '":"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/user_acl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/midna_adomain.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/mail_flush.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - bounce_append
  - bounce_append_intern
  - bounce_flush
  - bounce_flush_verp
  - bounce_one
  - bounce_one_intern
  - bounce_client_init
  source_file: /src/postfix/postfix/src/global/bounce.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/config_known_tcp_ports.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rec_attr_map
  source_file: /src/postfix/postfix/src/global/rec_attr_map.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - REMOVE
  source_file: /src/postfix/postfix/src/global/remove.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - POST_MAIL_BUFFER
  source_file: /src/postfix/postfix/src/global/post_mail.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*POST_MAIL_NOTIFY) (VSTREAM *, void *)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/postfix/postfix/src/global/post_mail.h
      type: void
    - item_type: typedef
      name: (*POST_MAIL_FCLOSE_NOTIFY) (int, void *)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/postfix/postfix/src/global/post_mail.h
      type: void
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/fold_addr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FOLD_ADDR_USER
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/postfix/postfix/src/global/fold_addr.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: FOLD_ADDR_HOST
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/postfix/postfix/src/global/fold_addr.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: FOLD_ADDR_ALL
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/postfix/postfix/src/global/fold_addr.h
      type_or_value: (FOLD_ADDR_USER | FOLD_ADDR_HOST)
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - VSTREQ
  - dict_proxy_handshake
  - dict_proxy_sequence
  - dict_proxy_lookup
  - dict_proxy_update
  - dict_proxy_delete
  - dict_proxy_close
  - dict_proxy_open
  - DICT_PROXY_ERR_RETURN
  source_file: /src/postfix/postfix/src/global/dict_proxy.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dict
        type: DICT
      - name: '*clnt'
        type: CLNT_STREAM
      - name: '*service'
        type: char
      - name: inst_flags
        type: int
      - name: '*reskey'
        type: VSTRING
      - name: '*result'
        type: VSTRING
      item_type: struct
      name: DICT_PROXY
      pos:
        line_end: 82
        line_start: 75
        source_file: /src/postfix/postfix/src/global/dict_proxy.c
    typedefs: []
    union: []
- function_names:
  - make_ascii_header_text
  - test_make_ascii_header_text
  - main
  source_file: /src/postfix/postfix/src/global/ascii_header_text.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/postfix/postfix/src/global/ascii_header_text.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: LEN
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/postfix/postfix/src/global/ascii_header_text.c
      type_or_value: VSTRING_LEN
    - item_type: preproc_def
      name: PASS
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/postfix/postfix/src/global/ascii_header_text.c
      type_or_value: (0)
    - item_type: preproc_def
      name: FAIL
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/postfix/postfix/src/global/ascii_header_text.c
      type_or_value: (1)
    - item_type: preproc_def
      name: NO_OUTPUT
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/postfix/postfix/src/global/ascii_header_text.c
      type_or_value: ((char *) 0)
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: (*action) (const struct TEST_CASE *)
        type: int
      - name: flags
        type: int
      - name: '*input'
        type: char
      - name: '*exp_output'
        type: char
      item_type: struct
      name: TEST_CASE
      pos:
        line_end: 198
        line_start: 192
        source_file: /src/postfix/postfix/src/global/ascii_header_text.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/server_acl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SERVER_ACL_NAME_WL_MYNETWORKS
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/global/server_acl.h
      type_or_value: '"permit_mynetworks"'
    - item_type: preproc_def
      name: SERVER_ACL_NAME_PERMIT
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/global/server_acl.h
      type_or_value: '"permit"'
    - item_type: preproc_def
      name: SERVER_ACL_NAME_DUNNO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/global/server_acl.h
      type_or_value: '"dunno"'
    - item_type: preproc_def
      name: SERVER_ACL_NAME_REJECT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postfix/postfix/src/global/server_acl.h
      type_or_value: '"reject"'
    - item_type: preproc_def
      name: SERVER_ACL_NAME_ERROR
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/global/server_acl.h
      type_or_value: '"error"'
    - item_type: preproc_def
      name: SERVER_ACL_ACT_PERMIT
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postfix/postfix/src/global/server_acl.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SERVER_ACL_ACT_DUNNO
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/global/server_acl.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SERVER_ACL_ACT_REJECT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/src/global/server_acl.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: SERVER_ACL_ACT_ERROR
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/global/server_acl.h
      type_or_value: (-2)
    structs: []
    typedefs:
    - item_type: typedef
      name: SERVER_ACL
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/postfix/postfix/src/global/server_acl.h
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/dict_ldap.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_LDAP
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/global/dict_ldap.h
      type_or_value: '"ldap"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/split_addr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: split_addr
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/postfix/postfix/src/global/split_addr.h
      type_or_value: split_addr_internal
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/mail_date.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - reject_deliver_request
  source_file: /src/postfix/postfix/src/global/reject_deliver_request.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mail_parm_split
  - main
  source_file: /src/postfix/postfix/src/global/mail_parm_split.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - cache_type
  - handle_events
  - save_endp
  - find_endp
  - save_dest
  - find_dest
  - verbose
  - help
  - get_buffer
  - main
  source_file: /src/postfix/postfix/src/global/scache.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FLAG_NEED_CACHE
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/postfix/postfix/src/global/scache.c
      type_or_value: (1<<0)
    structs:
    - fields:
      - name: '*mode'
        type: char
      - name: '*(*create) (void)'
        type: SCACHE
      item_type: struct
      name: cache_type
      pos:
        line_end: 187
        line_start: 184
        source_file: /src/postfix/postfix/src/global/scache.c
    - fields:
      - name: '*command'
        type: char
      - name: (*action) (ARGV *)
        type: void
      - name: flags
        type: int
      item_type: struct
      name: action
      pos:
        line_end: 316
        line_start: 312
        source_file: /src/postfix/postfix/src/global/scache.c
    typedefs: []
    union: []
- function_names:
  - rec_streamlf_get
  - rec_streamlf_put
  source_file: /src/postfix/postfix/src/global/rec_streamlf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - domain_list_init
  source_file: /src/postfix/postfix/src/global/domain_list.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DOMAIN_LIST
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/global/domain_list.h
      type_or_value: MATCH_LIST
    - item_type: preproc_def
      name: domain_list_match
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postfix/postfix/src/global/domain_list.h
      type_or_value: match_list_match
    - item_type: preproc_def
      name: domain_list_free
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/global/domain_list.h
      type_or_value: match_list_free
    structs: []
    typedefs: []
    union: []
- function_names:
  - mail_task
  source_file: /src/postfix/postfix/src/global/mail_task.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - compat_level_from_major
  - compat_level_from_major_minor
  source_file: /src/postfix/postfix/src/global/compat_level.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/mail_dict.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/timed_ipc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RING_TO_MULTI_HEAD
  - RING_TO_MULTI_DEST
  - RING_TO_MULTI_ENDP
  - scache_multi_drop_endp
  - scache_multi_expire_endp
  - scache_multi_free_endp
  - scache_multi_save_endp
  - scache_multi_find_endp
  - scache_multi_drop_dest
  - scache_multi_expire_dest
  - scache_multi_free_dest
  - scache_multi_save_dest
  - scache_multi_find_dest
  - scache_multi_size
  - scache_multi_free
  - scache_multi_create
  source_file: /src/postfix/postfix/src/global/scache_multi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BOTTOM_UP
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/postfix/postfix/src/global/scache_multi.c
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: TOP_DOWN
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/postfix/postfix/src/global/scache_multi.c
      type_or_value: "2\t\t"
    structs:
    - fields:
      - name: scache[1]
        type: SCACHE
      - name: '*dest_cache'
        type: HTABLE
      - name: '*endp_cache'
        type: HTABLE
      - name: sess_count
        type: int
      item_type: struct
      name: SCACHE_MULTI
      pos:
        line_end: 79
        line_start: 74
        source_file: /src/postfix/postfix/src/global/scache_multi.c
    - fields:
      - name: ring[1]
        type: RING
      - name: '*parent_key'
        type: char
      - name: '*cache'
        type: SCACHE_MULTI
      item_type: struct
      name: SCACHE_MULTI_HEAD
      pos:
        line_end: 90
        line_start: 86
        source_file: /src/postfix/postfix/src/global/scache_multi.c
    - fields:
      - name: ring[1]
        type: RING
      - name: '*head'
        type: SCACHE_MULTI_HEAD
      - name: '*endp_label'
        type: char
      - name: '*dest_prop'
        type: char
      item_type: struct
      name: SCACHE_MULTI_DEST
      pos:
        line_end: 103
        line_start: 98
        source_file: /src/postfix/postfix/src/global/scache_multi.c
    - fields:
      - name: ring[1]
        type: RING
      - name: '*head'
        type: SCACHE_MULTI_HEAD
      - name: fd
        type: int
      - name: '*endp_prop'
        type: char
      item_type: struct
      name: SCACHE_MULTI_ENDP
      pos:
        line_end: 118
        line_start: 113
        source_file: /src/postfix/postfix/src/global/scache_multi.c
    typedefs: []
    union: []
- function_names:
  - mbox_open
  - HUNKY_DORY
  - mbox_release
  - mbox_dsn
  - TRY_AGAIN_ERROR
  - SYSTEM_FULL_ERROR
  - MBOX_FULL_ERROR
  source_file: /src/postfix/postfix/src/global/mbox_open.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EDQUOT
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/postfix/postfix/src/global/mbox_open.c
      type_or_value: EFBIG
    structs: []
    typedefs: []
    union: []
- function_names:
  - mail_queue_dir
  - mail_queue_path
  - mail_queue_mkdirs
  - mail_queue_rename
  - mail_queue_remove
  - mail_queue_name_ok
  - mail_queue_id_ok
  - mail_queue_enter
  - mail_queue_open
  source_file: /src/postfix/postfix/src/global/mail_queue.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/postfix/postfix/src/global/mail_queue.c
      type_or_value: vstring_str
    structs: []
    typedefs: []
    union: []
- function_names:
  - mail_addr_crunch_opt
  - STR
  - canon_addr_external
  - get_addr_form
  - main
  source_file: /src/postfix/postfix/src/global/mail_addr_crunch.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ext_prop_mask
  source_file: /src/postfix/postfix/src/global/ext_prop.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mail_addr_double_bounce
  - mail_addr_postmaster
  - mail_addr_mail_daemon
  source_file: /src/postfix/postfix/src/global/mail_addr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DICT_LDAP_DO_BIND
  - DICT_LDAP_DO_SASL
  - DICT_LDAP_CONN
  - DICT_LDAP_UNBIND_RETURN
  - dict_ldap_unbind
  - dict_ldap_abandon
  - dict_ldap_unbind
  - dict_ldap_abandon
  - dict_ldap_vendor_version
  - rfc2253_quote
  - rfc2254_quote
  - dict_ldap_timeout
  - dict_ldap_logprint
  - dict_ldap_get_errno
  - dict_ldap_set_errno
  - ldap_b2_interact
  - dict_ldap_result
  - dict_ldap_bind_sasl
  - dict_ldap_bind_st
  - search_st
  - dict_ldap_set_tls_options
  - dict_ldap_connect
  - DN_LOG_VAL
  - dict_ldap_conn_find
  - ADDSTR
  - ADDINT
  - attrdesc_subtype
  - url_attrs
  - dict_ldap_get_values
  - dict_ldap_lookup
  - INIT_VSTR
  - dict_ldap_close
  - dict_ldap_open
  source_file: /src/postfix/postfix/src/global/dict_ldap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LDAP_CONST
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/postfix/postfix/src/global/dict_ldap.c
      type_or_value: const
    - item_type: preproc_def
      name: LDAP_OPT_SUCCESS
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/postfix/postfix/src/global/dict_ldap.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DICT_LDAP_BIND_NONE
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/postfix/postfix/src/global/dict_ldap.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DICT_LDAP_BIND_SIMPLE
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/postfix/postfix/src/global/dict_ldap.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DICT_LDAP_BIND_SASL
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/postfix/postfix/src/global/dict_ldap.c
      type_or_value: '2'
    - item_type: preproc_def
      name: GET_ALL
      pos:
        line_end: 399
        line_start: 398
        source_file: /src/postfix/postfix/src/global/dict_ldap.c
      type_or_value: '1'
    - item_type: preproc_def
      name: FREE_RESULT
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/postfix/postfix/src/global/dict_ldap.c
      type_or_value: '1'
    - item_type: preproc_def
      name: WANTVALS
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/postfix/postfix/src/global/dict_ldap.c
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_SIZE_LIM_OPT
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/postfix/postfix/src/global/dict_ldap.c
      type_or_value: "-1\t\t\t"
    - item_type: preproc_def
      name: DONT_FREE_RESULT
      pos:
        line_end: 497
        line_start: 496
        source_file: /src/postfix/postfix/src/global/dict_ldap.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*conn_ld'
        type: LDAP
      - name: conn_refcount
        type: int
      item_type: struct
      name: LDAP_CONN
      pos:
        line_end: 153
        line_start: 150
        source_file: /src/postfix/postfix/src/global/dict_ldap.c
    - fields:
      - name: dict
        type: DICT
      - name: '*parser'
        type: CFG_PARSER
      - name: '*query'
        type: char
      - name: '*result_format'
        type: char
      - name: '*ctx'
        type: void
      - name: dynamic_base
        type: int
      - name: expansion_limit
        type: int
      - name: '*server_host'
        type: char
      - name: server_port
        type: int
      - name: scope
        type: int
      - name: '*search_base'
        type: char
      - name: '*result_attributes'
        type: ARGV
      - name: num_terminal
        type: int
      - name: num_leaf
        type: int
      - name: num_attributes
        type: int
      - name: bind
        type: int
      - name: '*bind_dn'
        type: char
      - name: '*bind_pw'
        type: char
      - name: timeout
        type: int
      - name: dereference
        type: int
      - name: recursion_limit
        type: long
      - name: size_limit
        type: long
      - name: chase_referrals
        type: int
      - name: debuglevel
        type: int
      - name: version
        type: int
      - name: '*ht'
        type: BINHASH_INFO
      - name: '*ld'
        type: LDAP
      item_type: struct
      name: DICT_LDAP
      pos:
        line_end: 205
        line_start: 159
        source_file: /src/postfix/postfix/src/global/dict_ldap.c
    - fields:
      - name: '*authcid'
        type: char
      - name: '*passwd'
        type: char
      - name: '*realm'
        type: char
      - name: '*authzid'
        type: char
      item_type: struct
      name: bind_props
      pos:
        line_end: 356
        line_start: 351
        source_file: /src/postfix/postfix/src/global/dict_ldap.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/dsb_scan.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - post_mail_init
  - post_mail_fopen
  - post_mail_fopen_nowait
  - post_mail_open_event
  - post_mail_fopen_async
  - post_mail_fprintf
  - post_mail_buffer
  - post_mail_fputs
  - post_mail_fclose
  - post_mail_fclose_event
  - post_mail_fclose_async
  source_file: /src/postfix/postfix/src/global/post_mail.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*sender'
        type: char
      - name: '*recipient'
        type: char
      - name: source_class
        type: int
      - name: trace_flags
        type: int
      - name: sendopts
        type: int
      - name: notify
        type: POST_MAIL_NOTIFY
      - name: '*context'
        type: void
      - name: '*stream'
        type: VSTREAM
      - name: '*queue_id'
        type: VSTRING
      item_type: struct
      name: POST_MAIL_STATE
      pos:
        line_end: 202
        line_start: 192
        source_file: /src/postfix/postfix/src/global/post_mail.c
    - fields:
      - name: status
        type: int
      - name: '*stream'
        type: VSTREAM
      - name: notify
        type: POST_MAIL_FCLOSE_NOTIFY
      - name: '*context'
        type: void
      item_type: struct
      name: POST_MAIL_FCLOSE_STATE
      pos:
        line_end: 212
        line_start: 207
        source_file: /src/postfix/postfix/src/global/post_mail.c
    typedefs: []
    union: []
- function_names:
  - wildcard_inet_addr_init
  - wildcard_inet_addr_list
  source_file: /src/postfix/postfix/src/global/wildcard_inet_addr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/dict_sqlite.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_SQLITE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/global/dict_sqlite.h
      type_or_value: '"sqlite"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - normalize_mailhost_addr
  - UPDATE_BARE_ADDR
  - UPDATE_MAILHOST_ADDR
  - main
  source_file: /src/postfix/postfix/src/global/normalize_mailhost_addr.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*inet_protocols'
        type: char
      - name: '*mailhost_addr'
        type: char
      - name: exp_return
        type: int
      - name: '*exp_mailhost_addr'
        type: char
      - name: '*exp_bare_addr'
        type: char
      - name: exp_addr_family
        type: int
      item_type: struct
      name: TEST_CASE
      pos:
        line_end: 173
        line_start: 166
        source_file: /src/postfix/postfix/src/global/normalize_mailhost_addr.c
    typedefs: []
    union: []
- function_names:
  - attr_override
  source_file: /src/postfix/postfix/src/global/attr_override.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/mbox_conf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MBOX_FLOCK_LOCK
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/global/mbox_conf.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: MBOX_FCNTL_LOCK
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/global/mbox_conf.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: MBOX_DOT_LOCK
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postfix/postfix/src/global/mbox_conf.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: MBOX_DOT_LOCK_MAY_FAIL
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/postfix/postfix/src/global/mbox_conf.h
      type_or_value: "(1<<3)\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - RFC2047_ALLOWED_TOKEN_CHAR
  - rfc204_b64_encode
  - rfc2047_qp_encode
  - rfc2047_encode
  - vstream_swap
  - printable_except
  - test_rfc2047_encode
  - validates_charset
  - SET_RANGE
  - SET_SINGLE
  - encodes_text
  - encodes_comment_text
  - encodes_phrase_text
  - main
  source_file: /src/postfix/postfix/src/global/rfc2047_code.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RFC2047_ESPECIALS_STR
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
      type_or_value: '"()<>@,;:\\\"/[]?.="'
    - item_type: preproc_def
      name: ENC_WORD_MAX_LEN
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
      type_or_value: "75\t"
    - item_type: preproc_def
      name: ENC_WORD_PROLOG_FMT
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
      type_or_value: "\"=?%s?%c?\"\t"
    - item_type: preproc_def
      name: ENC_WORD_EPILOG_STR
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
      type_or_value: '"?="'
    - item_type: preproc_def
      name: ENC_WORD_EPILOG_LEN
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
      type_or_value: (sizeof(ENC_WORD_EPILOG_STR) - 1)
    - item_type: preproc_def
      name: ENC_WORD_ENCODING_B64
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
      type_or_value: '''B'''
    - item_type: preproc_def
      name: ENC_WORD_ENCODING_QP
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
      type_or_value: '''Q'''
    - item_type: preproc_def
      name: QP_ENCODE_ASCII_NON_CNTRL
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
      type_or_value: '" =?_"'
    - item_type: preproc_def
      name: QP_ENCODE_ASCII_NON_CNTRL_COMMENT_FIELD
      pos:
        line_end: 140
        line_start: 138
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
      type_or_value: (QP_ENCODE_ASCII_NON_CNTRL "()\\")
    - item_type: preproc_def
      name: QP_ENCODE_ASCII_NON_CNTRL_PHRASE_WORD
      pos:
        line_end: 154
        line_start: 152
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
      type_or_value: (QP_ENCODE_ASCII_NON_CNTRL LEX_822_SPECIALS "#$%&'?^`{|}~")
    - item_type: preproc_def
      name: PASS
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
      type_or_value: (0)
    - item_type: preproc_def
      name: FAIL
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
      type_or_value: (1)
    - item_type: preproc_def
      name: NO_OUTPUT
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
      type_or_value: ((char *) 0)
    - item_type: preproc_def
      name: CHARSET_INPUT_TEMPLATE
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
      type_or_value: '"testme"'
    - item_type: preproc_def
      name: CHARSET_OUTPUT_SEPARATOR
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
      type_or_value: '" "'
    - item_type: preproc_def
      name: CHARSET_CHARSET_TEMPLATE
      pos:
        line_end: 458
        line_start: 457
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
      type_or_value: '"utf-8%c"'
    - item_type: preproc_def
      name: CHARSET_ALLOW_TEMPLATE
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
      type_or_value: '"=?utf-8%c?Q?testme?="'
    - item_type: preproc_def
      name: CHARSET_REJECT_TEMPLATE
      pos:
        line_end: 462
        line_start: 459
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
      type_or_value: "\"rfc2047_code: warning: rfc2047_encode: invalid character:
        \" \\\n\t    \"0x%x in charset name: 'utf-8%c'\\n\""
    - item_type: preproc_def
      name: ENCODE_INPUT_TEMPLATE
      pos:
        line_end: 532
        line_start: 531
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
      type_or_value: '"testme %c"'
    - item_type: preproc_def
      name: ENCODE_INPUT_LEN
      pos:
        line_end: 533
        line_start: 532
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
      type_or_value: (sizeof(ENCODE_INPUT_TEMPLATE) - 2)
    - item_type: preproc_def
      name: ENCODE_OUTPUT_SEPARATOR
      pos:
        line_end: 534
        line_start: 533
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
      type_or_value: '"\n"'
    - item_type: preproc_def
      name: ENCODE_CHARSET
      pos:
        line_end: 535
        line_start: 534
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
      type_or_value: '"utf-8"'
    - item_type: preproc_def
      name: ENCODE_AS_SELF_TEMPLATE
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
      type_or_value: '"=?utf-8?Q?testme_%c?="'
    - item_type: preproc_def
      name: ENCODE_AS_QP_TEMPLATE
      pos:
        line_end: 537
        line_start: 536
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
      type_or_value: '"=?utf-8?Q?testme_=%02X?="'
    - item_type: preproc_def
      name: ENCODE_AS_CTRL_TEMPLATE
      pos:
        line_end: 538
        line_start: 537
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
      type_or_value: '"=?utf-8?Q?testme_?="'
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: (*action) (const struct TEST_CASE *)
        type: int
      - name: context
        type: int
      - name: '*charset'
        type: char
      - name: '*input'
        type: char
      - name: in_len
        type: ssize_t
      - name: '*out_separator'
        type: char
      - name: '*exp_output'
        type: char
      - name: '*exp_warning'
        type: char
      item_type: struct
      name: TEST_CASE
      pos:
        line_end: 391
        line_start: 381
        source_file: /src/postfix/postfix/src/global/rfc2047_code.c
    typedefs: []
    union: []
- function_names:
  - config_known_tcp_ports
  - STR
  - vstream_swap
  - main
  - STRING_OR_NULL
  source_file: /src/postfix/postfix/src/global/config_known_tcp_ports.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: '*config'
        type: char
      - name: '*exp_warning'
        type: char
      - name: '*exp_export'
        type: char
      item_type: struct
      name: test_case
      pos:
        line_end: 152
        line_start: 147
        source_file: /src/postfix/postfix/src/global/config_known_tcp_ports.c
    typedefs: []
    union: []
- function_names:
  - mail_addr_map_internal
  source_file: /src/postfix/postfix/src/global/mail_addr_map.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/ascii_header_text.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HDR_TEXT_FLAG_COMMENT
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/global/ascii_header_text.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: HDR_TEXT_FLAG_PHRASE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/global/ascii_header_text.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: HDR_TEXT_FLAG_FOLD
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/global/ascii_header_text.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: HDR_TEXT_MASK_TARGET
      pos:
        line_end: 32
        line_start: 30
        source_file: /src/postfix/postfix/src/global/ascii_header_text.h
      type_or_value: (HDR_TEXT_FLAG_COMMENT | HDR_TEXT_FLAG_PHRASE)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/quote_flags.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QUOTE_FLAG_8BITCLEAN
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/postfix/postfix/src/global/quote_flags.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: QUOTE_FLAG_EXPOSE_AT
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/postfix/postfix/src/global/quote_flags.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: QUOTE_FLAG_APPEND
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/postfix/postfix/src/global/quote_flags.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: QUOTE_FLAG_BARE_LOCALPART
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/global/quote_flags.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: QUOTE_FLAG_DEFAULT
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postfix/postfix/src/global/quote_flags.h
      type_or_value: QUOTE_FLAG_8BITCLEAN
    structs: []
    typedefs: []
    union: []
- function_names:
  - tok822_scan
  - tok822_parse
  - tok822_resolve
  source_file: /src/postfix/postfix/src/global/tok822.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TOK822_MINTOK
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postfix/postfix/src/global/tok822.h
      type_or_value: '256'
    - item_type: preproc_def
      name: TOK822_ATOM
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/global/tok822.h
      type_or_value: "256\t\t"
    - item_type: preproc_def
      name: TOK822_QSTRING
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postfix/postfix/src/global/tok822.h
      type_or_value: "257\t\t"
    - item_type: preproc_def
      name: TOK822_COMMENT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/global/tok822.h
      type_or_value: "258\t\t"
    - item_type: preproc_def
      name: TOK822_DOMLIT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/global/tok822.h
      type_or_value: "259\t\t"
    - item_type: preproc_def
      name: TOK822_ADDR
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/global/tok822.h
      type_or_value: "260\t\t"
    - item_type: preproc_def
      name: TOK822_STARTGRP
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/global/tok822.h
      type_or_value: "261\t\t"
    - item_type: preproc_def
      name: TOK822_MAXTOK
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postfix/postfix/src/global/tok822.h
      type_or_value: '261'
    - item_type: preproc_def
      name: TOK822_STR_NONE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/postfix/postfix/src/global/tok822.h
      type_or_value: (0)
    - item_type: preproc_def
      name: TOK822_STR_WIPE
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/postfix/postfix/src/global/tok822.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: TOK822_STR_TERM
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/postfix/postfix/src/global/tok822.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: TOK822_STR_LINE
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/postfix/postfix/src/global/tok822.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: TOK822_STR_TRNC
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/postfix/postfix/src/global/tok822.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: TOK822_STR_DEFL
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/postfix/postfix/src/global/tok822.h
      type_or_value: (TOK822_STR_WIPE | TOK822_STR_TERM)
    - item_type: preproc_def
      name: TOK822_STR_HEAD
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/postfix/postfix/src/global/tok822.h
      type_or_value: (TOK822_STR_TERM | TOK822_STR_LINE | TOK822_STR_TRNC)
    structs:
    - fields:
      - name: type
        type: int
      - name: '*vstr'
        type: VSTRING
      - name: '*prev'
        type: struct TOK822
      - name: '*next'
        type: struct TOK822
      - name: '*head'
        type: struct TOK822
      - name: '*tail'
        type: struct TOK822
      - name: '*owner'
        type: struct TOK822
      item_type: struct
      name: TOK822
      pos:
        line_end: 34
        line_start: 26
        source_file: /src/postfix/postfix/src/global/tok822.h
    typedefs:
    - item_type: typedef
      name: (*TOK822_ACTION) (TOK822 *)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/postfix/postfix/src/global/tok822.h
      type: int
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/maps.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*title'
        type: char
      - name: '*argv'
        type: struct ARGV
      - name: error
        type: int
      item_type: struct
      name: MAPS
      pos:
        line_end: 25
        line_start: 21
        source_file: /src/postfix/postfix/src/global/maps.h
    typedefs: []
    union: []
- function_names:
  - mail_pathname
  source_file: /src/postfix/postfix/src/global/mail_pathname.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hbc_header_checks_free
  - hbc_body_checks_free
  source_file: /src/postfix/postfix/src/global/header_body_checks.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MIME_HDR_FIRST
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postfix/postfix/src/global/header_body_checks.h
      type_or_value: (1)
    - item_type: preproc_def
      name: MIME_HDR_LAST
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/postfix/postfix/src/global/header_body_checks.h
      type_or_value: (3)
    - item_type: preproc_def
      name: HBC_CHECKS_STAT_IGNORE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/global/header_body_checks.h
      type_or_value: ((char *) 0)
    - item_type: preproc_def
      name: HBC_CHECKS_STAT_ERROR
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postfix/postfix/src/global/header_body_checks.h
      type_or_value: (&hbc_checks_error)
    - item_type: preproc_def
      name: HBC_CHECKS_STAT_UNKNOWN
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/postfix/postfix/src/global/header_body_checks.h
      type_or_value: (&hbc_checks_unknown)
    - item_type: preproc_def
      name: HBC_HEADER_SIZE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/postfix/postfix/src/global/header_body_checks.h
      type_or_value: (MIME_HDR_LAST - MIME_HDR_FIRST + 1)
    structs:
    - fields:
      - name: '*map_class'
        type: char
      - name: '*maps'
        type: MAPS
      item_type: struct
      name: HBC_MAP_INFO
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/postfix/postfix/src/global/header_body_checks.h
    - fields:
      - name: (*logger) (void *, const char *, const char *, const char *, const char
          *)
        type: void
      - name: (*prepend) (void *, int, const char *, ssize_t, off_t)
        type: void
      - name: '*(*extend) (void *, const char *, ssize_t, const char *, const char
          *, const char *, ssize_t, off_t)'
        type: char
      item_type: struct
      name: HBC_CALL_BACKS
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/postfix/postfix/src/global/header_body_checks.h
    - fields:
      - name: '*call_backs'
        type: HBC_CALL_BACKS
      - name: map_info[1]
        type: HBC_MAP_INFO
      item_type: struct
      name: HBC_CHECKS
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/postfix/postfix/src/global/header_body_checks.h
    typedefs: []
    union: []
- function_names:
  - is_822_dot_string
  - make_822_quoted_string
  - quote_822_local_flags
  - unquote_822_local
  - main
  source_file: /src/postfix/postfix/src/global/quote_822_local.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: 'YES'
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/postfix/postfix/src/global/quote_822_local.c
      type_or_value: '1'
    - item_type: preproc_def
      name: 'NO'
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/postfix/postfix/src/global/quote_822_local.c
      type_or_value: '0'
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/postfix/postfix/src/global/quote_822_local.c
      type_or_value: vstring_str
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - main
  source_file: /src/postfix/postfix/src/global/namadr_list.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sent
  - REC_ALL_SENT
  - REC_DLY_SENT
  source_file: /src/postfix/postfix/src/global/sent.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR_OR_NULL
  - haproxy_srvr_parse_lit
  - haproxy_srvr_parse_proto
  - haproxy_srvr_parse_addr
  - haproxy_srvr_parse_port
  - haproxy_srvr_parse_v2_addr_v4
  - haproxy_srvr_parse_v2_addr_v6
  - haproxy_srvr_parse_v2_hdr
  - haproxy_srvr_parse_sa
  - haproxy_srvr_parse
  - haproxy_srvr_receive_sa
  - haproxy_srvr_receive
  source_file: /src/postfix/postfix/src/global/haproxy_srvr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NEXT_TOKEN
      pos:
        line_end: 505
        line_start: 504
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.c
      type_or_value: mystrtok(&cp, " \r")
    structs: []
    typedefs: []
    union: []
- function_names:
  - CA_ATTR_OVER_STR_TABLE
  - CA_ATTR_OVER_TIME_TABLE
  - CA_ATTR_OVER_INT_TABLE
  source_file: /src/postfix/postfix/src/global/attr_override.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ATTR_OVER_END
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/global/attr_override.h
      type_or_value: '0'
    - item_type: preproc_def
      name: ATTR_OVER_STR_TABLE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/global/attr_override.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ATTR_OVER_TIME_TABLE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/global/attr_override.h
      type_or_value: '2'
    - item_type: preproc_def
      name: ATTR_OVER_INT_TABLE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/global/attr_override.h
      type_or_value: '3'
    - item_type: preproc_def
      name: CA_ATTR_OVER_END
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/postfix/postfix/src/global/attr_override.h
      type_or_value: '0'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*target'
        type: CONST_CHAR_STAR
      - name: min
        type: int
      - name: max
        type: int
      item_type: struct
      name: ATTR_OVER_STR
      pos:
        line_end: 25
        line_start: 20
        source_file: /src/postfix/postfix/src/global/attr_override.h
    - fields:
      - name: '*name'
        type: char
      - name: '*defval'
        type: char
      - name: '*target'
        type: int
      - name: min
        type: int
      - name: max
        type: int
      item_type: struct
      name: ATTR_OVER_TIME
      pos:
        line_end: 33
        line_start: 27
        source_file: /src/postfix/postfix/src/global/attr_override.h
    - fields:
      - name: '*name'
        type: char
      - name: '*target'
        type: int
      - name: min
        type: int
      - name: max
        type: int
      item_type: struct
      name: ATTR_OVER_INT
      pos:
        line_end: 40
        line_start: 35
        source_file: /src/postfix/postfix/src/global/attr_override.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/mail_error.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAIL_ERROR_POLICY
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/global/mail_error.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: MAIL_ERROR_PROTOCOL
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/global/mail_error.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: MAIL_ERROR_BOUNCE
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postfix/postfix/src/global/mail_error.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: MAIL_ERROR_SOFTWARE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/postfix/postfix/src/global/mail_error.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: MAIL_ERROR_RESOURCE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postfix/postfix/src/global/mail_error.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: MAIL_ERROR_2BOUNCE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/global/mail_error.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: MAIL_ERROR_DELAY
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/global/mail_error.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: MAIL_ERROR_DATA
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/global/mail_error.h
      type_or_value: (1<<7)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/mynetworks.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DSN_FROM_DSN_BUF
  source_file: /src/postfix/postfix/src/global/dsn_buf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DSB_DEF_ACTION
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postfix/postfix/src/global/dsn_buf.h
      type_or_value: ((char *) 0)
    - item_type: preproc_def
      name: DSB_SKIP_RMTA
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/global/dsn_buf.h
      type_or_value: ((char *) 0), ((char *) 0)
    - item_type: preproc_def
      name: DSB_MTYPE_NONE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postfix/postfix/src/global/dsn_buf.h
      type_or_value: ((char *) 0)
    - item_type: preproc_def
      name: DSB_MTYPE_DNS
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/global/dsn_buf.h
      type_or_value: "\"dns\"\t\t"
    - item_type: preproc_def
      name: DSB_SKIP_REPLY
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/global/dsn_buf.h
      type_or_value: "(char *) 0, \" \"\t"
    - item_type: preproc_def
      name: DSB_DTYPE_NONE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/global/dsn_buf.h
      type_or_value: ((char *) 0)
    - item_type: preproc_def
      name: DSB_DTYPE_SMTP
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postfix/postfix/src/global/dsn_buf.h
      type_or_value: "\"smtp\"\t\t"
    - item_type: preproc_def
      name: DSB_DTYPE_UNIX
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/postfix/postfix/src/global/dsn_buf.h
      type_or_value: "\"x-unix\"\t"
    - item_type: preproc_def
      name: DSB_DTYPE_SASL
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/postfix/postfix/src/global/dsn_buf.h
      type_or_value: "\"x-sasl\"\t"
    structs:
    - fields:
      - name: dsn
        type: DSN
      - name: '*status'
        type: VSTRING
      - name: '*action'
        type: VSTRING
      - name: '*mtype'
        type: VSTRING
      - name: '*mname'
        type: VSTRING
      - name: '*dtype'
        type: VSTRING
      - name: '*dtext'
        type: VSTRING
      - name: '*reason'
        type: VSTRING
      item_type: struct
      name: DSN_BUF
      pos:
        line_end: 37
        line_start: 26
        source_file: /src/postfix/postfix/src/global/dsn_buf.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/db_common.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*db_quote_callback_t) (DICT *, const char *, VSTRING *)
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/postfix/postfix/src/global/db_common.h
      type: void
    union: []
- function_names:
  - debug_peer_init
  - debug_peer_check
  - debug_peer_restore
  source_file: /src/postfix/postfix/src/global/debug_peer.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UNUSED_SAVED_LEVEL
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/postfix/postfix/src/global/debug_peer.c
      type_or_value: (-1)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/defer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sendopts_strflags
  source_file: /src/postfix/postfix/src/global/sendopts.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - COLLECT
  - COLLECT_SKIP_LAST
  - SKIP
  - MOVE_COMMENT_AND_CONTINUE
  - SKIP_MOVE_COMMENT
  - tok822_internalize
  - strip_address
  - tok822_externalize
  - tok822_copy_quoted
  - tok822_append_space
  - NON_OPERATOR
  - tok822_scan_limit
  - tok822_parse_limit
  - GLUE
  - tok822_quote_atom
  - tok822_comment
  - tok822_group
  - tok822_scan_addr
  - tok822_print
  - main
  source_file: /src/postfix/postfix/src/global/tok822_parse.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DO_WORD
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/postfix/postfix/src/global/tok822_parse.c
      type_or_value: "(1<<0)\t\t"
    - item_type: preproc_def
      name: DO_GROUP
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/postfix/postfix/src/global/tok822_parse.c
      type_or_value: "(1<<1)\t\t"
    - item_type: preproc_def
      name: ADD_COMMA
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/postfix/postfix/src/global/tok822_parse.c
      type_or_value: "','\t\t"
    - item_type: preproc_def
      name: NO_MISSING_COMMA
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/postfix/postfix/src/global/tok822_parse.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MAX_NONADDR_LENGTH
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/postfix/postfix/src/global/tok822_parse.c
      type_or_value: '250'
    - item_type: preproc_def
      name: RESET_NONADDR_LENGTH
      pos:
        line_end: 312
        line_start: 307
        source_file: /src/postfix/postfix/src/global/tok822_parse.c
      type_or_value: "{ \\\n\tstart = VSTRING_LEN(vp); \\\n\taddr = 0; \\\n\taddr_len
        = 0; \\\n    }"
    - item_type: preproc_def
      name: ENFORCE_NONADDR_LENGTH
      pos:
        line_end: 317
        line_start: 313
        source_file: /src/postfix/postfix/src/global/tok822_parse.c
      type_or_value: "do { \\\n\tif (addr && VSTRING_LEN(vp) - addr_len > start +
        MAX_NONADDR_LENGTH) \\\n\t    strip_address(vp, start, addr->head); \\\n    }
        while(0)"
    - item_type: preproc_def
      name: TEST_TOKEN_LIMIT
      pos:
        line_end: 694
        line_start: 693
        source_file: /src/postfix/postfix/src/global/tok822_parse.c
      type_or_value: '20'
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - main
  source_file: /src/postfix/postfix/src/global/addr_match_list.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - dsn_filter_create
  - dsn_filter_lookup
  - IS_SUCCESS_DSN
  - IS_NDR_DSN
  - dsn_filter_free
  source_file: /src/postfix/postfix/src/global/dsn_filter.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*maps'
        type: MAPS
      - name: '*buffer'
        type: VSTRING
      - name: dp
        type: DSN_SPLIT
      - name: dsn
        type: DSN
      item_type: struct
      name: DSN_FILTER
      pos:
        line_end: 97
        line_start: 92
        source_file: /src/postfix/postfix/src/global/dsn_filter.c
    typedefs: []
    union: []
- function_names:
  - canon_addr_external
  - canon_addr_internal
  source_file: /src/postfix/postfix/src/global/canon_addr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/qmqp_proto.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QMQP_STAT_OK
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/postfix/postfix/src/global/qmqp_proto.h
      type_or_value: "'K'\t\t"
    - item_type: preproc_def
      name: QMQP_STAT_RETRY
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/postfix/postfix/src/global/qmqp_proto.h
      type_or_value: "'Z'\t\t"
    - item_type: preproc_def
      name: QMQP_STAT_HARD
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/postfix/postfix/src/global/qmqp_proto.h
      type_or_value: "'D'\t\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - mail_run_foreground
  - RETURN
  - mail_run_background
  - RETURN
  - mail_run_replace
  source_file: /src/postfix/postfix/src/global/mail_run.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - fold_addr
  - main
  source_file: /src/postfix/postfix/src/global/fold_addr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mail_copy
  - VSTREAM_FWRITE_BUF
  - TRY_AGAIN_ERROR
  source_file: /src/postfix/postfix/src/global/mail_copy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - scache_save_endp
  - scache_find_endp
  - scache_save_dest
  - scache_find_dest
  - scache_size
  - scache_free
  source_file: /src/postfix/postfix/src/global/scache.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SCACHE_TYPE_SINGLE
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/postfix/postfix/src/global/scache.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: SCACHE_TYPE_CLIENT
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/postfix/postfix/src/global/scache.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: SCACHE_TYPE_MULTI
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/postfix/postfix/src/global/scache.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: SCACHE_REQ_FIND_ENDP
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/postfix/postfix/src/global/scache.h
      type_or_value: '"find_endp"'
    - item_type: preproc_def
      name: SCACHE_REQ_SAVE_ENDP
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/postfix/postfix/src/global/scache.h
      type_or_value: '"save_endp"'
    - item_type: preproc_def
      name: SCACHE_REQ_FIND_DEST
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/postfix/postfix/src/global/scache.h
      type_or_value: '"find_dest"'
    - item_type: preproc_def
      name: SCACHE_REQ_SAVE_DEST
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/postfix/postfix/src/global/scache.h
      type_or_value: '"save_dest"'
    - item_type: preproc_def
      name: SCACHE_STAT_OK
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/postfix/postfix/src/global/scache.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: SCACHE_STAT_BAD
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/postfix/postfix/src/global/scache.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: SCACHE_STAT_FAIL
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/postfix/postfix/src/global/scache.h
      type_or_value: "2\t"
    structs:
    - fields:
      - name: dest_count
        type: int
      - name: endp_count
        type: int
      - name: sess_count
        type: int
      item_type: struct
      name: SCACHE_SIZE
      pos:
        line_end: 96
        line_start: 92
        source_file: /src/postfix/postfix/src/global/scache.h
    - fields:
      - name: save_endp
        type: SCACHE_SAVE_ENDP_FN
      - name: find_endp
        type: SCACHE_FIND_ENDP_FN
      - name: save_dest
        type: SCACHE_SAVE_DEST_FN
      - name: find_dest
        type: SCACHE_FIND_DEST_FN
      - name: (*size) (struct SCACHE *, SCACHE_SIZE *)
        type: void
      - name: (*free) (struct SCACHE *)
        type: void
      item_type: struct
      name: SCACHE
      pos:
        line_end: 109
        line_start: 102
        source_file: /src/postfix/postfix/src/global/scache.h
    typedefs:
    - item_type: typedef
      name: (*SCACHE_SAVE_ENDP_FN) (SCACHE *, int, const char *, const char *, int)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/postfix/postfix/src/global/scache.h
      type: void
    - item_type: typedef
      name: (*SCACHE_FIND_ENDP_FN) (SCACHE *, const char *, VSTRING *)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/postfix/postfix/src/global/scache.h
      type: int
    - item_type: typedef
      name: (*SCACHE_SAVE_DEST_FN) (SCACHE *, int, const char *, const char *, const
        char *)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/postfix/postfix/src/global/scache.h
      type: void
    - item_type: typedef
      name: (*SCACHE_FIND_DEST_FN) (SCACHE *, const char *, VSTRING *, VSTRING *)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/postfix/postfix/src/global/scache.h
      type: int
    union: []
- function_names:
  - ABOUNCE_EVENT_ENABLE
  - STR
  - LEN
  - abounce_done
  - abounce_receive
  - abounce_send
  - abounce_connect
  - abounce_flush_verp
  - adefer_flush_verp
  - abounce_flush
  - adefer_flush
  - adefer_warn
  - atrace_flush
  source_file: /src/postfix/postfix/src/global/abounce.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ABOUNCE_TIMEOUT
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/postfix/postfix/src/global/abounce.c
      type_or_value: '1000'
    - item_type: preproc_def
      name: ABOUNCE_BUFSIZE
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/postfix/postfix/src/global/abounce.c
      type_or_value: VSTREAM_BUFSIZE
    - item_type: preproc_def
      name: ABOUNCE_NO_VERP
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/postfix/postfix/src/global/abounce.c
      type_or_value: ((char *) 0)
    structs:
    - fields:
      - name: command
        type: int
      - name: flags
        type: int
      - name: '*id'
        type: char
      - name: '*request'
        type: VSTRING
      - name: callback
        type: ABOUNCE_FN
      - name: '*context'
        type: void
      - name: '*fp'
        type: VSTREAM
      item_type: struct
      name: ABOUNCE_STATE
      pos:
        line_end: 216
        line_start: 208
        source_file: /src/postfix/postfix/src/global/abounce.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/verify.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - midna_adomain_to_utf8
  - midna_adomain_to_ascii
  source_file: /src/postfix/postfix/src/global/midna_adomain.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_pipe_args
  - pipe_command_write
  - pipe_command_read
  - kill_command
  - pipe_command_wait_or_kill
  - pipe_child_cleanup
  - pipe_command
  source_file: /src/postfix/postfix/src/global/pipe_command.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: flags
        type: int
      - name: '*sender'
        type: char
      - name: '*orig_rcpt'
        type: char
      - name: '*delivered'
        type: char
      - name: '*eol'
        type: char
      - name: '**argv'
        type: char
      - name: '*command'
        type: char
      - name: uid
        type: uid_t
      - name: gid
        type: gid_t
      - name: '**env'
        type: char
      - name: '**export'
        type: char
      - name: '*shell'
        type: char
      - name: '*cwd'
        type: char
      - name: '*chroot'
        type: char
      item_type: struct
      name: pipe_args
      pos:
        line_end: 184
        line_start: 169
        source_file: /src/postfix/postfix/src/global/pipe_command.c
    typedefs: []
    union: []
- function_names:
  - mark_corrupt
  source_file: /src/postfix/postfix/src/global/mark_corrupt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - timed_ipc_setup
  source_file: /src/postfix/postfix/src/global/timed_ipc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/hfrom_format.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HFROM_FORMAT_CODE_OBS
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/postfix/postfix/src/global/hfrom_format.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: HFROM_FORMAT_CODE_STD
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/postfix/postfix/src/global/hfrom_format.h
      type_or_value: "1\t"
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/cleanup_user.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CLEANUP_FLAG_NONE
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: CLEANUP_FLAG_BOUNCE
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: CLEANUP_FLAG_FILTER
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: CLEANUP_FLAG_HOLD
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: CLEANUP_FLAG_DISCARD
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: CLEANUP_FLAG_BCC_OK
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: "(1<<4)\t"
    - item_type: preproc_def
      name: CLEANUP_FLAG_MAP_OK
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: "(1<<5)\t"
    - item_type: preproc_def
      name: CLEANUP_FLAG_MILTER
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: "(1<<6)\t"
    - item_type: preproc_def
      name: CLEANUP_FLAG_SMTP_REPLY
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: "(1<<7)\t"
    - item_type: preproc_def
      name: CLEANUP_FLAG_SMTPUTF8
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: "(1<<8)\t"
    - item_type: preproc_def
      name: CLEANUP_FLAG_AUTOUTF8
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: "(1<<9)\t"
    - item_type: preproc_def
      name: CLEANUP_FLAG_FILTER_ALL
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: (CLEANUP_FLAG_FILTER | CLEANUP_FLAG_MILTER)
    - item_type: preproc_def
      name: CLEANUP_FLAG_MASK_EXTERNAL
      pos:
        line_end: 35
        line_start: 33
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: (CLEANUP_FLAG_FILTER_ALL | CLEANUP_FLAG_BCC_OK | CLEANUP_FLAG_MAP_OK)
    - item_type: preproc_def
      name: CLEANUP_FLAG_MASK_INTERNAL
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: CLEANUP_FLAG_MAP_OK
    - item_type: preproc_def
      name: CLEANUP_FLAG_MASK_EXTRA
      pos:
        line_end: 48
        line_start: 46
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: (CLEANUP_FLAG_HOLD | CLEANUP_FLAG_DISCARD)
    - item_type: preproc_def
      name: CLEANUP_STAT_OK
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: CLEANUP_STAT_BAD
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: CLEANUP_STAT_WRITE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: CLEANUP_STAT_SIZE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: CLEANUP_STAT_CONT
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: CLEANUP_STAT_HOPS
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: "(1<<4)\t"
    - item_type: preproc_def
      name: CLEANUP_STAT_RCPT
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: "(1<<6)\t"
    - item_type: preproc_def
      name: CLEANUP_STAT_PROXY
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: "(1<<7)\t"
    - item_type: preproc_def
      name: CLEANUP_STAT_DEFER
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: "(1<<8)\t"
    - item_type: preproc_def
      name: CLEANUP_STAT_NOPERM
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: "(1<<9)\t"
    - item_type: preproc_def
      name: CLEANUP_STAT_BARE_LF
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: "(1<<16)\t"
    - item_type: preproc_def
      name: CLEANUP_STAT_MASK_CANT_BOUNCE
      pos:
        line_end: 79
        line_start: 76
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: "(CLEANUP_STAT_BAD | CLEANUP_STAT_WRITE | CLEANUP_STAT_DEFER
        \\\n\t    | CLEANUP_STAT_RCPT)"
    - item_type: preproc_def
      name: CLEANUP_STAT_MASK_INCOMPLETE
      pos:
        line_end: 86
        line_start: 83
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
      type_or_value: "(CLEANUP_STAT_BAD | CLEANUP_STAT_WRITE | CLEANUP_STAT_SIZE \\\n\t
        \   | CLEANUP_STAT_DEFER)"
    structs:
    - fields:
      - name: status
        type: unsigned
      - name: smtp
        type: int
      - name: '*dsn'
        type: char
      - name: '*text'
        type: char
      item_type: struct
      name: CLEANUP_STAT_DETAIL
      pos:
        line_end: 95
        line_start: 90
        source_file: /src/postfix/postfix/src/global/cleanup_user.h
    typedefs: []
    union: []
- function_names:
  - mail_command_client
  source_file: /src/postfix/postfix/src/global/mail_command_client.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mail_addr_find_int_to_ext
  - mail_addr_find_strategy
  - mail_addr_find
  - mail_addr_find_to_internal
  source_file: /src/postfix/postfix/src/global/mail_addr_find.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MA_FIND_FULL
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postfix/postfix/src/global/mail_addr_find.h
      type_or_value: "(1<<0)\t\t"
    - item_type: preproc_def
      name: MA_FIND_NOEXT
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/global/mail_addr_find.h
      type_or_value: "(1<<1)\t\t"
    - item_type: preproc_def
      name: MA_FIND_LOCALPART_IF_LOCAL
      pos:
        line_end: 29
        line_start: 27
        source_file: /src/postfix/postfix/src/global/mail_addr_find.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: MA_FIND_LOCALPART_AT_IF_LOCAL
      pos:
        line_end: 31
        line_start: 29
        source_file: /src/postfix/postfix/src/global/mail_addr_find.h
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: MA_FIND_AT_DOMAIN
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postfix/postfix/src/global/mail_addr_find.h
      type_or_value: "(1<<4)\t"
    - item_type: preproc_def
      name: MA_FIND_DOMAIN
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postfix/postfix/src/global/mail_addr_find.h
      type_or_value: "(1<<5)\t\t"
    - item_type: preproc_def
      name: MA_FIND_PDMS
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/global/mail_addr_find.h
      type_or_value: "(1<<6)\t\t"
    - item_type: preproc_def
      name: MA_FIND_PDDMDS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/src/global/mail_addr_find.h
      type_or_value: "(1<<7)\t\t"
    - item_type: preproc_def
      name: MA_FIND_LOCALPART_AT
      pos:
        line_end: 37
        line_start: 35
        source_file: /src/postfix/postfix/src/global/mail_addr_find.h
      type_or_value: "(1<<8)\t"
    - item_type: preproc_def
      name: MA_FIND_DEFAULT
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/postfix/postfix/src/global/mail_addr_find.h
      type_or_value: "(MA_FIND_FULL | MA_FIND_NOEXT \\\n\t\t\t\t| MA_FIND_LOCALPART_IF_LOCAL
        \\\n\t\t\t\t| MA_FIND_AT_DOMAIN)"
    - item_type: preproc_def
      name: MA_FIND_FORM_LEGACY
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/postfix/postfix/src/global/mail_addr_find.h
      type_or_value: "MA_FORM_INTERNAL, MA_FORM_EXTERNAL_FIRST, \\\n\t    MA_FORM_EXTERNAL"
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - login_sender_create
  - login_sender_free
  - strip_externalize_addr
  - login_sender_match
  - main
  source_file: /src/postfix/postfix/src/global/login_sender_match.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUM_TESTS
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/postfix/postfix/src/global/login_sender_match.c
      type_or_value: sizeof(testcases)/sizeof(testcases[0])
    structs:
    - fields:
      - name: '*maps'
        type: MAPS
      - name: '*ext_stripped_sender'
        type: VSTRING
      - name: '*ext_delimiters'
        type: char
      - name: '*null_sender'
        type: char
      - name: '*wildcard'
        type: char
      item_type: struct
      name: LOGIN_SENDER_MATCH
      pos:
        line_end: 115
        line_start: 109
        source_file: /src/postfix/postfix/src/global/login_sender_match.c
    - fields:
      - name: '*title'
        type: char
      - name: '*map_names'
        type: char
      - name: '*ext_delimiters'
        type: char
      - name: '*null_sender'
        type: char
      - name: '*wildcard'
        type: char
      - name: '*login_name'
        type: char
      - name: '*sender_addr'
        type: char
      - name: exp_return
        type: int
      item_type: struct
      name: testcase
      pos:
        line_end: 250
        line_start: 241
        source_file: /src/postfix/postfix/src/global/login_sender_match.c
    typedefs: []
    union: []
- function_names:
  - hfrom_format_parse
  - str_hfrom_format_code
  - STR
  - vstream_swap
  - test_msg_fatal
  - main
  source_file: /src/postfix/postfix/src/global/hfrom_format.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: msg_fatal
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/postfix/postfix/src/global/hfrom_format.c
      type_or_value: test_msg_fatal
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: '*config'
        type: char
      - name: '*exp_warning'
        type: char
      - name: exp_code
        type: int
      item_type: struct
      name: name_test_case
      pos:
        line_end: 142
        line_start: 137
        source_file: /src/postfix/postfix/src/global/hfrom_format.c
    - fields:
      - name: '*label'
        type: char
      - name: code
        type: int
      - name: '*exp_warning'
        type: char
      - name: '*exp_name'
        type: char
      item_type: struct
      name: code_test_case
      pos:
        line_end: 173
        line_start: 168
        source_file: /src/postfix/postfix/src/global/hfrom_format.c
    typedefs: []
    union: []
- function_names:
  - smtputf8_autodetect
  source_file: /src/postfix/postfix/src/global/smtputf8.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/dsn_print.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/uxtext.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/anvil_clnt.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ANVIL_SERVICE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/global/anvil_clnt.h
      type_or_value: '"anvil"'
    - item_type: preproc_def
      name: ANVIL_CLASS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/global/anvil_clnt.h
      type_or_value: '"private"'
    - item_type: preproc_def
      name: ANVIL_ATTR_REQ
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postfix/postfix/src/global/anvil_clnt.h
      type_or_value: '"request"'
    - item_type: preproc_def
      name: ANVIL_REQ_CONN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/global/anvil_clnt.h
      type_or_value: '"connect"'
    - item_type: preproc_def
      name: ANVIL_REQ_DISC
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postfix/postfix/src/global/anvil_clnt.h
      type_or_value: '"disconnect"'
    - item_type: preproc_def
      name: ANVIL_REQ_MAIL
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postfix/postfix/src/global/anvil_clnt.h
      type_or_value: '"message"'
    - item_type: preproc_def
      name: ANVIL_REQ_RCPT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/global/anvil_clnt.h
      type_or_value: '"recipient"'
    - item_type: preproc_def
      name: ANVIL_REQ_NTLS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/src/global/anvil_clnt.h
      type_or_value: '"newtls"'
    - item_type: preproc_def
      name: ANVIL_REQ_NTLS_STAT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/global/anvil_clnt.h
      type_or_value: '"newtls_status"'
    - item_type: preproc_def
      name: ANVIL_REQ_AUTH
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postfix/postfix/src/global/anvil_clnt.h
      type_or_value: '"auth"'
    - item_type: preproc_def
      name: ANVIL_REQ_LOOKUP
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/global/anvil_clnt.h
      type_or_value: '"lookup"'
    - item_type: preproc_def
      name: ANVIL_ATTR_IDENT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postfix/postfix/src/global/anvil_clnt.h
      type_or_value: '"ident"'
    - item_type: preproc_def
      name: ANVIL_ATTR_COUNT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postfix/postfix/src/global/anvil_clnt.h
      type_or_value: '"count"'
    - item_type: preproc_def
      name: ANVIL_ATTR_RATE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postfix/postfix/src/global/anvil_clnt.h
      type_or_value: '"rate"'
    - item_type: preproc_def
      name: ANVIL_ATTR_MAIL
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/global/anvil_clnt.h
      type_or_value: '"mail"'
    - item_type: preproc_def
      name: ANVIL_ATTR_RCPT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postfix/postfix/src/global/anvil_clnt.h
      type_or_value: '"rcpt"'
    - item_type: preproc_def
      name: ANVIL_ATTR_NTLS
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/global/anvil_clnt.h
      type_or_value: '"newtls"'
    - item_type: preproc_def
      name: ANVIL_ATTR_AUTH
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/global/anvil_clnt.h
      type_or_value: '"auth"'
    - item_type: preproc_def
      name: ANVIL_ATTR_STATUS
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/global/anvil_clnt.h
      type_or_value: '"status"'
    - item_type: preproc_def
      name: ANVIL_STAT_OK
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postfix/postfix/src/global/anvil_clnt.h
      type_or_value: '0'
    - item_type: preproc_def
      name: ANVIL_STAT_FAIL
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/postfix/postfix/src/global/anvil_clnt.h
      type_or_value: (-1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - bounce_log_open
  - STREQ
  - bounce_log_read
  - BUF_NODATA
  - BUF_ASSIGN
  - bounce_log_close
  source_file: /src/postfix/postfix/src/global/bounce_log.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: START
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/postfix/postfix/src/global/bounce_log.c
      type_or_value: "0\t\t\t\t"
    - item_type: preproc_def
      name: FOUND
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/postfix/postfix/src/global/bounce_log.c
      type_or_value: "1\t\t\t\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_mail_conf_str
  - get_mail_conf_str
  - get_mail_conf_str2
  - get_mail_conf_str_fn
  - set_mail_conf_str
  - get_mail_conf_str_table
  - get_mail_conf_str_fn_table
  source_file: /src/postfix/postfix/src/global/mail_conf_str.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*(*stupid_indent_str) (void)'
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/postfix/postfix/src/global/mail_conf_str.c
      type: char
    union: []
- function_names:
  - STR
  - info_log_addr_form_init
  - info_log_addr_form
  - info_log_addr_form_recipient
  - info_log_addr_form_sender
  source_file: /src/postfix/postfix/src/global/info_log_addr_form.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INFO_LOG_ADDR_FORM_VAL_NOT_SET
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/postfix/postfix/src/global/info_log_addr_form.c
      type_or_value: '0'
    - item_type: preproc_def
      name: INFO_LOG_ADDR_FORM_VAL_INTERNAL
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/postfix/postfix/src/global/info_log_addr_form.c
      type_or_value: '1'
    - item_type: preproc_def
      name: INFO_LOG_ADDR_FORM_VAL_EXTERNAL
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postfix/postfix/src/global/info_log_addr_form.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/abounce.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*ABOUNCE_FN) (int, void *)
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/postfix/postfix/src/global/abounce.h
      type: void
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/info_log_addr_form.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/dict_pgsql.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_PGSQL
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/global/dict_pgsql.h
      type_or_value: '"pgsql"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/dsn_filter.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MQID_FIND_LG_INUM_SEPARATOR
  - MQID_GET_INUM
  - MQID_LG_ENCODE_SEC
  - MQID_LG_ENCODE_USEC
  - MQID_LG_ENCODE_INUM
  - MQID_LG_DECODE_USEC
  - MQID_LG_DECODE_INUM
  - MQID_LG_ENCODE
  - MQID_LG_DECODE
  - MQID_LG_GET_HEX_USEC
  - MQID_SH_ENCODE_USEC
  - MQID_SH_ENCODE_INUM
  - MQID_SH_DECODE_INUM
  source_file: /src/postfix/postfix/src/global/mail_queue.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAIL_QUEUE_MAILDROP
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/global/mail_queue.h
      type_or_value: '"maildrop"'
    - item_type: preproc_def
      name: MAIL_QUEUE_HOLD
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/global/mail_queue.h
      type_or_value: '"hold"'
    - item_type: preproc_def
      name: MAIL_QUEUE_INCOMING
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postfix/postfix/src/global/mail_queue.h
      type_or_value: '"incoming"'
    - item_type: preproc_def
      name: MAIL_QUEUE_ACTIVE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/global/mail_queue.h
      type_or_value: '"active"'
    - item_type: preproc_def
      name: MAIL_QUEUE_DEFERRED
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postfix/postfix/src/global/mail_queue.h
      type_or_value: '"deferred"'
    - item_type: preproc_def
      name: MAIL_QUEUE_TRACE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postfix/postfix/src/global/mail_queue.h
      type_or_value: '"trace"'
    - item_type: preproc_def
      name: MAIL_QUEUE_DEFER
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/global/mail_queue.h
      type_or_value: '"defer"'
    - item_type: preproc_def
      name: MAIL_QUEUE_BOUNCE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/src/global/mail_queue.h
      type_or_value: '"bounce"'
    - item_type: preproc_def
      name: MAIL_QUEUE_CORRUPT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/global/mail_queue.h
      type_or_value: '"corrupt"'
    - item_type: preproc_def
      name: MAIL_QUEUE_FLUSH
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postfix/postfix/src/global/mail_queue.h
      type_or_value: '"flush"'
    - item_type: preproc_def
      name: MAIL_QUEUE_SAVED
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/global/mail_queue.h
      type_or_value: '"saved"'
    - item_type: preproc_def
      name: MAIL_QUEUE_STAT_READY
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postfix/postfix/src/global/mail_queue.h
      type_or_value: (S_IRUSR | S_IWUSR | S_IXUSR)
    - item_type: preproc_def
      name: MAIL_QUEUE_STAT_CORRUPT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/postfix/postfix/src/global/mail_queue.h
      type_or_value: (S_IRUSR)
    - item_type: preproc_def
      name: MAIL_QUEUE_STAT_UNTHROTTLE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/postfix/postfix/src/global/mail_queue.h
      type_or_value: (S_IRGRP)
    - item_type: preproc_def
      name: MAIL_QUEUE_STAT_EXPIRE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/postfix/postfix/src/global/mail_queue.h
      type_or_value: (S_IXGRP)
    - item_type: preproc_def
      name: MQID_LG_SEC_BASE
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/postfix/postfix/src/global/mail_queue.h
      type_or_value: "52\t"
    - item_type: preproc_def
      name: MQID_LG_SEC_PAD
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/postfix/postfix/src/global/mail_queue.h
      type_or_value: "6\t\t"
    - item_type: preproc_def
      name: MQID_LG_USEC_BASE
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/postfix/postfix/src/global/mail_queue.h
      type_or_value: "52\t"
    - item_type: preproc_def
      name: MQID_LG_USEC_PAD
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/postfix/postfix/src/global/mail_queue.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: MQID_LG_TIME_PAD
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/postfix/postfix/src/global/mail_queue.h
      type_or_value: (MQID_LG_SEC_PAD + MQID_LG_USEC_PAD)
    - item_type: preproc_def
      name: MQID_LG_INUM_SEP
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/postfix/postfix/src/global/mail_queue.h
      type_or_value: "'z'\t"
    - item_type: preproc_def
      name: MQID_LG_INUM_BASE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/postfix/postfix/src/global/mail_queue.h
      type_or_value: "51\t"
    - item_type: preproc_def
      name: MQID_LG_INUM_PAD
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/postfix/postfix/src/global/mail_queue.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: MQID_SH_USEC_PAD
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/postfix/postfix/src/global/mail_queue.h
      type_or_value: "5\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - sys_exits_fake
  - sys_exits_strerror
  - sys_exits_detail
  - sys_exits_softerror
  source_file: /src/postfix/postfix/src/global/sys_exits.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/header_opts.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HDR_OTHER
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '0'
    - item_type: preproc_def
      name: HDR_APPARENTLY_TO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HDR_BCC
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '2'
    - item_type: preproc_def
      name: HDR_CC
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '3'
    - item_type: preproc_def
      name: HDR_CONTENT_LENGTH
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '4'
    - item_type: preproc_def
      name: HDR_CONTENT_TRANSFER_ENCODING
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '5'
    - item_type: preproc_def
      name: HDR_CONTENT_TYPE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '6'
    - item_type: preproc_def
      name: HDR_DATE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '7'
    - item_type: preproc_def
      name: HDR_DELIVERED_TO
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '8'
    - item_type: preproc_def
      name: HDR_ERRORS_TO
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '9'
    - item_type: preproc_def
      name: HDR_FROM
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '10'
    - item_type: preproc_def
      name: HDR_MESSAGE_ID
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '11'
    - item_type: preproc_def
      name: HDR_RECEIVED
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '12'
    - item_type: preproc_def
      name: HDR_REPLY_TO
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '13'
    - item_type: preproc_def
      name: HDR_RESENT_BCC
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '14'
    - item_type: preproc_def
      name: HDR_RESENT_CC
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '15'
    - item_type: preproc_def
      name: HDR_RESENT_DATE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '16'
    - item_type: preproc_def
      name: HDR_RESENT_FROM
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '17'
    - item_type: preproc_def
      name: HDR_RESENT_MESSAGE_ID
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '18'
    - item_type: preproc_def
      name: HDR_RESENT_REPLY_TO
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '19'
    - item_type: preproc_def
      name: HDR_RESENT_SENDER
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '20'
    - item_type: preproc_def
      name: HDR_RESENT_TO
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '21'
    - item_type: preproc_def
      name: HDR_RETURN_PATH
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '22'
    - item_type: preproc_def
      name: HDR_RETURN_RECEIPT_TO
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '23'
    - item_type: preproc_def
      name: HDR_SENDER
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '24'
    - item_type: preproc_def
      name: HDR_TO
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '25'
    - item_type: preproc_def
      name: HDR_MAIL_FOLLOWUP_TO
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '26'
    - item_type: preproc_def
      name: HDR_CONTENT_DESCRIPTION
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '27'
    - item_type: preproc_def
      name: HDR_CONTENT_DISPOSITION
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '28'
    - item_type: preproc_def
      name: HDR_CONTENT_ID
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '29'
    - item_type: preproc_def
      name: HDR_MIME_VERSION
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '30'
    - item_type: preproc_def
      name: HDR_DISP_NOTIFICATION
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: '31'
    - item_type: preproc_def
      name: HDR_TLS_REQUIRED
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: "32\t"
    - item_type: preproc_def
      name: HDR_OPT_DROP
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: "(1<<0)\t\t"
    - item_type: preproc_def
      name: HDR_OPT_SENDER
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: "(1<<1)\t\t"
    - item_type: preproc_def
      name: HDR_OPT_RECIP
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: "(1<<2)\t\t"
    - item_type: preproc_def
      name: HDR_OPT_RR
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: "(1<<3)\t\t"
    - item_type: preproc_def
      name: HDR_OPT_EXTRACT
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: "(1<<4)\t\t"
    - item_type: preproc_def
      name: HDR_OPT_MIME
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: "(1<<5)\t\t"
    - item_type: preproc_def
      name: HDR_OPT_XRECIP
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/postfix/postfix/src/global/header_opts.h
      type_or_value: (HDR_OPT_RECIP | HDR_OPT_EXTRACT)
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: type
        type: int
      - name: flags
        type: int
      item_type: struct
      name: HEADER_OPTS
      pos:
        line_end: 19
        line_start: 15
        source_file: /src/postfix/postfix/src/global/header_opts.h
    typedefs: []
    union: []
- function_names:
  - mail_addr_map_opt
  - canon_addr_external
  - compare
  - usage
  - main
  - UPDATE
  source_file: /src/postfix/postfix/src/global/mail_addr_map.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/postfix/postfix/src/global/mail_addr_map.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: LEN
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/postfix/postfix/src/global/mail_addr_map.c
      type_or_value: VSTRING_LEN
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/postfix/postfix/src/global/mail_addr_map.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: DONT_PROPAGATE_UNMATCHED_EXTENSION
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/postfix/postfix/src/global/mail_addr_map.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DO_PROPAGATE_UNMATCHED_EXTENSION
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/postfix/postfix/src/global/mail_addr_map.c
      type_or_value: '1'
    - item_type: preproc_def
      name: NO_RECIPIENT_DELIMITER
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/postfix/postfix/src/global/mail_addr_map.c
      type_or_value: '""'
    - item_type: preproc_def
      name: PLUS_RECIPIENT_DELIMITER
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/postfix/postfix/src/global/mail_addr_map.c
      type_or_value: '"+"'
    - item_type: preproc_def
      name: DOT_RECIPIENT_DELIMITER
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/postfix/postfix/src/global/mail_addr_map.c
      type_or_value: '"."'
    structs:
    - fields:
      - name: '*testname'
        type: char
      - name: '*database'
        type: char
      - name: propagate
        type: int
      - name: '*delimiter'
        type: char
      - name: in_form
        type: int
      - name: query_form
        type: int
      - name: out_form
        type: int
      - name: '*address'
        type: char
      - name: '*expect_argv[2]'
        type: char
      - name: expect_argc
        type: int
      item_type: struct
      name: MAIL_ADDR_MAP_TEST
      pos:
        line_end: 257
        line_start: 246
        source_file: /src/postfix/postfix/src/global/mail_addr_map.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/data_redirect.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - INIT_VSTR
  - itoa
  - mongodb_parse_config
  - expand_value
  - get_result_string
  - dict_mongdb_quote
  - dict_mongdb_append_result_attribute
  - dict_mongodb_lookup
  - DICT_MONGODB_LOOKUP_ERR_RETURN
  - DICT_MONGODB_LOOKUP_RETURN
  - dict_mongodb_close
  - dict_mongodb_open
  - DICT_MONGODB_OPEN_ERR_RETURN
  source_file: /src/postfix/postfix/src/global/dict_mongodb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUFFER_SIZE
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/postfix/postfix/src/global/dict_mongodb.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: PRId64_FORMAT
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/postfix/postfix/src/global/dict_mongodb.c
      type_or_value: '"%" PRId64'
    structs:
    - fields:
      - name: dict
        type: DICT
      - name: '*parser'
        type: CFG_PARSER
      - name: '*client'
        type: mongoc_client_t
      - name: '*uri'
        type: char
      - name: '*dbname'
        type: char
      - name: '*collection'
        type: char
      - name: '*query_filter'
        type: char
      - name: '*projection'
        type: char
      - name: '*result_attribute'
        type: char
      - name: '*result_format'
        type: char
      - name: expansion_limit
        type: int
      - name: '*ctx'
        type: void
      item_type: struct
      name: DICT_MONGODB
      pos:
        line_end: 124
        line_start: 109
        source_file: /src/postfix/postfix/src/global/dict_mongodb.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/own_inet_addr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/bounce.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BOUNCE_CMD_APPEND
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postfix/postfix/src/global/bounce.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: BOUNCE_CMD_FLUSH
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/global/bounce.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: BOUNCE_CMD_WARN
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/global/bounce.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: BOUNCE_CMD_VERP
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/global/bounce.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: BOUNCE_CMD_ONE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/global/bounce.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: BOUNCE_CMD_TRACE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postfix/postfix/src/global/bounce.h
      type_or_value: "5\t"
    - item_type: preproc_def
      name: NO_DSN_DCODE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/postfix/postfix/src/global/bounce.h
      type_or_value: ((char *) 0)
    - item_type: preproc_def
      name: NO_RELAY_AGENT
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/postfix/postfix/src/global/bounce.h
      type_or_value: '"none"'
    - item_type: preproc_def
      name: NO_DSN_RMTA
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/postfix/postfix/src/global/bounce.h
      type_or_value: ((char *) 0)
    - item_type: preproc_def
      name: BOUNCE_FLAG_NONE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/postfix/postfix/src/global/bounce.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: BOUNCE_FLAG_CLEAN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/postfix/postfix/src/global/bounce.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: BOUNCE_FLAG_DELRCPT
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/postfix/postfix/src/global/bounce.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: BOUNCE_FLAG_KEEP
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/postfix/postfix/src/global/bounce.h
      type_or_value: BOUNCE_FLAG_NONE
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/dict_mongodb.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_MONGODB
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/global/dict_mongodb.h
      type_or_value: '"mongodb"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - input_transp_mask
  - input_transp_cleanup
  source_file: /src/postfix/postfix/src/global/input_transp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - maps_create
  - maps_find
  - maps_file_find
  - maps_free
  - main
  source_file: /src/postfix/postfix/src/global/maps.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OPEN_FLAGS
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/postfix/postfix/src/global/maps.c
      type_or_value: O_RDONLY
    structs: []
    typedefs: []
    union: []
- function_names:
  - opened
  - vopened
  source_file: /src/postfix/postfix/src/global/opened.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEXT
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/postfix/postfix/src/global/opened.c
      type_or_value: (vstring_str(text))
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/flush_clnt.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FLUSH_REQ_ADD
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/global/flush_clnt.h
      type_or_value: "\"add\"\t"
    - item_type: preproc_def
      name: FLUSH_REQ_SEND_SITE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/global/flush_clnt.h
      type_or_value: "\"send_site\"\t"
    - item_type: preproc_def
      name: FLUSH_REQ_SEND_FILE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/global/flush_clnt.h
      type_or_value: "\"send_file\"\t"
    - item_type: preproc_def
      name: FLUSH_REQ_REFRESH
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postfix/postfix/src/global/flush_clnt.h
      type_or_value: "\"rfrsh\"\t"
    - item_type: preproc_def
      name: FLUSH_REQ_PURGE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/global/flush_clnt.h
      type_or_value: "\"purge\"\t"
    - item_type: preproc_def
      name: FLUSH_STAT_FAIL
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/global/flush_clnt.h
      type_or_value: "-1\t"
    - item_type: preproc_def
      name: FLUSH_STAT_OK
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postfix/postfix/src/global/flush_clnt.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: FLUSH_STAT_BAD
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/global/flush_clnt.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: FLUSH_STAT_DENY
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postfix/postfix/src/global/flush_clnt.h
      type_or_value: "4\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - event_time
  - VERIFY_SENDER_ADDR_EPOCH
  - STR
  - LEN
  - make_verify_sender_addr
  - valid_verify_sender_addr
  - main
  source_file: /src/postfix/postfix/src/global/verify_sender_addr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VERIFY_BASE
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/postfix/postfix/src/global/verify_sender_addr.c
      type_or_value: '31'
    structs: []
    typedefs: []
    union: []
- function_names:
  - quote_822_local
  source_file: /src/postfix/postfix/src/global/quote_822_local.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/dict_proxy.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_PROXY
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/global/dict_proxy.h
      type_or_value: '"proxy"'
    - item_type: preproc_def
      name: PROXY_REQ_OPEN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/global/dict_proxy.h
      type_or_value: '"open"'
    - item_type: preproc_def
      name: PROXY_REQ_LOOKUP
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postfix/postfix/src/global/dict_proxy.h
      type_or_value: '"lookup"'
    - item_type: preproc_def
      name: PROXY_REQ_UPDATE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postfix/postfix/src/global/dict_proxy.h
      type_or_value: '"update"'
    - item_type: preproc_def
      name: PROXY_REQ_DELETE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/global/dict_proxy.h
      type_or_value: '"delete"'
    - item_type: preproc_def
      name: PROXY_REQ_SEQUENCE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/src/global/dict_proxy.h
      type_or_value: '"sequence"'
    - item_type: preproc_def
      name: PROXY_STAT_OK
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postfix/postfix/src/global/dict_proxy.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: PROXY_STAT_NOKEY
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/global/dict_proxy.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: PROXY_STAT_RETRY
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postfix/postfix/src/global/dict_proxy.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: PROXY_STAT_BAD
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postfix/postfix/src/global/dict_proxy.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: PROXY_STAT_DENY
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postfix/postfix/src/global/dict_proxy.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: PROXY_STAT_CONFIG
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/global/dict_proxy.h
      type_or_value: "5\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - dict_memcache_set
  - dict_memcache_get
  - dict_memcache_del
  - dict_memcache_prepare_key
  - dict_memcache_valid_key
  - DICT_MC_SKIP
  - dict_memcache_update
  - dict_memcache_lookup
  - dict_memcache_delete
  - dict_memcache_sequence
  - dict_memcache_close
  - dict_memcache_open
  source_file: /src/postfix/postfix/src/global/dict_memcache.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_MC_DEF_HOST
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
      type_or_value: '"localhost"'
    - item_type: preproc_def
      name: DICT_MC_DEF_PORT
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
      type_or_value: '"11211"'
    - item_type: preproc_def
      name: DICT_MC_DEF_MEMCACHE
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
      type_or_value: '"inet:" DICT_MC_DEF_HOST ":" DICT_MC_DEF_PORT'
    - item_type: preproc_def
      name: DICT_MC_DEF_KEY_FMT
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
      type_or_value: '"%s"'
    - item_type: preproc_def
      name: DICT_MC_DEF_KEY_DGST
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
      type_or_value: '""'
    - item_type: preproc_def
      name: DICT_MC_DEF_MC_TTL
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
      type_or_value: '3600'
    - item_type: preproc_def
      name: DICT_MC_DEF_MC_TIMEOUT
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
      type_or_value: '2'
    - item_type: preproc_def
      name: DICT_MC_DEF_MC_FLAGS
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DICT_MC_DEF_MAX_TRY
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
      type_or_value: '2'
    - item_type: preproc_def
      name: DICT_MC_DEF_MAX_LINE
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: DICT_MC_DEF_MAX_DATA
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
      type_or_value: '10240'
    - item_type: preproc_def
      name: DICT_MC_DEF_ERR_PAUSE
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DICT_MC_NAME_MEMCACHE
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
      type_or_value: '"memcache"'
    - item_type: preproc_def
      name: DICT_MC_NAME_BACKUP
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
      type_or_value: '"backup"'
    - item_type: preproc_def
      name: DICT_MC_NAME_KEY_DGST
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
      type_or_value: '"key_digest"'
    - item_type: preproc_def
      name: DICT_MC_NAME_KEY_FMT
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
      type_or_value: '"key_format"'
    - item_type: preproc_def
      name: DICT_MC_NAME_MC_TTL
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
      type_or_value: '"ttl"'
    - item_type: preproc_def
      name: DICT_MC_NAME_MC_TIMEOUT
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
      type_or_value: '"timeout"'
    - item_type: preproc_def
      name: DICT_MC_NAME_MC_FLAGS
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
      type_or_value: '"flags"'
    - item_type: preproc_def
      name: DICT_MC_NAME_MAX_TRY
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
      type_or_value: '"max_try"'
    - item_type: preproc_def
      name: DICT_MC_NAME_MAX_LINE
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
      type_or_value: '"line_size_limit"'
    - item_type: preproc_def
      name: DICT_MC_NAME_MAX_DATA
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
      type_or_value: '"data_size_limit"'
    - item_type: preproc_def
      name: DICT_MC_NAME_ERR_PAUSE
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
      type_or_value: '"retry_pause"'
    - item_type: preproc_def
      name: DICT_MC_NO_KEY
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
      type_or_value: (0)
    - item_type: preproc_def
      name: DICT_MC_NO_QUOTING
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
      type_or_value: ((void (*)(DICT *, const char *, VSTRING *)) 0)
    structs:
    - fields:
      - name: dict
        type: DICT
      - name: '*parser'
        type: CFG_PARSER
      - name: '*dbc_ctxt'
        type: void
      - name: '*key_digest'
        type: char
      - name: '*key_format'
        type: char
      - name: timeout
        type: int
      - name: mc_ttl
        type: int
      - name: mc_flags
        type: int
      - name: err_pause
        type: int
      - name: max_tries
        type: int
      - name: max_line
        type: int
      - name: max_data
        type: int
      - name: '*memcache'
        type: char
      - name: '*clnt'
        type: AUTO_CLNT
      - name: '*clnt_buf'
        type: VSTRING
      - name: '*key_buf'
        type: VSTRING
      - name: '*res_buf'
        type: VSTRING
      - name: error
        type: int
      - name: '*backup'
        type: DICT
      item_type: struct
      name: DICT_MC
      pos:
        line_end: 99
        line_start: 75
        source_file: /src/postfix/postfix/src/global/dict_memcache.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/normalize_mailhost_addr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - convert_mail_conf_int
  - check_mail_conf_int
  - get_mail_conf_int
  - get_mail_conf_int2
  - get_mail_conf_int_fn
  - set_mail_conf_int
  - get_mail_conf_int_table
  - get_mail_conf_int_fn_table
  source_file: /src/postfix/postfix/src/global/mail_conf_int.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*stupid_indent_int) (void)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/postfix/postfix/src/global/mail_conf_int.c
      type: int
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/delivered_hdr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tok822_rewrite
  source_file: /src/postfix/postfix/src/global/tok822_rewrite.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - msg_stats_print
  source_file: /src/postfix/postfix/src/global/msg_stats_print.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/mail_addr_form.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MA_FORM_INTERNAL
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/postfix/postfix/src/global/mail_addr_form.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: MA_FORM_EXTERNAL
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/postfix/postfix/src/global/mail_addr_form.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: MA_FORM_EXTERNAL_FIRST
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/postfix/postfix/src/global/mail_addr_form.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: MA_FORM_INTERNAL_FIRST
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/postfix/postfix/src/global/mail_addr_form.h
      type_or_value: "4\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - CA_MAIL_STREAM_CTL_QUEUE
  - CA_MAIL_STREAM_CTL_CLASS
  - CA_MAIL_STREAM_CTL_SERVICE
  - CA_MAIL_STREAM_CTL_MODE
  - CA_MAIL_STREAM_CTL_DELAY
  source_file: /src/postfix/postfix/src/global/mail_stream.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAIL_STREAM_CTL_END
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/postfix/postfix/src/global/mail_stream.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: MAIL_STREAM_CTL_QUEUE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/postfix/postfix/src/global/mail_stream.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: MAIL_STREAM_CTL_CLASS
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/postfix/postfix/src/global/mail_stream.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: MAIL_STREAM_CTL_SERVICE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/postfix/postfix/src/global/mail_stream.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: MAIL_STREAM_CTL_MODE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/postfix/postfix/src/global/mail_stream.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: MAIL_STREAM_CTL_DELAY
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/postfix/postfix/src/global/mail_stream.h
      type_or_value: "5\t"
    - item_type: preproc_def
      name: CA_MAIL_STREAM_CTL_END
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/postfix/postfix/src/global/mail_stream.h
      type_or_value: MAIL_STREAM_CTL_END
    structs:
    - fields:
      - name: '*stream'
        type: VSTREAM
      - name: '*queue'
        type: char
      - name: '*id'
        type: char
      - name: finish
        type: MAIL_STREAM_FINISH_FN
      - name: close
        type: MAIL_STREAM_CLOSE_FN
      - name: '*class'
        type: char
      - name: '*service'
        type: char
      - name: mode
        type: int
      - name: ctime
        type: struct timeval
      item_type: struct
      name: MAIL_STREAM
      pos:
        line_end: 46
        line_start: 33
        source_file: /src/postfix/postfix/src/global/mail_stream.h
    typedefs:
    - item_type: typedef
      name: (*MAIL_STREAM_FINISH_FN) (MAIL_STREAM *, VSTRING *)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/postfix/postfix/src/global/mail_stream.h
      type: int
    - item_type: typedef
      name: (*MAIL_STREAM_CLOSE_FN) (VSTREAM *)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/postfix/postfix/src/global/mail_stream.h
      type: int
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/deliver_pass.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dsb_scan
  source_file: /src/postfix/postfix/src/global/dsb_scan.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mail_flush_deferred
  - mail_flush_maildrop
  source_file: /src/postfix/postfix/src/global/mail_flush.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/sent.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SENT_FLAG_NONE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/global/sent.h
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/debug_process.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - convert_mail_conf_nint
  - check_mail_conf_nint
  - get_mail_conf_nint
  - get_mail_conf_nint2
  - get_mail_conf_nint_fn
  - set_mail_conf_nint
  - set_mail_conf_nint_int
  - get_mail_conf_nint_table
  - get_mail_conf_nint_fn_table
  source_file: /src/postfix/postfix/src/global/mail_conf_nint.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*(*stupid_indent_int) (void)'
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/postfix/postfix/src/global/mail_conf_nint.c
      type: char
    union: []
- function_names:
  - SET_MIME_STATE
  - SET_CURR_STATE
  - STR
  - LEN
  - END
  - CU_CHAR_PTR
  - REPORT_ERROR_LEN
  - REPORT_ERROR
  - REPORT_ERROR_BUF
  - HEAD_OUT
  - BODY_OUT
  - mime_state_push
  - mime_state_pop
  - mime_state_alloc
  - mime_state_free
  - mime_state_content_type
  - TOKEN_MATCH
  - PARSE_CONTENT_TYPE_HEADER
  - mime_state_content_encoding
  - PARSE_CONTENT_ENCODING_HEADER
  - mime_state_enc_name
  - mime_state_downgrade
  - QP_ENCODE
  - mime_state_update
  - SAVE_PREV_REC_TYPE_AND_RETURN_ERR_FLAGS
  - mime_state_error
  - mime_state_detail
  - head_out
  - head_end
  - body_out
  - body_end
  - err_print
  - main
  source_file: /src/postfix/postfix/src/global/mime_state.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MIME_MAX_TOKEN
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/postfix/postfix/src/global/mime_state.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: MIME_CTYPE_OTHER
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/postfix/postfix/src/global/mime_state.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MIME_CTYPE_TEXT
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/postfix/postfix/src/global/mime_state.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MIME_CTYPE_MESSAGE
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/postfix/postfix/src/global/mime_state.c
      type_or_value: '2'
    - item_type: preproc_def
      name: MIME_CTYPE_MULTIPART
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/postfix/postfix/src/global/mime_state.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MIME_STYPE_OTHER
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/postfix/postfix/src/global/mime_state.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MIME_STYPE_PLAIN
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/postfix/postfix/src/global/mime_state.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MIME_STYPE_RFC822
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/postfix/postfix/src/global/mime_state.c
      type_or_value: '2'
    - item_type: preproc_def
      name: MIME_STYPE_PARTIAL
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/postfix/postfix/src/global/mime_state.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MIME_STYPE_EXTERN_BODY
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/postfix/postfix/src/global/mime_state.c
      type_or_value: '4'
    - item_type: preproc_def
      name: MIME_STYPE_GLOBAL
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/postfix/postfix/src/global/mime_state.c
      type_or_value: '5'
    - item_type: preproc_def
      name: MIME_STATE_PRIMARY
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/postfix/postfix/src/global/mime_state.c
      type_or_value: "MIME_HDR_PRIMARY\t"
    - item_type: preproc_def
      name: MIME_STATE_MULTIPART
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/postfix/postfix/src/global/mime_state.c
      type_or_value: "MIME_HDR_MULTIPART\t"
    - item_type: preproc_def
      name: MIME_STATE_NESTED
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/postfix/postfix/src/global/mime_state.c
      type_or_value: "MIME_HDR_NESTED\t"
    - item_type: preproc_def
      name: MIME_STATE_BODY
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/postfix/postfix/src/global/mime_state.c
      type_or_value: (MIME_HDR_NESTED + 1)
    - item_type: preproc_def
      name: MIME_ENC_QP
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/postfix/postfix/src/global/mime_state.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: MIME_ENC_BASE64
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/postfix/postfix/src/global/mime_state.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: MIME_ENC_7BIT
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/postfix/postfix/src/global/mime_state.c
      type_or_value: "7\t"
    - item_type: preproc_def
      name: MIME_ENC_8BIT
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/postfix/postfix/src/global/mime_state.c
      type_or_value: "8\t"
    - item_type: preproc_def
      name: MIME_ENC_BINARY
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/postfix/postfix/src/global/mime_state.c
      type_or_value: "9\t"
    - item_type: preproc_def
      name: RFC2045_TSPECIALS
      pos:
        line_end: 554
        line_start: 553
        source_file: /src/postfix/postfix/src/global/mime_state.c
      type_or_value: '"()<>@,;:\\\"/[]?="'
    - item_type: preproc_def
      name: REC_LEN
      pos:
        line_end: 1189
        line_start: 1188
        source_file: /src/postfix/postfix/src/global/mime_state.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: MIME_OPTIONS
      pos:
        line_end: 1257
        line_start: 1250
        source_file: /src/postfix/postfix/src/global/mime_state.c
      type_or_value: "(MIME_OPT_REPORT_8BIT_IN_7BIT_BODY \\\n\t    | MIME_OPT_REPORT_8BIT_IN_HEADER
        \\\n\t    | MIME_OPT_REPORT_ENCODING_DOMAIN \\\n\t    | MIME_OPT_REPORT_TRUNC_HEADER
        \\\n\t    | MIME_OPT_REPORT_NESTING \\\n\t    | MIME_OPT_DOWNGRADE)"
    structs:
    - fields:
      - name: def_ctype
        type: int
      - name: def_stype
        type: int
      - name: '*boundary'
        type: char
      - name: bound_len
        type: ssize_t
      - name: '*next'
        type: struct MIME_STACK
      item_type: struct
      name: MIME_STACK
      pos:
        line_end: 284
        line_start: 278
        source_file: /src/postfix/postfix/src/global/mime_state.c
    - fields:
      - name: curr_state
        type: int
      - name: curr_ctype
        type: int
      - name: curr_stype
        type: int
      - name: curr_encoding
        type: int
      - name: curr_domain
        type: int
      - name: '*output_buffer'
        type: VSTRING
      - name: prev_rec_type
        type: int
      - name: nesting_level
        type: int
      - name: '*stack'
        type: MIME_STACK
      - name: token[MIME_MAX_TOKEN]
        type: HEADER_TOKEN
      - name: '*token_buffer'
        type: VSTRING
      - name: err_flags
        type: int
      - name: head_offset
        type: off_t
      - name: body_offset
        type: off_t
      - name: static_flags
        type: int
      - name: head_out
        type: MIME_STATE_HEAD_OUT
      - name: head_end
        type: MIME_STATE_ANY_END
      - name: body_out
        type: MIME_STATE_BODY_OUT
      - name: body_end
        type: MIME_STATE_ANY_END
      - name: err_print
        type: MIME_STATE_ERR_PRINT
      - name: '*app_context'
        type: void
      item_type: struct
      name: MIME_STATE
      pos:
        line_end: 321
        line_start: 291
        source_file: /src/postfix/postfix/src/global/mime_state.c
    - fields:
      - name: '*name'
        type: char
      - name: encoding
        type: int
      - name: domain
        type: int
      item_type: struct
      name: MIME_ENCODING
      pos:
        line_end: 377
        line_start: 373
        source_file: /src/postfix/postfix/src/global/mime_state.c
    typedefs: []
    union: []
- function_names:
  - match_service_compat
  - match_service_init
  - match_service_init_argv
  - match_service_match
  - match_service_free
  source_file: /src/postfix/postfix/src/global/match_service.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - defer_append
  - defer_append_intern
  - defer_flush
  - defer_warn
  - defer_one
  source_file: /src/postfix/postfix/src/global/defer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/dot_lockfile_as.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SCACHE_SINGLE_ENDP_BUSY
  - SCACHE_SINGLE_DEST_BUSY
  - STR
  - scache_single_free_endp
  - scache_single_expire_endp
  - scache_single_save_endp
  - scache_single_find_endp
  - scache_single_free_dest
  - scache_single_expire_dest
  - scache_single_save_dest
  - scache_single_find_dest
  - scache_single_size
  - scache_single_free
  - scache_single_create
  source_file: /src/postfix/postfix/src/global/scache_single.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*endp_label'
        type: VSTRING
      - name: '*endp_prop'
        type: VSTRING
      - name: fd
        type: int
      item_type: struct
      name: SCACHE_SINGLE_ENDP
      pos:
        line_end: 60
        line_start: 56
        source_file: /src/postfix/postfix/src/global/scache_single.c
    - fields:
      - name: '*dest_label'
        type: VSTRING
      - name: '*dest_prop'
        type: VSTRING
      - name: '*endp_label'
        type: VSTRING
      item_type: struct
      name: SCACHE_SINGLE_DEST
      pos:
        line_end: 71
        line_start: 67
        source_file: /src/postfix/postfix/src/global/scache_single.c
    - fields:
      - name: scache[1]
        type: SCACHE
      - name: endp
        type: SCACHE_SINGLE_ENDP
      - name: dest
        type: SCACHE_SINGLE_DEST
      item_type: struct
      name: SCACHE_SINGLE
      pos:
        line_end: 80
        line_start: 76
        source_file: /src/postfix/postfix/src/global/scache_single.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/mail_version.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAIL_RELEASE_DATE
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/global/mail_version.h
      type_or_value: '"20250825"'
    - item_type: preproc_def
      name: MAIL_VERSION_NUMBER
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postfix/postfix/src/global/mail_version.h
      type_or_value: '"3.11"'
    - item_type: preproc_def
      name: MAIL_VERSION_DATE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/global/mail_version.h
      type_or_value: '"-" MAIL_RELEASE_DATE'
    - item_type: preproc_def
      name: MAIL_VERSION_DATE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/global/mail_version.h
      type_or_value: '""'
    - item_type: preproc_def
      name: MAIL_VERSION_PROD
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postfix/postfix/src/global/mail_version.h
      type_or_value: '"-nonprod"'
    - item_type: preproc_def
      name: MAIL_VERSION_PROD
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/src/global/mail_version.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_MAIL_VERSION
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/global/mail_version.h
      type_or_value: '"mail_version"'
    - item_type: preproc_def
      name: DEF_MAIL_VERSION
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postfix/postfix/src/global/mail_version.h
      type_or_value: MAIL_VERSION_NUMBER MAIL_VERSION_DATE MAIL_VERSION_PROD
    - item_type: preproc_def
      name: VAR_MAIL_RELEASE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/global/mail_version.h
      type_or_value: '"mail_release_date"'
    - item_type: preproc_def
      name: DEF_MAIL_RELEASE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/global/mail_version.h
      type_or_value: MAIL_RELEASE_DATE
    - item_type: preproc_def
      name: MAIL_VERSION_STAMP_DECLARE
      pos:
        line_end: 65
        line_start: 63
        source_file: /src/postfix/postfix/src/global/mail_version.h
      type_or_value: char *mail_version_stamp
    - item_type: preproc_def
      name: MAIL_VERSION_STAMP_ALLOCATE
      pos:
        line_end: 68
        line_start: 66
        source_file: /src/postfix/postfix/src/global/mail_version.h
      type_or_value: mail_version_stamp = strdup(VAR_MAIL_VERSION "=" DEF_MAIL_VERSION)
    - item_type: preproc_def
      name: MAIL_VERSION_CHECK
      pos:
        line_end: 91
        line_start: 89
        source_file: /src/postfix/postfix/src/global/mail_version.h
      type_or_value: check_mail_version(DEF_MAIL_VERSION)
    structs:
    - fields:
      - name: '*program'
        type: char
      - name: major
        type: int
      - name: minor
        type: int
      - name: patch
        type: int
      - name: '*snapshot'
        type: char
      item_type: struct
      name: MAIL_VERSION
      pos:
        line_end: 82
        line_start: 76
        source_file: /src/postfix/postfix/src/global/mail_version.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/file_id.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namadr_list_init
  source_file: /src/postfix/postfix/src/global/namadr_list.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NAMADR_LIST
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/global/namadr_list.h
      type_or_value: MATCH_LIST
    - item_type: preproc_def
      name: namadr_list_match
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postfix/postfix/src/global/namadr_list.h
      type_or_value: match_list_match
    - item_type: preproc_def
      name: namadr_list_free
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/global/namadr_list.h
      type_or_value: match_list_free
    structs: []
    typedefs: []
    union: []
- function_names:
  - dot_lockfile
  - dot_unlockfile
  - main
  source_file: /src/postfix/postfix/src/global/dot_lockfile.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MILLION
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/postfix/postfix/src/global/dot_lockfile.c
      type_or_value: '1000000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mynetworks_core
  - mynetworks
  - mynetworks_host
  - main
  source_file: /src/postfix/postfix/src/global/mynetworks.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IN_CLASSD_NET
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/postfix/postfix/src/global/mynetworks.c
      type_or_value: '0xf0000000'
    - item_type: preproc_def
      name: IN_CLASSD_NSHIFT
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/postfix/postfix/src/global/mynetworks.c
      type_or_value: '28'
    - item_type: preproc_def
      name: MASK_STYLE_CLASS
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/postfix/postfix/src/global/mynetworks.c
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: MASK_STYLE_SUBNET
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/postfix/postfix/src/global/mynetworks.c
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: MASK_STYLE_HOST
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/postfix/postfix/src/global/mynetworks.c
      type_or_value: (1 << 2)
    structs: []
    typedefs: []
    union: []
- function_names:
  - own_inet_addr_init
  - own_inet_addr
  - own_inet_addr_list
  - own_inet_mask_list
  - proxy_inet_addr_init
  - proxy_inet_addr
  - proxy_inet_addr_list
  - inet_addr_list_print
  - main
  source_file: /src/postfix/postfix/src/global/own_inet_addr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - map_search_init
  - map_search_create
  - MAP_SEARCH_CREATE_RETURN
  - map_search_lookup
  - string_or_null
  - escape_order
  - main
  source_file: /src/postfix/postfix/src/global/map_search.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_NAME_1
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/postfix/postfix/src/global/map_search.c
      type_or_value: '"one"'
    - item_type: preproc_def
      name: TEST_NAME_2
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/postfix/postfix/src/global/map_search.c
      type_or_value: '"two"'
    - item_type: preproc_def
      name: TEST_CODE_1
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/postfix/postfix/src/global/map_search.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TEST_CODE_2
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/postfix/postfix/src/global/map_search.c
      type_or_value: '2'
    - item_type: preproc_def
      name: BAD_NAME
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/postfix/postfix/src/global/map_search.c
      type_or_value: '"bad"'
    structs:
    - fields:
      - name: '*map_spec'
        type: char
      - name: exp_return
        type: int
      - name: '*exp_map_type_name'
        type: char
      - name: '*exp_search_order'
        type: char
      item_type: struct
      name: TEST_CASE
      pos:
        line_end: 297
        line_start: 292
        source_file: /src/postfix/postfix/src/global/map_search.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/dynamicmaps.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dsn_print
  source_file: /src/postfix/postfix/src/global/dsn_print.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/conv_time.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/valid_mailhost_addr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IPV6_COL
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/global/valid_mailhost_addr.h
      type_or_value: "\"IPv6:\"\t"
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/memcache_proto.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/mail_run.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/ehlo_mask.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EHLO_MASK_8BITMIME
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/postfix/postfix/src/global/ehlo_mask.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: EHLO_MASK_PIPELINING
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/postfix/postfix/src/global/ehlo_mask.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: EHLO_MASK_SIZE
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/postfix/postfix/src/global/ehlo_mask.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: EHLO_MASK_VRFY
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/postfix/postfix/src/global/ehlo_mask.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: EHLO_MASK_ETRN
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/postfix/postfix/src/global/ehlo_mask.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: EHLO_MASK_AUTH
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/global/ehlo_mask.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: EHLO_MASK_VERP
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/global/ehlo_mask.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: EHLO_MASK_STARTTLS
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postfix/postfix/src/global/ehlo_mask.h
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: EHLO_MASK_XCLIENT
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postfix/postfix/src/global/ehlo_mask.h
      type_or_value: "(1<<8)\t"
    - item_type: preproc_def
      name: EHLO_MASK_XFORWARD
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/global/ehlo_mask.h
      type_or_value: (1<<9)
    - item_type: preproc_def
      name: EHLO_MASK_ENHANCEDSTATUSCODES
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/global/ehlo_mask.h
      type_or_value: (1<<10)
    - item_type: preproc_def
      name: EHLO_MASK_DSN
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/global/ehlo_mask.h
      type_or_value: (1<<11)
    - item_type: preproc_def
      name: EHLO_MASK_SMTPUTF8
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postfix/postfix/src/global/ehlo_mask.h
      type_or_value: (1<<12)
    - item_type: preproc_def
      name: EHLO_MASK_CHUNKING
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/global/ehlo_mask.h
      type_or_value: (1<<13)
    - item_type: preproc_def
      name: EHLO_MASK_SILENT
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postfix/postfix/src/global/ehlo_mask.h
      type_or_value: (1<<15)
    structs: []
    typedefs: []
    union: []
- function_names:
  - rec_type_name
  source_file: /src/postfix/postfix/src/global/rec_type.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: type
        type: int
      - name: '*name'
        type: char
      item_type: struct
      name: REC_TYPE_NAME
      pos:
        line_end: 37
        line_start: 34
        source_file: /src/postfix/postfix/src/global/rec_type.c
    typedefs: []
    union: []
- function_names:
  - convert_mail_conf_time
  - check_mail_conf_time
  - get_def_time_unit
  - get_mail_conf_time
  - get_mail_conf_time2
  - set_mail_conf_time
  - set_mail_conf_time_int
  - get_mail_conf_time_table
  - main
  source_file: /src/postfix/postfix/src/global/mail_conf_time.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rewrite_clnt_handshake
  - rewrite_clnt
  - rewrite_clnt_internal
  - usage
  - rewrite
  - main
  source_file: /src/postfix/postfix/src/global/rewrite_clnt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/postfix/postfix/src/global/rewrite_clnt.c
      type_or_value: vstring_str
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/mail_copy.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAIL_COPY_QUOTE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postfix/postfix/src/global/mail_copy.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: MAIL_COPY_TOFILE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postfix/postfix/src/global/mail_copy.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: MAIL_COPY_FROM
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/global/mail_copy.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: MAIL_COPY_DELIVERED
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/src/global/mail_copy.h
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: MAIL_COPY_RETURN_PATH
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/global/mail_copy.h
      type_or_value: "(1<<4)\t"
    - item_type: preproc_def
      name: MAIL_COPY_DOT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postfix/postfix/src/global/mail_copy.h
      type_or_value: "(1<<5)\t"
    - item_type: preproc_def
      name: MAIL_COPY_BLANK
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/global/mail_copy.h
      type_or_value: "(1<<6)\t"
    - item_type: preproc_def
      name: MAIL_COPY_ORIG_RCPT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postfix/postfix/src/global/mail_copy.h
      type_or_value: "(1<<7)\t"
    - item_type: preproc_def
      name: MAIL_COPY_MBOX
      pos:
        line_end: 43
        line_start: 39
        source_file: /src/postfix/postfix/src/global/mail_copy.h
      type_or_value: "(MAIL_COPY_FROM | MAIL_COPY_QUOTE | \\\n\t\t\t\t    MAIL_COPY_TOFILE
        | MAIL_COPY_DELIVERED | \\\n\t\t\t\t    MAIL_COPY_RETURN_PATH | MAIL_COPY_BLANK
        | \\\n\t\t\t\t\tMAIL_COPY_ORIG_RCPT)"
    - item_type: preproc_def
      name: MAIL_COPY_NONE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/global/mail_copy.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: MAIL_COPY_STAT_OK
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/global/mail_copy.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MAIL_COPY_STAT_CORRUPT
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postfix/postfix/src/global/mail_copy.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: MAIL_COPY_STAT_READ
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/postfix/postfix/src/global/mail_copy.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: MAIL_COPY_STAT_WRITE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/postfix/postfix/src/global/mail_copy.h
      type_or_value: (1<<2)
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - xtext_quote_append
  - xtext_quote
  - xtext_unquote_append
  - xtext_unquote
  - read_buf
  - main
  source_file: /src/postfix/postfix/src/global/xtext.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUFLEN
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/postfix/postfix/src/global/xtext.c
      type_or_value: '1024'
    structs: []
    typedefs: []
    union: []
- function_names:
  - bounce_log_rewind
  source_file: /src/postfix/postfix/src/global/bounce_log.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*fp'
        type: VSTREAM
      - name: '*buf'
        type: VSTRING
      - name: '*compat_status'
        type: char
      - name: '*compat_action'
        type: char
      item_type: struct
      name: BOUNCE_LOG
      pos:
        line_end: 34
        line_start: 29
        source_file: /src/postfix/postfix/src/global/bounce_log.h
    typedefs: []
    union: []
- function_names:
  - cleanup_strerror
  - cleanup_stat_detail
  source_file: /src/postfix/postfix/src/global/cleanup_strerror.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/mail_scan_dir.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/postfix/postfix/src/global/stream2rec.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - IS_SPACE_TAB
  - IS_SPACE_TAB_CR_LF
  source_file: /src/postfix/postfix/src/global/lex_822.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LEX_822_SPECIALS
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/global/lex_822.h
      type_or_value: '"()<>@,;:\\\".[]"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - rcpb_create
  - rcpb_reset
  - BUF_TRUNCATE
  - rcpb_free
  - rcpb_scan
  source_file: /src/postfix/postfix/src/global/rcpt_buf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - strategy_from_string
  - strategy_to_string
  - find_addr
  - find_local
  - mail_addr_find_opt
  - usage
  - main
  - UPDATE
  source_file: /src/postfix/postfix/src/global/mail_addr_find.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/postfix/postfix/src/global/mail_addr_find.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: FULL
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/postfix/postfix/src/global/mail_addr_find.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PARTIAL
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/postfix/postfix/src/global/mail_addr_find.c
      type_or_value: DICT_FLAG_FIXED
    - item_type: preproc_def
      name: SANS_DOMAIN
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/postfix/postfix/src/global/mail_addr_find.c
      type_or_value: '0'
    - item_type: preproc_def
      name: WITH_DOMAIN
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/postfix/postfix/src/global/mail_addr_find.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/strip_addr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: strip_addr
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/postfix/postfix/src/global/strip_addr.h
      type_or_value: strip_addr_internal
    structs: []
    typedefs: []
    union: []
- function_names:
  - deliver_request_initial
  - deliver_request_final
  - deliver_request_get
  - deliver_request_alloc
  - deliver_request_free
  - deliver_request_read
  - deliver_request_done
  source_file: /src/postfix/postfix/src/global/deliver_request.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DELIVER_LOCK_MODE
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/postfix/postfix/src/global/deliver_request.c
      type_or_value: (MYFLOCK_OP_SHARED | MYFLOCK_OP_NOWAIT)
    - item_type: preproc_def
      name: XXX_DEFER_STATUS
      pos:
        line_end: 469
        line_start: 468
        source_file: /src/postfix/postfix/src/global/deliver_request.c
      type_or_value: '-1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - tok822_resolve_from
  source_file: /src/postfix/postfix/src/global/tok822_resolve.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - GOOD_MAJOR
  - GOOD_MINOR
  - GOOD_PATCH
  - ENCODE_MAJOR
  - ENCODE_MINOR
  - ENCODE_PATCH
  - DECODE_MAJOR
  - DECODE_MINOR
  - DECODE_PATCH
  - compat_level_from_string
  - compat_level_from_numbers
  - compat_level_to_string
  - compat_relop_eval
  - compat_level_relop_register
  - lookup
  - test_expand
  - test_convert
  - usage
  - main
  source_file: /src/postfix/postfix/src/global/compat_level.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: COMPAT_MAJOR_SHIFT
      pos:
        line_end: 125
        line_start: 123
        source_file: /src/postfix/postfix/src/global/compat_level.c
      type_or_value: (COMPAT_MINOR_SHIFT + COMPAT_MINOR_WIDTH)
    - item_type: preproc_def
      name: COMPAT_MINOR_SHIFT
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/postfix/postfix/src/global/compat_level.c
      type_or_value: COMPAT_PATCH_WIDTH
    - item_type: preproc_def
      name: COMPAT_MINOR_BITS
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/postfix/postfix/src/global/compat_level.c
      type_or_value: '0x3ff'
    - item_type: preproc_def
      name: COMPAT_MINOR_WIDTH
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/postfix/postfix/src/global/compat_level.c
      type_or_value: '10'
    - item_type: preproc_def
      name: COMPAT_PATCH_BITS
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/postfix/postfix/src/global/compat_level.c
      type_or_value: '0x3ff'
    - item_type: preproc_def
      name: COMPAT_PATCH_WIDTH
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/postfix/postfix/src/global/compat_level.c
      type_or_value: '10'
    - item_type: preproc_def
      name: MODE_EXPAND
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/postfix/postfix/src/global/compat_level.c
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: MODE_CONVERT
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/postfix/postfix/src/global/compat_level.c
      type_or_value: (1<<1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_dict_str
  - get_main_str
  - get_dict_int
  - get_main_int
  - get_dict_bool
  - get_main_bool
  - cfg_parser_alloc
  - cfg_get_str
  - cfg_get_int
  - cfg_get_bool
  - cfg_parser_free
  source_file: /src/postfix/postfix/src/global/cfg_parser.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - string_list_init
  source_file: /src/postfix/postfix/src/global/string_list.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STRING_LIST
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/global/string_list.h
      type_or_value: MATCH_LIST
    - item_type: preproc_def
      name: string_list_match
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postfix/postfix/src/global/string_list.h
      type_or_value: match_list_match
    - item_type: preproc_def
      name: string_list_free
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/global/string_list.h
      type_or_value: match_list_free
    structs: []
    typedefs: []
    union: []
- function_names:
  - int_filt_flags
  source_file: /src/postfix/postfix/src/global/int_filt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/input_transp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INPUT_TRANSP_UNKNOWN_RCPT
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/postfix/postfix/src/global/input_transp.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: INPUT_TRANSP_ADDRESS_MAPPING
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/postfix/postfix/src/global/input_transp.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: INPUT_TRANSP_HEADER_BODY
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/postfix/postfix/src/global/input_transp.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: INPUT_TRANSP_MILTER
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/postfix/postfix/src/global/input_transp.h
      type_or_value: (1<<3)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/mark_corrupt.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_mail_conf_raw
  - get_mail_conf_raw
  - get_mail_conf_raw_fn
  - get_mail_conf_raw_table
  - get_mail_conf_raw_fn_table
  source_file: /src/postfix/postfix/src/global/mail_conf_raw.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*(*stupid_indent_str) (void)'
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/postfix/postfix/src/global/mail_conf_raw.c
      type: char
    union: []
- function_names:
  - usage
  - main
  source_file: /src/postfix/postfix/src/global/domain_list.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - memcache_get
  - memcache_fwrite
  - memcache_fread
  - memcache_vprintf
  - memcache_printf
  source_file: /src/postfix/postfix/src/global/memcache_proto.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - flush_init
  - flush_purge
  - flush_refresh
  - flush_send_site
  - flush_send_file
  - flush_add
  source_file: /src/postfix/postfix/src/global/flush_clnt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/login_sender_match.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LSM_STAT_FOUND
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postfix/postfix/src/global/login_sender_match.h
      type_or_value: (1)
    - item_type: preproc_def
      name: LSM_STAT_NOTFOUND
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/global/login_sender_match.h
      type_or_value: (0)
    - item_type: preproc_def
      name: LSM_STAT_RETRY
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/src/global/login_sender_match.h
      type_or_value: (DICT_ERR_RETRY)
    - item_type: preproc_def
      name: LSM_STAT_CONFIG
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/global/login_sender_match.h
      type_or_value: (DICT_ERR_CONFIG)
    structs: []
    typedefs: []
    union: []
- function_names:
  - resolve_clnt_query_from
  - resolve_clnt_verify_from
  - RESOLVE_CLNT_ASSIGN
  source_file: /src/postfix/postfix/src/global/resolve_clnt.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RESOLVE_REGULAR
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/global/resolve_clnt.h
      type_or_value: '"resolve"'
    - item_type: preproc_def
      name: RESOLVE_VERIFY
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/global/resolve_clnt.h
      type_or_value: '"verify"'
    - item_type: preproc_def
      name: RESOLVE_FLAG_FINAL
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/postfix/postfix/src/global/resolve_clnt.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: RESOLVE_FLAG_ROUTED
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postfix/postfix/src/global/resolve_clnt.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: RESOLVE_FLAG_ERROR
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/global/resolve_clnt.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: RESOLVE_FLAG_FAIL
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/global/resolve_clnt.h
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: RESOLVE_CLASS_LOCAL
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postfix/postfix/src/global/resolve_clnt.h
      type_or_value: "(1<<8)\t"
    - item_type: preproc_def
      name: RESOLVE_CLASS_ALIAS
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/global/resolve_clnt.h
      type_or_value: "(1<<9)\t"
    - item_type: preproc_def
      name: RESOLVE_CLASS_VIRTUAL
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postfix/postfix/src/global/resolve_clnt.h
      type_or_value: "(1<<10)\t"
    - item_type: preproc_def
      name: RESOLVE_CLASS_RELAY
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postfix/postfix/src/global/resolve_clnt.h
      type_or_value: "(1<<11)\t"
    - item_type: preproc_def
      name: RESOLVE_CLASS_DEFAULT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/global/resolve_clnt.h
      type_or_value: "(1<<12)\t"
    - item_type: preproc_def
      name: RESOLVE_CLASS_FINAL
      pos:
        line_end: 37
        line_start: 35
        source_file: /src/postfix/postfix/src/global/resolve_clnt.h
      type_or_value: (RESOLVE_CLASS_LOCAL | RESOLVE_CLASS_ALIAS | RESOLVE_CLASS_VIRTUAL)
    - item_type: preproc_def
      name: RESOLVE_CLASS_MASK
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/postfix/postfix/src/global/resolve_clnt.h
      type_or_value: "(RESOLVE_CLASS_LOCAL | RESOLVE_CLASS_ALIAS | RESOLVE_CLASS_VIRTUAL
        \\\n\t| RESOLVE_CLASS_RELAY | RESOLVE_CLASS_DEFAULT)"
    - item_type: preproc_def
      name: RESOLVE_NULL_FROM
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/postfix/postfix/src/global/resolve_clnt.h
      type_or_value: '""'
    structs:
    - fields:
      - name: '*transport'
        type: VSTRING
      - name: '*nexthop'
        type: VSTRING
      - name: '*recipient'
        type: VSTRING
      - name: flags
        type: int
      item_type: struct
      name: RESOLVE_REPLY
      pos:
        line_end: 47
        line_start: 42
        source_file: /src/postfix/postfix/src/global/resolve_clnt.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/safe_ultostr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - convert_mail_conf_nbool
  - get_mail_conf_nbool
  - get_mail_conf_nbool_fn
  - set_mail_conf_nbool
  - get_mail_conf_nbool_table
  - get_mail_conf_nbool_fn_table
  source_file: /src/postfix/postfix/src/global/mail_conf_nbool.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*(*stupid_indent_int) (void)'
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/postfix/postfix/src/global/mail_conf_nbool.c
      type: char
    union: []
- function_names:
  - resolve_local_init
  - resolve_local
  - RETURN
  - main
  source_file: /src/postfix/postfix/src/global/resolve_local.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mbox_lock_mask
  - mbox_lock_names
  source_file: /src/postfix/postfix/src/global/mbox_conf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/int_filt.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INT_FILT_MASK_NONE
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/postfix/postfix/src/global/int_filt.h
      type_or_value: (0)
    - item_type: preproc_def
      name: INT_FILT_MASK_NOTIFY
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/postfix/postfix/src/global/int_filt.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: INT_FILT_MASK_BOUNCE
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/postfix/postfix/src/global/int_filt.h
      type_or_value: (1<<2)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/map_search.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAP_SEARCH_ATTR_NAME_SEARCH
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postfix/postfix/src/global/map_search.h
      type_or_value: '"search_order"'
    - item_type: preproc_def
      name: MAP_SEARCH_CODE_UNKNOWN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/postfix/postfix/src/global/map_search.h
      type_or_value: '127'
    structs:
    - fields:
      - name: '*map_type_name'
        type: char
      - name: '*search_order'
        type: char
      item_type: struct
      name: MAP_SEARCH
      pos:
        line_end: 51
        line_start: 48
        source_file: /src/postfix/postfix/src/global/map_search.h
    typedefs: []
    union: []
- function_names:
  - mail_connect
  - mail_connect_wait
  source_file: /src/postfix/postfix/src/global/mail_connect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - QMGR_READ_FLAG_FROM_DSN
  source_file: /src/postfix/postfix/src/global/qmgr_user.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QMGR_READ_FLAG_NONE
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postfix/postfix/src/global/qmgr_user.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: QMGR_READ_FLAG_MIXED_RCPT_OTHER
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/postfix/postfix/src/global/qmgr_user.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: QMGR_READ_FLAG_NOTIFY_NEVER
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/global/qmgr_user.h
      type_or_value: (DSN_NOTIFY_NEVER << 1)
    - item_type: preproc_def
      name: QMGR_READ_FLAG_NOTIFY_SUCCESS
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/global/qmgr_user.h
      type_or_value: (DSN_NOTIFY_SUCCESS << 1)
    - item_type: preproc_def
      name: QMGR_READ_FLAG_NOTIFY_DELAY
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postfix/postfix/src/global/qmgr_user.h
      type_or_value: (DSN_NOTIFY_DELAY << 1)
    - item_type: preproc_def
      name: QMGR_READ_FLAG_NOTIFY_FAILURE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/global/qmgr_user.h
      type_or_value: (DSN_NOTIFY_FAILURE << 1)
    - item_type: preproc_def
      name: QMGR_READ_FLAG_USER
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/postfix/postfix/src/global/qmgr_user.h
      type_or_value: "(QMGR_READ_FLAG_NOTIFY_NEVER | QMGR_READ_FLAG_NOTIFY_SUCCESS
        \\\n    | QMGR_READ_FLAG_NOTIFY_DELAY | QMGR_READ_FLAG_NOTIFY_FAILURE \\\n
        \   | QMGR_READ_FLAG_MIXED_RCPT_OTHER)"
    - item_type: preproc_def
      name: QMGR_READ_FLAG_DEFAULT
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postfix/postfix/src/global/qmgr_user.h
      type_or_value: (QMGR_READ_FLAG_MIXED_RCPT_OTHER)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/off_cvt.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cfg_get_owner
  source_file: /src/postfix/postfix/src/global/cfg_parser.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: "*(*get_str) (const struct CFG_PARSER *, const char *, const char *,\n\t\t\t
          \       int, int)"
        type: char
      - name: (*get_int) (const struct CFG_PARSER *, const char *, int, int, int)
        type: int
      - name: (*get_bool) (const struct CFG_PARSER *, const char *, int)
        type: int
      - name: owner
        type: DICT_OWNER
      item_type: struct
      name: CFG_PARSER
      pos:
        line_end: 28
        line_start: 21
        source_file: /src/postfix/postfix/src/global/cfg_parser.h
    typedefs: []
    union: []
- function_names:
  - recipient_list_init
  - recipient_list_add
  - recipient_list_swap
  - SWAP
  - recipient_list_free
  source_file: /src/postfix/postfix/src/global/recipient_list.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - scache_clnt_handshake
  - scache_clnt_save_endp
  - scache_clnt_find_endp
  - scache_clnt_save_dest
  - scache_clnt_find_dest
  - scache_clnt_size
  - scache_clnt_free
  - scache_clnt_create
  source_file: /src/postfix/postfix/src/global/scache_clnt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SCACHE_MAX_TRIES
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/postfix/postfix/src/global/scache_clnt.c
      type_or_value: '2'
    structs:
    - fields:
      - name: scache[1]
        type: SCACHE
      - name: '*auto_clnt'
        type: AUTO_CLNT
      item_type: struct
      name: SCACHE_CLNT
      pos:
        line_end: 81
        line_start: 75
        source_file: /src/postfix/postfix/src/global/scache_clnt.c
    typedefs: []
    union: []
- function_names:
  - dict_mysql_quote
  - dict_mysql_lookup
  - INIT_VSTR
  - dict_mysql_check_stat
  - dict_mysql_find_host
  - dict_mysql_get_active
  - dict_mysql_event
  - plmysql_query
  - SET_ERROR_AND_WARN_ONCE
  - plmysql_connect_single
  - plmysql_close_host
  - plmysql_down_host
  - mysql_parse_config
  - dict_mysql_open
  - plmysql_init
  - host_init
  - dict_mysql_close
  - plmysql_dealloc
  source_file: /src/postfix/postfix/src/global/dict_mysql.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_MYSQL_SSL_VERIFY_SERVER_CERT
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/postfix/postfix/src/global/dict_mysql.c
      type_or_value: MYSQL_OPT_SSL_VERIFY_SERVER_CERT
    - item_type: preproc_def
      name: DICT_MYSQL_SSL_VERIFY_SERVER_CERT
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/postfix/postfix/src/global/dict_mysql.c
      type_or_value: MYSQL_OPT_SSL_MODE
    - item_type: preproc_def
      name: mysql_options
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/postfix/postfix/src/global/dict_mysql.c
      type_or_value: mysql_optionsv
    - item_type: preproc_def
      name: STATACTIVE
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/postfix/postfix/src/global/dict_mysql.c
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: STATFAIL
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/postfix/postfix/src/global/dict_mysql.c
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: STATUNTRIED
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/postfix/postfix/src/global/dict_mysql.c
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: TYPEUNIX
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/postfix/postfix/src/global/dict_mysql.c
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: TYPEINET
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/postfix/postfix/src/global/dict_mysql.c
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: RETRY_CONN_MAX
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/postfix/postfix/src/global/dict_mysql.c
      type_or_value: '100'
    - item_type: preproc_def
      name: DEF_RETRY_INTV
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/postfix/postfix/src/global/dict_mysql.c
      type_or_value: "60\t"
    - item_type: preproc_def
      name: DEF_IDLE_INTV
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/postfix/postfix/src/global/dict_mysql.c
      type_or_value: "60\t"
    structs:
    - fields:
      - name: '*db'
        type: MYSQL
      - name: '*hostname'
        type: char
      - name: '*name'
        type: char
      - name: port
        type: unsigned
      - name: type
        type: unsigned
      - name: stat
        type: unsigned
      - name: ts
        type: time_t
      item_type: struct
      name: HOST
      pos:
        line_end: 142
        line_start: 133
        source_file: /src/postfix/postfix/src/global/dict_mysql.c
    - fields:
      - name: len_hosts
        type: int
      - name: '**db_hosts'
        type: HOST
      item_type: struct
      name: PLMYSQL
      pos:
        line_end: 148
        line_start: 144
        source_file: /src/postfix/postfix/src/global/dict_mysql.c
    - fields:
      - name: dict
        type: DICT
      - name: '*parser'
        type: CFG_PARSER
      - name: '*query'
        type: char
      - name: '*result_format'
        type: char
      - name: '*option_file'
        type: char
      - name: '*option_group'
        type: char
      - name: '*ctx'
        type: void
      - name: expansion_limit
        type: int
      - name: '*username'
        type: char
      - name: '*password'
        type: char
      - name: '*dbname'
        type: char
      - name: '*charset'
        type: char
      - name: retry_interval
        type: int
      - name: idle_interval
        type: int
      - name: '*hosts'
        type: ARGV
      - name: '*pldb'
        type: PLMYSQL
      - name: '*active_host'
        type: HOST
      - name: '*tls_cert_file'
        type: char
      - name: '*tls_key_file'
        type: char
      - name: '*tls_CAfile'
        type: char
      - name: '*tls_CApath'
        type: char
      - name: '*tls_ciphers'
        type: char
      - name: require_result_set
        type: int
      item_type: struct
      name: DICT_MYSQL
      pos:
        line_end: 177
        line_start: 150
        source_file: /src/postfix/postfix/src/global/dict_mysql.c
    typedefs: []
    union: []
- function_names:
  - test_main
  source_file: /src/postfix/postfix/src/global/test_main.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DSN_UPDATE
  - DSN_STATUS
  - DSN_CLASS
  source_file: /src/postfix/postfix/src/global/dsn_util.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DSN_DIGS1
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/global/dsn_util.h
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: DSN_DIGS2
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/global/dsn_util.h
      type_or_value: "3\t\t"
    - item_type: preproc_def
      name: DSN_DIGS3
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postfix/postfix/src/global/dsn_util.h
      type_or_value: "3\t\t"
    - item_type: preproc_def
      name: DSN_LEN
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/postfix/postfix/src/global/dsn_util.h
      type_or_value: (DSN_DIGS1 + 1 + DSN_DIGS2 + 1 + DSN_DIGS3)
    - item_type: preproc_def
      name: DSN_SIZE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postfix/postfix/src/global/dsn_util.h
      type_or_value: (DSN_LEN + 1)
    structs:
    - fields:
      - name: data[DSN_SIZE]
        type: char
      item_type: struct
      name: DSN_STAT
      pos:
        line_end: 35
        line_start: 33
        source_file: /src/postfix/postfix/src/global/dsn_util.h
    - fields:
      - name: dsn
        type: DSN_STAT
      - name: '*text'
        type: char
      item_type: struct
      name: DSN_SPLIT
      pos:
        line_end: 55
        line_start: 52
        source_file: /src/postfix/postfix/src/global/dsn_util.h
    typedefs: []
    union: []
- function_names:
  - STR_OR_NULL
  - STR
  - LEN
  - evaluate_sockaddr
  - evaluate_test_case
  - convert_v1_proxy_req_to_v2
  - main
  source_file: /src/postfix/postfix/src/global/haproxy_srvr_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DO_SOCKADDR_OUTPUT
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/postfix/postfix/src/global/haproxy_srvr_test.c
      type_or_value: '1'
    - item_type: preproc_def
      name: NO_SOCKADDR_OUTPUT
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/postfix/postfix/src/global/haproxy_srvr_test.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*haproxy_request'
        type: char
      - name: haproxy_req_len
        type: ssize_t
      - name: exp_req_len
        type: ssize_t
      - name: exp_non_proxy
        type: int
      - name: '*exp_return'
        type: char
      - name: '*exp_client_addr'
        type: char
      - name: '*exp_server_addr'
        type: char
      - name: '*exp_client_port'
        type: char
      - name: '*exp_server_port'
        type: char
      item_type: struct
      name: TEST_CASE
      pos:
        line_end: 43
        line_start: 33
        source_file: /src/postfix/postfix/src/global/haproxy_srvr_test.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/postfix/postfix/src/global/sendopts_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: mask
        type: int
      - name: '*want'
        type: char
      item_type: struct
      name: TEST_CASE
      pos:
        line_end: 28
        line_start: 24
        source_file: /src/postfix/postfix/src/global/sendopts_test.c
    typedefs: []
    union: []
- function_names:
  - verp_sender
  - verp_delims_verify
  source_file: /src/postfix/postfix/src/global/verp_sender.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/dict_mysql.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_MYSQL
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/global/dict_mysql.h
      type_or_value: '"mysql"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - STREQ
  - dymap_dict_lookup
  - dymap_list
  - dymap_entry_alloc
  - dymap_entry_free
  - dymap_read_conf
  - dymap_init
  source_file: /src/postfix/postfix/src/global/dynamicmaps.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*soname'
        type: char
      - name: '*dict_name'
        type: char
      - name: '*mkmap_name'
        type: char
      item_type: struct
      name: DYMAP_INFO
      pos:
        line_end: 113
        line_start: 109
        source_file: /src/postfix/postfix/src/global/dynamicmaps.c
    typedefs: []
    union: []
- function_names:
  - dot_lockfile_as
  - dot_unlockfile_as
  source_file: /src/postfix/postfix/src/global/dot_lockfile_as.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - match_parent_style
  source_file: /src/postfix/postfix/src/global/match_parent_style.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DSN_RET_OK
  - DSN_NOTIFY_OK
  source_file: /src/postfix/postfix/src/global/dsn_mask.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DSN_RET_FULL
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/postfix/postfix/src/global/dsn_mask.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: DSN_RET_HDRS
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/postfix/postfix/src/global/dsn_mask.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: DSN_RET_BITS
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/postfix/postfix/src/global/dsn_mask.h
      type_or_value: (2)
    - item_type: preproc_def
      name: DSN_NOTIFY_NEVER
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postfix/postfix/src/global/dsn_mask.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: DSN_NOTIFY_SUCCESS
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/global/dsn_mask.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: DSN_NOTIFY_FAILURE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/global/dsn_mask.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: DSN_NOTIFY_DELAY
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/global/dsn_mask.h
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: DSN_NOTIFY_BITS
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/global/dsn_mask.h
      type_or_value: (4)
    - item_type: preproc_def
      name: DSN_NOTIFY_ANY
      pos:
        line_end: 53
        line_start: 51
        source_file: /src/postfix/postfix/src/global/dsn_mask.h
      type_or_value: (DSN_NOTIFY_SUCCESS | DSN_NOTIFY_FAILURE | DSN_NOTIFY_DELAY)
    - item_type: preproc_def
      name: DSN_NOTIFY_OVERRIDE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postfix/postfix/src/global/dsn_mask.h
      type_or_value: (DSN_NOTIFY_ANY | DSN_NOTIFY_NEVER)
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_user_acl_byuid
  source_file: /src/postfix/postfix/src/global/user_acl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_mail_conf_nbool_int
  source_file: /src/postfix/postfix/src/global/mail_conf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CONFIG_DICT
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/postfix/postfix/src/global/mail_conf.h
      type_or_value: "\"mail_dict\"\t"
    - item_type: preproc_def
      name: CONF_ENV_PATH
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/global/mail_conf.h
      type_or_value: "\"MAIL_CONFIG\"\t"
    - item_type: preproc_def
      name: CONF_ENV_VERB
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/global/mail_conf.h
      type_or_value: "\"MAIL_VERBOSE\"\t"
    - item_type: preproc_def
      name: CONF_ENV_DEBUG
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postfix/postfix/src/global/mail_conf.h
      type_or_value: "\"MAIL_DEBUG\"\t"
    - item_type: preproc_def
      name: CONF_ENV_LOGTAG
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/postfix/postfix/src/global/mail_conf.h
      type_or_value: "\"MAIL_LOGTAG\"\t"
    - item_type: preproc_def
      name: CONFIG_BOOL_YES
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postfix/postfix/src/global/mail_conf.h
      type_or_value: '"yes"'
    - item_type: preproc_def
      name: CONFIG_BOOL_NO
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/global/mail_conf.h
      type_or_value: '"no"'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*defval'
        type: char
      - name: '**target'
        type: char
      - name: min
        type: int
      - name: max
        type: int
      item_type: struct
      name: CONFIG_STR_TABLE
      pos:
        line_end: 105
        line_start: 99
        source_file: /src/postfix/postfix/src/global/mail_conf.h
    - fields:
      - name: '*name'
        type: char
      - name: '*defval'
        type: char
      - name: '**target'
        type: char
      - name: min
        type: int
      - name: max
        type: int
      item_type: struct
      name: CONFIG_RAW_TABLE
      pos:
        line_end: 113
        line_start: 107
        source_file: /src/postfix/postfix/src/global/mail_conf.h
    - fields:
      - name: '*name'
        type: char
      - name: defval
        type: int
      - name: '*target'
        type: int
      - name: min
        type: int
      - name: max
        type: int
      item_type: struct
      name: CONFIG_INT_TABLE
      pos:
        line_end: 121
        line_start: 115
        source_file: /src/postfix/postfix/src/global/mail_conf.h
    - fields:
      - name: '*name'
        type: char
      - name: defval
        type: long
      - name: '*target'
        type: long
      - name: min
        type: long
      - name: max
        type: long
      item_type: struct
      name: CONFIG_LONG_TABLE
      pos:
        line_end: 129
        line_start: 123
        source_file: /src/postfix/postfix/src/global/mail_conf.h
    - fields:
      - name: '*name'
        type: char
      - name: defval
        type: int
      - name: '*target'
        type: int
      item_type: struct
      name: CONFIG_BOOL_TABLE
      pos:
        line_end: 135
        line_start: 131
        source_file: /src/postfix/postfix/src/global/mail_conf.h
    - fields:
      - name: '*name'
        type: char
      - name: '*defval'
        type: char
      - name: '*target'
        type: int
      - name: min
        type: int
      - name: max
        type: int
      item_type: struct
      name: CONFIG_TIME_TABLE
      pos:
        line_end: 143
        line_start: 137
        source_file: /src/postfix/postfix/src/global/mail_conf.h
    - fields:
      - name: '*name'
        type: char
      - name: '*defval'
        type: char
      - name: '*target'
        type: int
      - name: min
        type: int
      - name: max
        type: int
      item_type: struct
      name: CONFIG_NINT_TABLE
      pos:
        line_end: 151
        line_start: 145
        source_file: /src/postfix/postfix/src/global/mail_conf.h
    - fields:
      - name: '*name'
        type: char
      - name: '*defval'
        type: char
      - name: '*target'
        type: int
      item_type: struct
      name: CONFIG_NBOOL_TABLE
      pos:
        line_end: 157
        line_start: 153
        source_file: /src/postfix/postfix/src/global/mail_conf.h
    - fields:
      - name: '*name'
        type: char
      - name: '*(*defval) (void)'
        type: char
      - name: '**target'
        type: char
      - name: min
        type: int
      - name: max
        type: int
      item_type: struct
      name: CONFIG_STR_FN_TABLE
      pos:
        line_end: 178
        line_start: 172
        source_file: /src/postfix/postfix/src/global/mail_conf.h
    - fields:
      - name: '*name'
        type: char
      - name: '*(*defval) (void)'
        type: char
      - name: '**target'
        type: char
      - name: min
        type: int
      - name: max
        type: int
      item_type: struct
      name: CONFIG_RAW_FN_TABLE
      pos:
        line_end: 186
        line_start: 180
        source_file: /src/postfix/postfix/src/global/mail_conf.h
    - fields:
      - name: '*name'
        type: char
      - name: (*defval) (void)
        type: int
      - name: '*target'
        type: int
      - name: min
        type: int
      - name: max
        type: int
      item_type: struct
      name: CONFIG_INT_FN_TABLE
      pos:
        line_end: 194
        line_start: 188
        source_file: /src/postfix/postfix/src/global/mail_conf.h
    - fields:
      - name: '*name'
        type: char
      - name: (*defval) (void)
        type: long
      - name: '*target'
        type: long
      - name: min
        type: long
      - name: max
        type: long
      item_type: struct
      name: CONFIG_LONG_FN_TABLE
      pos:
        line_end: 202
        line_start: 196
        source_file: /src/postfix/postfix/src/global/mail_conf.h
    - fields:
      - name: '*name'
        type: char
      - name: (*defval) (void)
        type: int
      - name: '*target'
        type: int
      item_type: struct
      name: CONFIG_BOOL_FN_TABLE
      pos:
        line_end: 208
        line_start: 204
        source_file: /src/postfix/postfix/src/global/mail_conf.h
    - fields:
      - name: '*name'
        type: char
      - name: '*(*defval) (void)'
        type: char
      - name: '*target'
        type: int
      - name: min
        type: int
      - name: max
        type: int
      item_type: struct
      name: CONFIG_NINT_FN_TABLE
      pos:
        line_end: 216
        line_start: 210
        source_file: /src/postfix/postfix/src/global/mail_conf.h
    - fields:
      - name: '*name'
        type: char
      - name: '*(*defval) (void)'
        type: char
      - name: '*target'
        type: int
      item_type: struct
      name: CONFIG_NBOOL_FN_TABLE
      pos:
        line_end: 222
        line_start: 218
        source_file: /src/postfix/postfix/src/global/mail_conf.h
    typedefs: []
    union: []
- function_names:
  - deliver_completed
  source_file: /src/postfix/postfix/src/global/deliver_completed.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_header_buf
  - CU_CHAR_PTR
  source_file: /src/postfix/postfix/src/global/is_header.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INIT
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/postfix/postfix/src/global/is_header.c
      type_or_value: '0'
    - item_type: preproc_def
      name: IN_CHAR
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/postfix/postfix/src/global/is_header.c
      type_or_value: '1'
    - item_type: preproc_def
      name: IN_CHAR_SPACE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/postfix/postfix/src/global/is_header.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - DEL_REQ_ATTR_AVAIL
  - DEL_REQ_TRACE_FLAGS
  - DEL_REQ_TRACE_ONLY
  source_file: /src/postfix/postfix/src/global/deliver_request.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEL_REQ_FLAG_DEFLT
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/postfix/postfix/src/global/deliver_request.h
      type_or_value: (DEL_REQ_FLAG_SUCCESS | DEL_REQ_FLAG_BOUNCE)
    - item_type: preproc_def
      name: DEL_REQ_FLAG_SUCCESS
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/postfix/postfix/src/global/deliver_request.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: DEL_REQ_FLAG_BOUNCE
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/postfix/postfix/src/global/deliver_request.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: DEL_REQ_FLAG_MTA_VRFY
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/postfix/postfix/src/global/deliver_request.h
      type_or_value: "(1<<8)\t"
    - item_type: preproc_def
      name: DEL_REQ_FLAG_USR_VRFY
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/postfix/postfix/src/global/deliver_request.h
      type_or_value: "(1<<9)\t"
    - item_type: preproc_def
      name: DEL_REQ_FLAG_RECORD
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/postfix/postfix/src/global/deliver_request.h
      type_or_value: "(1<<10)\t"
    - item_type: preproc_def
      name: DEL_REQ_FLAG_CONN_LOAD
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/postfix/postfix/src/global/deliver_request.h
      type_or_value: "(1<<11)\t"
    - item_type: preproc_def
      name: DEL_REQ_FLAG_CONN_STORE
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/postfix/postfix/src/global/deliver_request.h
      type_or_value: "(1<<12)\t"
    - item_type: preproc_def
      name: DEL_REQ_FLAG_REC_DLY_SENT
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/postfix/postfix/src/global/deliver_request.h
      type_or_value: "(1<<13)\t"
    - item_type: preproc_def
      name: DEL_REQ_FLAG_CONN_MASK
      pos:
        line_end: 89
        line_start: 87
        source_file: /src/postfix/postfix/src/global/deliver_request.h
      type_or_value: (DEL_REQ_FLAG_CONN_LOAD | DEL_REQ_FLAG_CONN_STORE)
    - item_type: preproc_def
      name: DEL_REQ_FLAG_VERIFY
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/postfix/postfix/src/global/deliver_request.h
      type_or_value: DEL_REQ_FLAG_MTA_VRFY
    - item_type: preproc_def
      name: DEL_REQ_FLAG_EXPAND
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/postfix/postfix/src/global/deliver_request.h
      type_or_value: DEL_REQ_FLAG_USR_VRFY
    - item_type: preproc_def
      name: DEL_REQ_TRACE_FLAGS_MASK
      pos:
        line_end: 102
        line_start: 99
        source_file: /src/postfix/postfix/src/global/deliver_request.h
      type_or_value: "(DEL_REQ_FLAG_MTA_VRFY | DEL_REQ_FLAG_USR_VRFY | DEL_REQ_FLAG_RECORD
        \\\n\t| DEL_REQ_FLAG_REC_DLY_SENT)"
    - item_type: preproc_def
      name: DEL_REQ_TRACE_ONLY_MASK
      pos:
        line_end: 109
        line_start: 107
        source_file: /src/postfix/postfix/src/global/deliver_request.h
      type_or_value: (DEL_REQ_FLAG_MTA_VRFY | DEL_REQ_FLAG_USR_VRFY)
    - item_type: preproc_def
      name: DEL_RCPT_STAT_OK
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/postfix/postfix/src/global/deliver_request.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DEL_RCPT_STAT_DEFER
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/postfix/postfix/src/global/deliver_request.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DEL_RCPT_STAT_BOUNCE
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/postfix/postfix/src/global/deliver_request.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DEL_RCPT_STAT_TODO
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/postfix/postfix/src/global/deliver_request.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DEL_STAT_FINAL
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/postfix/postfix/src/global/deliver_request.h
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: DEL_STAT_DEFER
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/postfix/postfix/src/global/deliver_request.h
      type_or_value: "(-1)\t\t"
    structs:
    - fields:
      - name: '*fp'
        type: VSTREAM
      - name: flags
        type: int
      - name: '*queue_name'
        type: char
      - name: '*queue_id'
        type: char
      - name: data_offset
        type: long
      - name: data_size
        type: long
      - name: '*nexthop'
        type: char
      - name: '*encoding'
        type: char
      - name: sendopts
        type: int
      - name: '*sender'
        type: char
      - name: msg_stats
        type: MSG_STATS
      - name: rcpt_list
        type: RECIPIENT_LIST
      - name: '*hop_status'
        type: DSN
      - name: '*client_name'
        type: char
      - name: '*client_addr'
        type: char
      - name: '*client_port'
        type: char
      - name: '*client_proto'
        type: char
      - name: '*client_helo'
        type: char
      - name: '*sasl_method'
        type: char
      - name: '*sasl_username'
        type: char
      - name: '*sasl_sender'
        type: char
      - name: '*log_ident'
        type: char
      - name: '*rewrite_context'
        type: char
      - name: '*dsn_envid'
        type: char
      - name: dsn_ret
        type: int
      item_type: struct
      name: DELIVER_REQUEST
      pos:
        line_end: 61
        line_start: 35
        source_file: /src/postfix/postfix/src/global/deliver_request.h
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/postfix/postfix/src/global/rec2stream.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/verify_sender_addr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - conv_time
  source_file: /src/postfix/postfix/src/global/conv_time.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MINUTE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/postfix/postfix/src/global/conv_time.c
      type_or_value: (60)
    - item_type: preproc_def
      name: HOUR
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/postfix/postfix/src/global/conv_time.c
      type_or_value: (60 * MINUTE)
    - item_type: preproc_def
      name: DAY
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/postfix/postfix/src/global/conv_time.c
      type_or_value: (24 * HOUR)
    - item_type: preproc_def
      name: WEEK
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/postfix/postfix/src/global/conv_time.c
      type_or_value: (7 * DAY)
    structs: []
    typedefs: []
    union: []
- function_names:
  - tok822_alloc
  - CONTAINER_TOKEN
  - tok822_free
  source_file: /src/postfix/postfix/src/global/tok822_node.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ehlo_mask
  - str_ehlo_mask
  - main
  source_file: /src/postfix/postfix/src/global/ehlo_mask.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/match_parent_style.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/rfc2047_code.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RFC2047_HEADER_CONTEXT_COMMENT
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/global/rfc2047_code.h
      type_or_value: (1)
    - item_type: preproc_def
      name: RFC2047_HEADER_CONTEXT_PHRASE
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/global/rfc2047_code.h
      type_or_value: (2)
    structs: []
    typedefs: []
    union: []
- function_names:
  - mail_dict_init
  - main
  source_file: /src/postfix/postfix/src/global/mail_dict.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - main
  source_file: /src/postfix/postfix/src/global/string_list.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/mypwd.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: refcount
        type: int
      - name: '*pw_name'
        type: char
      - name: '*pw_passwd'
        type: char
      - name: pw_uid
        type: uid_t
      - name: pw_gid
        type: gid_t
      - name: '*pw_gecos'
        type: char
      - name: '*pw_dir'
        type: char
      - name: '*pw_shell'
        type: char
      item_type: struct
      name: mypasswd
      pos:
        line_end: 25
        line_start: 16
        source_file: /src/postfix/postfix/src/global/mypwd.h
    typedefs: []
    union: []
- function_names:
  - rec_put_type
  - rec_put
  - rec_get_raw
  - rec_goto
  - rec_vfprintf
  - rec_fprintf
  - rec_fputs
  - rec_pad
  source_file: /src/postfix/postfix/src/global/record.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NBBY
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/postfix/postfix/src/global/record.c
      type_or_value: "8\t\t\t\t"
    - item_type: preproc_def
      name: REVERSE_JUMP_LIMIT
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/postfix/postfix/src/global/record.c
      type_or_value: '10000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mail_version_int
  - mail_version_worker
  - mail_version_parse
  - mail_version_free
  - get_mail_version
  - check_mail_version
  - STR
  - parse_sample
  - main
  source_file: /src/postfix/postfix/src/global/mail_version.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/verp_sender.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MSG_STATS_INIT
  - MSG_STATS_INIT1
  - MSG_STATS_INIT2
  source_file: /src/postfix/postfix/src/global/msg_stats.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: incoming_arrival
        type: struct timeval
      - name: active_arrival
        type: struct timeval
      - name: agent_handoff
        type: struct timeval
      - name: conn_setup_done
        type: struct timeval
      - name: deliver_done
        type: struct timeval
      - name: reuse_count
        type: int
      item_type: struct
      name: MSG_STATS
      pos:
        line_end: 61
        line_start: 54
        source_file: /src/postfix/postfix/src/global/msg_stats.h
    typedefs: []
    union: []
- function_names:
  - split_addr_internal
  source_file: /src/postfix/postfix/src/global/split_addr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - delivered_hdr_init
  - delivered_hdr_find
  - delivered_hdr_free
  - main
  - REC_PUT_LIT
  source_file: /src/postfix/postfix/src/global/delivered_hdr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DELIVERED_HDR_LIMIT
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/postfix/postfix/src/global/delivered_hdr.c
      type_or_value: '1000'
    structs:
    - fields:
      - name: flags
        type: int
      - name: '*buf'
        type: VSTRING
      - name: '*fold'
        type: VSTRING
      - name: '*table'
        type: HTABLE
      item_type: struct
      name: DELIVERED_HDR_INFO
      pos:
        line_end: 111
        line_start: 106
        source_file: /src/postfix/postfix/src/global/delivered_hdr.c
    - fields:
      - name: rec_type
        type: int
      - name: '*content'
        type: char
      - name: expect_find
        type: int
      item_type: struct
      name: test_case
      pos:
        line_end: 221
        line_start: 217
        source_file: /src/postfix/postfix/src/global/delivered_hdr.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/match_service.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SWAP
  - off_cvt_string
  - off_cvt_number
  - main
  source_file: /src/postfix/postfix/src/global/off_cvt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/postfix/postfix/src/global/off_cvt.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: END
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/postfix/postfix/src/global/off_cvt.c
      type_or_value: vstring_end
    structs: []
    typedefs: []
    union: []
- function_names:
  - SYS_EXITS_CODE
  source_file: /src/postfix/postfix/src/global/sys_exits.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EX__BASE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/global/sys_exits.h
      type_or_value: "64\t\t"
    - item_type: preproc_def
      name: EX_USAGE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/global/sys_exits.h
      type_or_value: "64\t\t"
    - item_type: preproc_def
      name: EX_DATAERR
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postfix/postfix/src/global/sys_exits.h
      type_or_value: "65\t\t"
    - item_type: preproc_def
      name: EX_NOINPUT
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postfix/postfix/src/global/sys_exits.h
      type_or_value: "66\t\t"
    - item_type: preproc_def
      name: EX_NOUSER
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/global/sys_exits.h
      type_or_value: "67\t\t"
    - item_type: preproc_def
      name: EX_NOHOST
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/src/global/sys_exits.h
      type_or_value: "68\t\t"
    - item_type: preproc_def
      name: EX_UNAVAILABLE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/global/sys_exits.h
      type_or_value: "69\t\t"
    - item_type: preproc_def
      name: EX_SOFTWARE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postfix/postfix/src/global/sys_exits.h
      type_or_value: "70\t\t"
    - item_type: preproc_def
      name: EX_OSERR
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/global/sys_exits.h
      type_or_value: "71\t\t"
    - item_type: preproc_def
      name: EX_OSFILE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postfix/postfix/src/global/sys_exits.h
      type_or_value: "72\t\t"
    - item_type: preproc_def
      name: EX_CANTCREAT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postfix/postfix/src/global/sys_exits.h
      type_or_value: "73\t\t"
    - item_type: preproc_def
      name: EX_IOERR
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postfix/postfix/src/global/sys_exits.h
      type_or_value: "74\t\t"
    - item_type: preproc_def
      name: EX_TEMPFAIL
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/global/sys_exits.h
      type_or_value: "75\t\t"
    - item_type: preproc_def
      name: EX_PROTOCOL
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postfix/postfix/src/global/sys_exits.h
      type_or_value: "76\t\t"
    - item_type: preproc_def
      name: EX_NOPERM
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/global/sys_exits.h
      type_or_value: "77\t\t"
    - item_type: preproc_def
      name: EX_CONFIG
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/global/sys_exits.h
      type_or_value: "78\t\t"
    - item_type: preproc_def
      name: EX__MAX
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/global/sys_exits.h
      type_or_value: "78\t\t\t"
    structs:
    - fields:
      - name: status
        type: int
      - name: '*dsn'
        type: char
      - name: '*text'
        type: char
      item_type: struct
      name: SYS_EXITS_DETAIL
      pos:
        line_end: 20
        line_start: 16
        source_file: /src/postfix/postfix/src/global/sys_exits.h
    typedefs: []
    union: []
- function_names:
  - mail_open_ok
  source_file: /src/postfix/postfix/src/global/mail_open_ok.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MINUTE_SECONDS
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/postfix/postfix/src/global/mail_open_ok.c
      type_or_value: "60\t\t\t"
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/mail_task.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tok822_find_type
  - tok822_rfind_type
  source_file: /src/postfix/postfix/src/global/tok822_find.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_header
  source_file: /src/postfix/postfix/src/global/is_header.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IS_HEADER_NULL_TERMINATED
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/postfix/postfix/src/global/is_header.h
      type_or_value: (-1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - dsn_ret_code
  - dsn_ret_str
  - dsn_notify_mask
  - dsn_notify_str
  source_file: /src/postfix/postfix/src/global/dsn_mask.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/rcpt_print.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CA_TEST_MAIN_INT_TABLE
  - CA_TEST_MAIN_STR_TABLE
  - CA_TEST_MAIN_BOOL_TABLE
  - CA_TEST_MAIN_TIME_TABLE
  - CA_TEST_MAIN_RAW_TABLE
  - CA_TEST_MAIN_NINT_TABLE
  - CA_TEST_MAIN_NBOOL_TABLE
  - CA_TEST_MAIN_LONG_TABLE
  source_file: /src/postfix/postfix/src/global/test_main.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_MAIN_INT_TABLE
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/postfix/postfix/src/global/test_main.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TEST_MAIN_STR_TABLE
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/postfix/postfix/src/global/test_main.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TEST_MAIN_BOOL_TABLE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/global/test_main.h
      type_or_value: '3'
    - item_type: preproc_def
      name: TEST_MAIN_TIME_TABLE
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/global/test_main.h
      type_or_value: '4'
    - item_type: preproc_def
      name: TEST_MAIN_RAW_TABLE
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postfix/postfix/src/global/test_main.h
      type_or_value: '5'
    - item_type: preproc_def
      name: TEST_MAIN_NINT_TABLE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/postfix/postfix/src/global/test_main.h
      type_or_value: '6'
    - item_type: preproc_def
      name: TEST_MAIN_NBOOL_TABLE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postfix/postfix/src/global/test_main.h
      type_or_value: '7'
    - item_type: preproc_def
      name: TEST_MAIN_LONG_TABLE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/global/test_main.h
      type_or_value: '8'
    structs: []
    typedefs:
    - item_type: typedef
      name: (*TEST_DRIVER_FN) (int, char **)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/postfix/postfix/src/global/test_main.h
      type: void
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/rewrite_clnt.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: REWRITE_ADDR
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/global/rewrite_clnt.h
      type_or_value: '"rewrite"'
    - item_type: preproc_def
      name: REWRITE_CANON
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/global/rewrite_clnt.h
      type_or_value: "MAIL_ATTR_RWR_LOCAL\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - mail_trigger
  source_file: /src/postfix/postfix/src/global/mail_trigger.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - verify_clnt_handshake
  - verify_clnt_init
  - verify_clnt_query
  - verify_clnt_update
  - STR
  - usage
  - query
  - update
  - main
  source_file: /src/postfix/postfix/src/global/verify_clnt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - convert_mail_conf_long
  - check_mail_conf_long
  - get_mail_conf_long
  - get_mail_conf_long2
  - get_mail_conf_long_fn
  - set_mail_conf_long
  - get_mail_conf_long_table
  - get_mail_conf_long_fn_table
  source_file: /src/postfix/postfix/src/global/mail_conf_long.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*stupid_indent_long) (void)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/postfix/postfix/src/global/mail_conf_long.c
      type: long
    union: []
- function_names:
  - rcpt_print
  source_file: /src/postfix/postfix/src/global/rcpt_print.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/mbox_open.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*path'
        type: char
      - name: '*fp'
        type: VSTREAM
      - name: locked
        type: int
      item_type: struct
      name: MBOX
      pos:
        line_end: 32
        line_start: 28
        source_file: /src/postfix/postfix/src/global/mbox_open.h
    typedefs: []
    union: []
- function_names:
  - cleanup_strflags
  source_file: /src/postfix/postfix/src/global/cleanup_strflags.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: flag
        type: unsigned
      - name: '*text'
        type: char
      item_type: struct
      name: cleanup_flag_map
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/postfix/postfix/src/global/cleanup_strflags.c
    typedefs: []
    union: []
- function_names:
  - SWAP
  - safe_ultostr
  - safe_strtoul
  - main
  source_file: /src/postfix/postfix/src/global/safe_ultostr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/postfix/postfix/src/global/safe_ultostr.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: END
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/postfix/postfix/src/global/safe_ultostr.c
      type_or_value: vstring_end
    - item_type: preproc_def
      name: SAFE_MAX_BASE
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/postfix/postfix/src/global/safe_ultostr.c
      type_or_value: (sizeof(safe_chars) - 1)
    - item_type: preproc_def
      name: SAFE_MIN_BASE
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/postfix/postfix/src/global/safe_ultostr.c
      type_or_value: (2)
    - item_type: preproc_def
      name: strtoul
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/postfix/postfix/src/global/safe_ultostr.c
      type_or_value: strtol
    structs: []
    typedefs: []
    union: []
- function_names:
  - ANVIL_IDENT
  - anvil_clnt_handshake
  - anvil_clnt_create
  - anvil_clnt_free
  - anvil_clnt_lookup
  - anvil_clnt_connect
  - anvil_clnt_mail
  - anvil_clnt_rcpt
  - anvil_clnt_newtls
  - anvil_clnt_newtls_stat
  - anvil_clnt_auth
  - anvil_clnt_disconnect
  - usage
  - main
  source_file: /src/postfix/postfix/src/global/anvil_clnt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mail_addr_form_from_string
  - mail_addr_form_to_string
  source_file: /src/postfix/postfix/src/global/mail_addr_form.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/ext_prop.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXT_PROP_CANONICAL
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/postfix/postfix/src/global/ext_prop.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: EXT_PROP_VIRTUAL
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/postfix/postfix/src/global/ext_prop.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: EXT_PROP_ALIAS
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/postfix/postfix/src/global/ext_prop.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: EXT_PROP_FORWARD
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/postfix/postfix/src/global/ext_prop.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: EXT_PROP_INCLUDE
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/postfix/postfix/src/global/ext_prop.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: EXT_PROP_GENERIC
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/global/ext_prop.h
      type_or_value: (1<<5)
    structs: []
    typedefs: []
    union: []
- function_names:
  - log_adhoc
  - DELTA
  - DELTA_ZERO
  - TIME_STAMPED
  - PRETTY_FORMAT
  source_file: /src/postfix/postfix/src/global/log_adhoc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIG_DIGS
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/postfix/postfix/src/global/log_adhoc.c
      type_or_value: '2'
    structs:
    - fields:
      - name: dt_sec
        type: long
      - name: dt_usec
        type: long
      item_type: struct
      name: DELTA_TIME
      pos:
        line_end: 82
        line_start: 79
        source_file: /src/postfix/postfix/src/global/log_adhoc.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/trace.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/resolve_local.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/been_here.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BH_BOUND_NONE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/global/been_here.h
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: BH_FLAG_NONE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/global/been_here.h
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: BH_FLAG_FOLD
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postfix/postfix/src/global/been_here.h
      type_or_value: "(1<<0)\t\t"
    structs:
    - fields:
      - name: limit
        type: int
      - name: flags
        type: int
      - name: '*table'
        type: struct HTABLE
      item_type: struct
      name: BH_TABLE
      pos:
        line_end: 25
        line_start: 21
        source_file: /src/postfix/postfix/src/global/been_here.h
    typedefs: []
    union: []
- function_names:
  - mypwenter
  - mypwuid
  - mypwuid_err
  - mypwnam
  - mypwnam_err
  - mypwfree
  - main
  source_file: /src/postfix/postfix/src/global/mypwd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GETPW_R_BUFSIZ
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/postfix/postfix/src/global/mypwd.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: MYPWD_ERROR_DELAY
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/postfix/postfix/src/global/mypwd.c
      type_or_value: (30)
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/postfix/postfix/src/global/recdump.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/opened.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - trace_append
  - trace_flush
  source_file: /src/postfix/postfix/src/global/trace.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/mail_addr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAIL_ADDR_POSTMASTER
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/postfix/postfix/src/global/mail_addr.h
      type_or_value: '"postmaster"'
    - item_type: preproc_def
      name: MAIL_ADDR_MAIL_DAEMON
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/postfix/postfix/src/global/mail_addr.h
      type_or_value: '"MAILER-DAEMON"'
    - item_type: preproc_def
      name: MAIL_ADDR_EMPTY
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/postfix/postfix/src/global/mail_addr.h
      type_or_value: '""'
    structs: []
    typedefs: []
    union: []
- function_names:
  - quote_flags_from_string
  - quote_flags_to_string
  source_file: /src/postfix/postfix/src/global/quote_flags.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - HAS_IPV6_COL
  - SKIP_IPV6_COL
  - valid_mailhost_addr
  - valid_mailhost_literal
  - main
  source_file: /src/postfix/postfix/src/global/valid_mailhost_addr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IPV6_COL_LEN
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/postfix/postfix/src/global/valid_mailhost_addr.c
      type_or_value: (sizeof(IPV6_COL) - 1)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/xtext.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RECIPIENT_FROM_RCPT_BUF
  source_file: /src/postfix/postfix/src/global/rcpt_buf.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: rcpt
        type: RECIPIENT
      - name: '*address'
        type: VSTRING
      - name: '*orig_addr'
        type: VSTRING
      - name: '*dsn_orcpt'
        type: VSTRING
      - name: dsn_notify
        type: int
      - name: offset
        type: long
      item_type: struct
      name: RCPT_BUF
      pos:
        line_end: 35
        line_start: 28
        source_file: /src/postfix/postfix/src/global/rcpt_buf.h
    typedefs: []
    union: []
- function_names:
  - smtp_timeout_reset
  - smtp_longjmp
  - smtp_stream_setup
  - smtp_flush
  - smtp_vprintf
  - smtp_printf
  - smtp_fgetc
  - smtp_get
  - smtp_get_noexcept
  - smtp_fputs
  - smtp_fwrite
  - smtp_fread_buf
  - smtp_fputc
  source_file: /src/postfix/postfix/src/global/smtp_stream.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_file_id
  - get_file_id_fd
  - get_file_id_st
  source_file: /src/postfix/postfix/src/global/file_id.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/smtputf8.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SMTPUTF8_FLAG_NONE
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/postfix/postfix/src/global/smtputf8.h
      type_or_value: (0)
    - item_type: preproc_def
      name: SMTPUTF8_FLAG_REQUESTED
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/postfix/postfix/src/global/smtputf8.h
      type_or_value: SOPT_SMTPUTF8_REQUESTED
    - item_type: preproc_def
      name: SMTPUTF8_FLAG_HEADER
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/postfix/postfix/src/global/smtputf8.h
      type_or_value: SOPT_SMTPUTF8_HEADER
    - item_type: preproc_def
      name: SMTPUTF8_FLAG_SENDER
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/postfix/postfix/src/global/smtputf8.h
      type_or_value: SOPT_SMTPUTF8_SENDER
    - item_type: preproc_def
      name: SMTPUTF8_FLAG_RECIPIENT
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/postfix/postfix/src/global/smtputf8.h
      type_or_value: SOPT_SMTPUTF8_RECIPIENT
    - item_type: preproc_def
      name: SMTPUTF8_FLAG_ALL
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/postfix/postfix/src/global/smtputf8.h
      type_or_value: SOPT_SMTPUTF8_ALL
    - item_type: preproc_def
      name: SMTPUTF8_FLAG_DERIVED
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/postfix/postfix/src/global/smtputf8.h
      type_or_value: SOPT_SMTPUTF8_DERIVED
    structs: []
    typedefs: []
    union: []
- function_names:
  - sqlite3_open_v2
  - dict_sqlite_quote
  - dict_sqlite_close
  - dict_sqlite_lookup
  - INIT_VSTR
  - flag_non_recommended_query
  - sqlite_parse_config
  - dict_sqlite_open
  source_file: /src/postfix/postfix/src/global/dict_sqlite.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: sqlite3_prepare_v2
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/postfix/postfix/src/global/dict_sqlite.c
      type_or_value: sqlite3_prepare
    structs:
    - fields:
      - name: dict
        type: DICT
      - name: '*parser'
        type: CFG_PARSER
      - name: '*db'
        type: sqlite3
      - name: '*query'
        type: char
      - name: '*result_format'
        type: char
      - name: '*ctx'
        type: void
      - name: '*dbpath'
        type: char
      - name: expansion_limit
        type: int
      item_type: struct
      name: DICT_SQLITE
      pos:
        line_end: 99
        line_start: 90
        source_file: /src/postfix/postfix/src/global/dict_sqlite.c
    typedefs: []
    union: []
- function_names:
  - maillog_client_logwriter_fallback
  - maillog_client_init
  - STRING_OR_NULL
  source_file: /src/postfix/postfix/src/global/maillog_client.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAILLOG_CLIENT_DEBUG
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/postfix/postfix/src/global/maillog_client.c
      type_or_value: '0'
    - item_type: preproc_def
      name: POSTLOG_SERVICE_ENV
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/postfix/postfix/src/global/maillog_client.c
      type_or_value: '"POSTLOG_SERVICE"'
    - item_type: preproc_def
      name: POSTLOG_HOSTNAME_ENV
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/postfix/postfix/src/global/maillog_client.c
      type_or_value: '"POSTLOG_HOSTNAME"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mail_addr_crunch_ext_to_int
  source_file: /src/postfix/postfix/src/global/mail_addr_crunch.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/mail_parm_split.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - convert_mail_conf_bool
  - get_mail_conf_bool
  - get_mail_conf_bool_fn
  - set_mail_conf_bool
  - get_mail_conf_bool_table
  - get_mail_conf_bool_fn_table
  source_file: /src/postfix/postfix/src/global/mail_conf_bool.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*stupid_indent_int) (void)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/postfix/postfix/src/global/mail_conf_bool.c
      type: int
    union: []
- function_names:
  - dsn_create
  - NULL_OR_EMPTY
  - dsn_free
  source_file: /src/postfix/postfix/src/global/dsn.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - quote_821_local
  source_file: /src/postfix/postfix/src/global/quote_821_local.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mail_date
  - main
  source_file: /src/postfix/postfix/src/global/mail_date.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DAY_MIN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postfix/postfix/src/global/mail_date.c
      type_or_value: "(24 * HOUR_MIN)\t"
    - item_type: preproc_def
      name: HOUR_MIN
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/postfix/postfix/src/global/mail_date.c
      type_or_value: "60\t\t"
    - item_type: preproc_def
      name: MIN_SEC
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/postfix/postfix/src/global/mail_date.c
      type_or_value: "60\t\t"
    - item_type: preproc_def
      name: STRFTIME_FMT
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/postfix/postfix/src/global/mail_date.c
      type_or_value: '"%a, %d %b %Y %H:%M:%S "'
    - item_type: preproc_def
      name: STRFTIME_FMT
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/postfix/postfix/src/global/mail_date.c
      type_or_value: '"%a, %e %b %Y %H:%M:%S "'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/debug_peer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/mail_params.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VAR_MAIL_NAME
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"mail_name"'
    - item_type: preproc_def
      name: DEF_MAIL_NAME
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"Postfix"'
    - item_type: preproc_def
      name: VAR_HELPFUL_WARNINGS
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"helpful_warnings"'
    - item_type: preproc_def
      name: DEF_HELPFUL_WARNINGS
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_SHOW_UNK_RCPT_TABLE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"show_user_unknown_table_name"'
    - item_type: preproc_def
      name: DEF_SHOW_UNK_RCPT_TABLE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: COMPAT_LEVEL_0
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"0"'
    - item_type: preproc_def
      name: COMPAT_LEVEL_1
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"1\"\t"
    - item_type: preproc_def
      name: COMPAT_LEVEL_2
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"2\"\t"
    - item_type: preproc_def
      name: COMPAT_LEVEL_3_6
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"3.6"'
    - item_type: preproc_def
      name: COMPAT_LEVEL_3_11
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"3.11"'
    - item_type: preproc_def
      name: LAST_COMPAT_LEVEL
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: COMPAT_LEVEL_3_11
    - item_type: preproc_def
      name: VAR_COMPAT_LEVEL
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"compatibility_level"'
    - item_type: preproc_def
      name: DEF_COMPAT_LEVEL
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: COMPAT_LEVEL_0
    - item_type: preproc_def
      name: VAR_NOTIFY_CLASSES
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"notify_classes"'
    - item_type: preproc_def
      name: DEF_NOTIFY_CLASSES
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"resource, software\"\t"
    - item_type: preproc_def
      name: VAR_EMPTY_ADDR
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"empty_address_recipient"'
    - item_type: preproc_def
      name: DEF_EMPTY_ADDR
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: MAIL_ADDR_MAIL_DAEMON
    - item_type: preproc_def
      name: VAR_MAIL_OWNER
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"mail_owner"'
    - item_type: preproc_def
      name: DEF_MAIL_OWNER
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postfix"'
    - item_type: preproc_def
      name: VAR_SGID_GROUP
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"setgid_group"'
    - item_type: preproc_def
      name: DEF_SGID_GROUP
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postdrop"'
    - item_type: preproc_def
      name: VAR_DEFAULT_PRIVS
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"default_privs"'
    - item_type: preproc_def
      name: DEF_DEFAULT_PRIVS
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"nobody"'
    - item_type: preproc_def
      name: STATIC_ANYONE_ACL
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"static:anyone"'
    - item_type: preproc_def
      name: VAR_FLUSH_ACL
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"authorized_flush_users"'
    - item_type: preproc_def
      name: DEF_FLUSH_ACL
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: STATIC_ANYONE_ACL
    - item_type: preproc_def
      name: VAR_SHOWQ_ACL
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"authorized_mailq_users"'
    - item_type: preproc_def
      name: DEF_SHOWQ_ACL
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: STATIC_ANYONE_ACL
    - item_type: preproc_def
      name: VAR_SUBMIT_ACL
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"authorized_submit_users"'
    - item_type: preproc_def
      name: DEF_SUBMIT_ACL
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: STATIC_ANYONE_ACL
    - item_type: preproc_def
      name: VAR_LOCAL_LOGIN_SND_MAPS
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"local_login_sender_maps"'
    - item_type: preproc_def
      name: DEF_LOCAL_LOGIN_SND_MAPS
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"static:*"'
    - item_type: preproc_def
      name: VAR_NULL_LOCAL_LOGIN_SND_MAPS_KEY
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"empty_address_local_login_sender_maps_lookup_key"'
    - item_type: preproc_def
      name: DEF_NULL_LOCAL_LOGIN_SND_MAPS_KEY
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"<>"'
    - item_type: preproc_def
      name: VAR_MYORIGIN
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"myorigin"'
    - item_type: preproc_def
      name: DEF_MYORIGIN
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$myhostname"'
    - item_type: preproc_def
      name: VAR_MYDEST
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"mydestination"'
    - item_type: preproc_def
      name: DEF_MYDEST
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$myhostname, localhost.$mydomain, localhost"'
    - item_type: preproc_def
      name: VAR_MYHOSTNAME
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"myhostname\"\t"
    - item_type: preproc_def
      name: VAR_MYDOMAIN
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"mydomain\"\t"
    - item_type: preproc_def
      name: DEF_MYDOMAIN
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"localdomain"'
    - item_type: preproc_def
      name: VAR_LOCAL_TRANSPORT
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"local_transport"'
    - item_type: preproc_def
      name: DEF_LOCAL_TRANSPORT
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: MAIL_SERVICE_LOCAL ":$myhostname"
    - item_type: preproc_def
      name: VAR_BOUNCE_RCPT
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"bounce_notice_recipient"'
    - item_type: preproc_def
      name: DEF_BOUNCE_RCPT
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postmaster"'
    - item_type: preproc_def
      name: VAR_2BOUNCE_RCPT
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"2bounce_notice_recipient"'
    - item_type: preproc_def
      name: DEF_2BOUNCE_RCPT
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postmaster"'
    - item_type: preproc_def
      name: VAR_DELAY_RCPT
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"delay_notice_recipient"'
    - item_type: preproc_def
      name: DEF_DELAY_RCPT
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postmaster"'
    - item_type: preproc_def
      name: VAR_ERROR_RCPT
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"error_notice_recipient"'
    - item_type: preproc_def
      name: DEF_ERROR_RCPT
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postmaster"'
    - item_type: preproc_def
      name: VAR_INET_INTERFACES
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"inet_interfaces\"\t"
    - item_type: preproc_def
      name: INET_INTERFACES_ALL
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"all"'
    - item_type: preproc_def
      name: INET_INTERFACES_LOCAL
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"loopback-only"'
    - item_type: preproc_def
      name: DEF_INET_INTERFACES
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: INET_INTERFACES_ALL
    - item_type: preproc_def
      name: VAR_PROXY_INTERFACES
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"proxy_interfaces\"\t"
    - item_type: preproc_def
      name: DEF_PROXY_INTERFACES
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_MASQ_DOMAINS
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"masquerade_domains"'
    - item_type: preproc_def
      name: DEF_MASQ_DOMAINS
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_MASQ_EXCEPTIONS
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"masquerade_exceptions"'
    - item_type: preproc_def
      name: DEF_MASQ_EXCEPTIONS
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: MASQ_CLASS_ENV_FROM
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"envelope_sender"'
    - item_type: preproc_def
      name: MASQ_CLASS_ENV_RCPT
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"envelope_recipient"'
    - item_type: preproc_def
      name: MASQ_CLASS_HDR_FROM
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"header_sender"'
    - item_type: preproc_def
      name: MASQ_CLASS_HDR_RCPT
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"header_recipient"'
    - item_type: preproc_def
      name: VAR_MASQ_CLASSES
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"masquerade_classes"'
    - item_type: preproc_def
      name: DEF_MASQ_CLASSES
      pos:
        line_end: 241
        line_start: 238
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "MASQ_CLASS_ENV_FROM \", \" \\\n\t\t\t\tMASQ_CLASS_HDR_FROM \",
        \" \\\n\t\t\t\tMASQ_CLASS_HDR_RCPT"
    - item_type: preproc_def
      name: VAR_RELAYHOST
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"relayhost"'
    - item_type: preproc_def
      name: DEF_RELAYHOST
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SND_RELAY_MAPS
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"sender_dependent_relayhost_maps"'
    - item_type: preproc_def
      name: DEF_SND_RELAY_MAPS
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_NULL_RELAY_MAPS_KEY
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"empty_address_relayhost_maps_lookup_key"'
    - item_type: preproc_def
      name: DEF_NULL_RELAY_MAPS_KEY
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"<>"'
    - item_type: preproc_def
      name: VAR_SMTP_FALLBACK
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_fallback_relay"'
    - item_type: preproc_def
      name: DEF_SMTP_FALLBACK
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$fallback_relay"'
    - item_type: preproc_def
      name: VAR_LMTP_FALLBACK
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_fallback_relay"'
    - item_type: preproc_def
      name: DEF_LMTP_FALLBACK
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: DEF_FALLBACK_RELAY
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_DISABLE_DNS
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"disable_dns_lookups"'
    - item_type: preproc_def
      name: DEF_DISABLE_DNS
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SMTP_DNS_SUPPORT_DISABLED
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"disabled"'
    - item_type: preproc_def
      name: SMTP_DNS_SUPPORT_ENABLED
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"enabled"'
    - item_type: preproc_def
      name: SMTP_DNS_SUPPORT_DNSSEC
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"dnssec"'
    - item_type: preproc_def
      name: VAR_SMTP_DNS_SUPPORT
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_dns_support_level"'
    - item_type: preproc_def
      name: DEF_SMTP_DNS_SUPPORT
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_DNS_SUPPORT
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_dns_support_level"'
    - item_type: preproc_def
      name: DEF_LMTP_DNS_SUPPORT
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: SMTP_HOST_LOOKUP_DNS
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"dns"'
    - item_type: preproc_def
      name: SMTP_HOST_LOOKUP_NATIVE
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"native"'
    - item_type: preproc_def
      name: VAR_SMTP_HOST_LOOKUP
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_host_lookup"'
    - item_type: preproc_def
      name: DEF_SMTP_HOST_LOOKUP
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: SMTP_HOST_LOOKUP_DNS
    - item_type: preproc_def
      name: VAR_LMTP_HOST_LOOKUP
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_host_lookup"'
    - item_type: preproc_def
      name: DEF_LMTP_HOST_LOOKUP
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: SMTP_HOST_LOOKUP_DNS
    - item_type: preproc_def
      name: SMTP_DNS_RES_OPT_DEFNAMES
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"res_defnames"'
    - item_type: preproc_def
      name: SMTP_DNS_RES_OPT_DNSRCH
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"res_dnsrch"'
    - item_type: preproc_def
      name: VAR_SMTP_DNS_RES_OPT
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_dns_resolver_options"'
    - item_type: preproc_def
      name: DEF_SMTP_DNS_RES_OPT
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_DNS_RES_OPT
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_dns_resolver_options"'
    - item_type: preproc_def
      name: DEF_LMTP_DNS_RES_OPT
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_MXADDR_LIMIT
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_mx_address_limit"'
    - item_type: preproc_def
      name: DEF_SMTP_MXADDR_LIMIT
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '5'
    - item_type: preproc_def
      name: VAR_LMTP_MXADDR_LIMIT
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_mx_address_limit"'
    - item_type: preproc_def
      name: DEF_LMTP_MXADDR_LIMIT
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '5'
    - item_type: preproc_def
      name: VAR_SMTP_MXSESS_LIMIT
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_mx_session_limit"'
    - item_type: preproc_def
      name: DEF_SMTP_MXSESS_LIMIT
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '2'
    - item_type: preproc_def
      name: VAR_LMTP_MXSESS_LIMIT
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_mx_session_limit"'
    - item_type: preproc_def
      name: DEF_LMTP_MXSESS_LIMIT
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '2'
    - item_type: preproc_def
      name: VAR_QUEUE_DIR
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"queue_directory"'
    - item_type: preproc_def
      name: DEF_QUEUE_DIR
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"/var/spool/postfix"'
    - item_type: preproc_def
      name: VAR_DAEMON_DIR
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"daemon_directory"'
    - item_type: preproc_def
      name: DEF_DAEMON_DIR
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"/usr/libexec/postfix"'
    - item_type: preproc_def
      name: VAR_COMMAND_DIR
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"command_directory"'
    - item_type: preproc_def
      name: DEF_COMMAND_DIR
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"/usr/sbin"'
    - item_type: preproc_def
      name: VAR_PID_DIR
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"process_id_directory"'
    - item_type: preproc_def
      name: DEF_PID_DIR
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"pid"'
    - item_type: preproc_def
      name: VAR_DATA_DIR
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"data_directory"'
    - item_type: preproc_def
      name: DEF_DATA_DIR
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"/var/lib/postfix"'
    - item_type: preproc_def
      name: VAR_CONFIG_DIR
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"config_directory"'
    - item_type: preproc_def
      name: DEF_CONFIG_DIR
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"/etc/postfix"'
    - item_type: preproc_def
      name: VAR_CONFIG_DIRS
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"alternate_config_directories"'
    - item_type: preproc_def
      name: DEF_CONFIG_DIRS
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: MAIN_CONF_FILE
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"main.cf"'
    - item_type: preproc_def
      name: MASTER_CONF_FILE
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"master.cf"'
    - item_type: preproc_def
      name: VAR_DB_TYPE
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"default_database_type"'
    - item_type: preproc_def
      name: VAR_SYSLOG_FACILITY
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"syslog_facility"'
    - item_type: preproc_def
      name: DEF_SYSLOG_FACILITY
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"mail"'
    - item_type: preproc_def
      name: LOG_FACILITY
      pos:
        line_end: 393
        line_start: 392
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: LOG_MAIL
    - item_type: preproc_def
      name: VAR_ALWAYS_BCC
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"always_bcc"'
    - item_type: preproc_def
      name: DEF_ALWAYS_BCC
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_RCPT_WITHELD
      pos:
        line_end: 411
        line_start: 410
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"undisclosed_recipients_header"'
    - item_type: preproc_def
      name: DEF_RCPT_WITHELD
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_ALWAYS_ADD_HDRS
      pos:
        line_end: 419
        line_start: 418
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"always_add_missing_headers"'
    - item_type: preproc_def
      name: DEF_ALWAYS_ADD_HDRS
      pos:
        line_end: 420
        line_start: 419
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_DROP_HDRS
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"message_drop_headers"'
    - item_type: preproc_def
      name: DEF_DROP_HDRS
      pos:
        line_end: 427
        line_start: 426
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"bcc, content-length, resent-bcc, return-path"'
    - item_type: preproc_def
      name: HFROM_FORMAT_NAME_STD
      pos:
        line_end: 434
        line_start: 433
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"standard\"\t"
    - item_type: preproc_def
      name: HFROM_FORMAT_NAME_OBS
      pos:
        line_end: 435
        line_start: 434
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"obsolete\"\t"
    - item_type: preproc_def
      name: VAR_HFROM_FORMAT
      pos:
        line_end: 436
        line_start: 435
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"header_from_format"'
    - item_type: preproc_def
      name: DEF_HFROM_FORMAT
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: HFROM_FORMAT_NAME_STD
    - item_type: preproc_def
      name: VAR_STRICT_RFC821_ENV
      pos:
        line_end: 444
        line_start: 443
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"strict_rfc821_envelopes"'
    - item_type: preproc_def
      name: DEF_STRICT_RFC821_ENV
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_BROKEN_AUTH_CLNTS
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"broken_sasl_auth_clients"'
    - item_type: preproc_def
      name: DEF_BROKEN_AUTH_CLNTS
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_DISABLE_VRFY_CMD
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"disable_vrfy_command"'
    - item_type: preproc_def
      name: DEF_DISABLE_VRFY_CMD
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_VIRT_ALIAS_MAPS
      pos:
        line_end: 466
        line_start: 465
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"virtual_alias_maps"'
    - item_type: preproc_def
      name: DEF_VIRT_ALIAS_MAPS
      pos:
        line_end: 467
        line_start: 466
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"$virtual_maps\"\t"
    - item_type: preproc_def
      name: VAR_VIRT_ALIAS_DOMS
      pos:
        line_end: 470
        line_start: 469
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"virtual_alias_domains"'
    - item_type: preproc_def
      name: DEF_VIRT_ALIAS_DOMS
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$virtual_alias_maps"'
    - item_type: preproc_def
      name: VAR_VIRT_ALIAS_CODE
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"unknown_virtual_alias_reject_code"'
    - item_type: preproc_def
      name: DEF_VIRT_ALIAS_CODE
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '550'
    - item_type: preproc_def
      name: VAR_CANONICAL_MAPS
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"canonical_maps"'
    - item_type: preproc_def
      name: DEF_CANONICAL_MAPS
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SEND_CANON_MAPS
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"sender_canonical_maps"'
    - item_type: preproc_def
      name: DEF_SEND_CANON_MAPS
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_RCPT_CANON_MAPS
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"recipient_canonical_maps"'
    - item_type: preproc_def
      name: DEF_RCPT_CANON_MAPS
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: CANON_CLASS_ENV_FROM
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"envelope_sender"'
    - item_type: preproc_def
      name: CANON_CLASS_ENV_RCPT
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"envelope_recipient"'
    - item_type: preproc_def
      name: CANON_CLASS_HDR_FROM
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"header_sender"'
    - item_type: preproc_def
      name: CANON_CLASS_HDR_RCPT
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"header_recipient"'
    - item_type: preproc_def
      name: VAR_CANON_CLASSES
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"canonical_classes"'
    - item_type: preproc_def
      name: DEF_CANON_CLASSES
      pos:
        line_end: 499
        line_start: 495
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "CANON_CLASS_ENV_FROM \", \" \\\n\t\t\t\tCANON_CLASS_ENV_RCPT
        \", \" \\\n\t\t\t\tCANON_CLASS_HDR_FROM \", \" \\\n\t\t\t\tCANON_CLASS_HDR_RCPT"
    - item_type: preproc_def
      name: VAR_SEND_CANON_CLASSES
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"sender_canonical_classes"'
    - item_type: preproc_def
      name: DEF_SEND_CANON_CLASSES
      pos:
        line_end: 504
        line_start: 502
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "CANON_CLASS_ENV_FROM \", \" \\\n\t\t\t\tCANON_CLASS_HDR_FROM"
    - item_type: preproc_def
      name: VAR_RCPT_CANON_CLASSES
      pos:
        line_end: 507
        line_start: 506
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"recipient_canonical_classes"'
    - item_type: preproc_def
      name: DEF_RCPT_CANON_CLASSES
      pos:
        line_end: 509
        line_start: 507
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "CANON_CLASS_ENV_RCPT \", \" \\\n\t\t\t\tCANON_CLASS_HDR_RCPT"
    - item_type: preproc_def
      name: VAR_SEND_BCC_MAPS
      pos:
        line_end: 512
        line_start: 511
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"sender_bcc_maps"'
    - item_type: preproc_def
      name: DEF_SEND_BCC_MAPS
      pos:
        line_end: 513
        line_start: 512
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_RCPT_BCC_MAPS
      pos:
        line_end: 516
        line_start: 515
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"recipient_bcc_maps"'
    - item_type: preproc_def
      name: DEF_RCPT_BCC_MAPS
      pos:
        line_end: 517
        line_start: 516
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_TRANSPORT_MAPS
      pos:
        line_end: 520
        line_start: 519
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"transport_maps"'
    - item_type: preproc_def
      name: DEF_TRANSPORT_MAPS
      pos:
        line_end: 521
        line_start: 520
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_DEF_TRANSPORT
      pos:
        line_end: 524
        line_start: 523
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"default_transport"'
    - item_type: preproc_def
      name: DEF_DEF_TRANSPORT
      pos:
        line_end: 525
        line_start: 524
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: MAIL_SERVICE_SMTP
    - item_type: preproc_def
      name: VAR_SND_DEF_XPORT_MAPS
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"sender_dependent_" VAR_DEF_TRANSPORT "_maps"'
    - item_type: preproc_def
      name: DEF_SND_DEF_XPORT_MAPS
      pos:
        line_end: 529
        line_start: 528
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_NULL_DEF_XPORT_MAPS_KEY
      pos:
        line_end: 532
        line_start: 531
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"empty_address_" VAR_DEF_TRANSPORT "_maps_lookup_key"'
    - item_type: preproc_def
      name: DEF_NULL_DEF_XPORT_MAPS_KEY
      pos:
        line_end: 533
        line_start: 532
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"<>"'
    - item_type: preproc_def
      name: VAR_SWAP_BANGPATH
      pos:
        line_end: 539
        line_start: 538
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"swap_bangpath"'
    - item_type: preproc_def
      name: DEF_SWAP_BANGPATH
      pos:
        line_end: 540
        line_start: 539
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_APP_AT_MYORIGIN
      pos:
        line_end: 543
        line_start: 542
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"append_at_myorigin"'
    - item_type: preproc_def
      name: DEF_APP_AT_MYORIGIN
      pos:
        line_end: 544
        line_start: 543
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_APP_DOT_MYDOMAIN
      pos:
        line_end: 547
        line_start: 546
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"append_dot_mydomain"'
    - item_type: preproc_def
      name: DEF_APP_DOT_MYDOMAIN
      pos:
        line_end: 549
        line_start: 547
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"${{$compatibility_level} <level {1} ? \" \\\n\t\t\t\t\"{yes}
        : {no}}\""
    - item_type: preproc_def
      name: VAR_PERCENT_HACK
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"allow_percent_hack"'
    - item_type: preproc_def
      name: DEF_PERCENT_HACK
      pos:
        line_end: 553
        line_start: 552
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_ALIAS_MAPS
      pos:
        line_end: 559
        line_start: 558
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"alias_maps"'
    - item_type: preproc_def
      name: DEF_ALIAS_MAPS
      pos:
        line_end: 561
        line_start: 560
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: ALIAS_DB_MAP ", nis:mail.aliases"
    - item_type: preproc_def
      name: DEF_ALIAS_MAPS
      pos:
        line_end: 563
        line_start: 562
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: ALIAS_DB_MAP
    - item_type: preproc_def
      name: VAR_BIFF
      pos:
        line_end: 570
        line_start: 569
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"biff"'
    - item_type: preproc_def
      name: DEF_BIFF
      pos:
        line_end: 571
        line_start: 570
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_ALLOW_COMMANDS
      pos:
        line_end: 577
        line_start: 576
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"allow_mail_to_commands"'
    - item_type: preproc_def
      name: DEF_ALLOW_COMMANDS
      pos:
        line_end: 578
        line_start: 577
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"alias, forward"'
    - item_type: preproc_def
      name: VAR_COMMAND_MAXTIME
      pos:
        line_end: 581
        line_start: 580
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"command_time_limit"'
    - item_type: preproc_def
      name: _MAXTIME
      pos:
        line_end: 582
        line_start: 581
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"_time_limit"'
    - item_type: preproc_def
      name: DEF_COMMAND_MAXTIME
      pos:
        line_end: 583
        line_start: 582
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"1000s"'
    - item_type: preproc_def
      name: VAR_ALLOW_FILES
      pos:
        line_end: 586
        line_start: 585
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"allow_mail_to_files"'
    - item_type: preproc_def
      name: DEF_ALLOW_FILES
      pos:
        line_end: 587
        line_start: 586
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"alias, forward"'
    - item_type: preproc_def
      name: VAR_LOCAL_CMD_SHELL
      pos:
        line_end: 590
        line_start: 589
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"local_command_shell"'
    - item_type: preproc_def
      name: DEF_LOCAL_CMD_SHELL
      pos:
        line_end: 591
        line_start: 590
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_ALIAS_DB_MAP
      pos:
        line_end: 594
        line_start: 593
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"alias_database"'
    - item_type: preproc_def
      name: DEF_ALIAS_DB_MAP
      pos:
        line_end: 595
        line_start: 594
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "ALIAS_DB_MAP\t"
    - item_type: preproc_def
      name: VAR_LUSER_RELAY
      pos:
        line_end: 598
        line_start: 597
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"luser_relay"'
    - item_type: preproc_def
      name: DEF_LUSER_RELAY
      pos:
        line_end: 599
        line_start: 598
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_MAIL_SPOOL_DIR
      pos:
        line_end: 605
        line_start: 604
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"mail_spool_directory"'
    - item_type: preproc_def
      name: DEF_MAIL_SPOOL_DIR
      pos:
        line_end: 607
        line_start: 606
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: _PATH_MAILDIR
    - item_type: preproc_def
      name: VAR_HOME_MAILBOX
      pos:
        line_end: 611
        line_start: 610
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"home_mailbox"'
    - item_type: preproc_def
      name: DEF_HOME_MAILBOX
      pos:
        line_end: 612
        line_start: 611
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_MAILBOX_COMMAND
      pos:
        line_end: 615
        line_start: 614
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"mailbox_command"'
    - item_type: preproc_def
      name: DEF_MAILBOX_COMMAND
      pos:
        line_end: 616
        line_start: 615
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_MAILBOX_CMD_MAPS
      pos:
        line_end: 619
        line_start: 618
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"mailbox_command_maps"'
    - item_type: preproc_def
      name: DEF_MAILBOX_CMD_MAPS
      pos:
        line_end: 620
        line_start: 619
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_MAILBOX_TRANSP
      pos:
        line_end: 623
        line_start: 622
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"mailbox_transport"'
    - item_type: preproc_def
      name: DEF_MAILBOX_TRANSP
      pos:
        line_end: 624
        line_start: 623
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_MBOX_TRANSP_MAPS
      pos:
        line_end: 627
        line_start: 626
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"mailbox_transport_maps"'
    - item_type: preproc_def
      name: DEF_MBOX_TRANSP_MAPS
      pos:
        line_end: 628
        line_start: 627
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_FALLBACK_TRANSP
      pos:
        line_end: 631
        line_start: 630
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"fallback_transport"'
    - item_type: preproc_def
      name: DEF_FALLBACK_TRANSP
      pos:
        line_end: 632
        line_start: 631
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_FBCK_TRANSP_MAPS
      pos:
        line_end: 635
        line_start: 634
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"fallback_transport_maps"'
    - item_type: preproc_def
      name: DEF_FBCK_TRANSP_MAPS
      pos:
        line_end: 636
        line_start: 635
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_FORWARD_PATH
      pos:
        line_end: 642
        line_start: 641
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"forward_path"'
    - item_type: preproc_def
      name: DEF_FORWARD_PATH
      pos:
        line_end: 643
        line_start: 642
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$home/.forward${recipient_delimiter}${extension}, $home/.forward"'
    - item_type: preproc_def
      name: VAR_EXEC_DIRECTORY
      pos:
        line_end: 649
        line_start: 648
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"command_execution_directory"'
    - item_type: preproc_def
      name: DEF_EXEC_DIRECTORY
      pos:
        line_end: 650
        line_start: 649
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_EXEC_EXP_FILTER
      pos:
        line_end: 653
        line_start: 652
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"execution_directory_expansion_filter"'
    - item_type: preproc_def
      name: DEF_EXEC_EXP_FILTER
      pos:
        line_end: 654
        line_start: 653
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"1234567890!@%-_=+:,./\'
    - item_type: preproc_def
      name: VAR_MAILBOX_LOCK
      pos:
        line_end: 662
        line_start: 661
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"mailbox_delivery_lock"'
    - item_type: preproc_def
      name: VAR_MAILBOX_LIMIT
      pos:
        line_end: 669
        line_start: 668
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"mailbox_size_limit"'
    - item_type: preproc_def
      name: DEF_MAILBOX_LIMIT
      pos:
        line_end: 670
        line_start: 669
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: (DEF_MESSAGE_LIMIT * 5)
    - item_type: preproc_def
      name: VAR_PROP_EXTENSION
      pos:
        line_end: 676
        line_start: 675
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"propagate_unmatched_extensions"'
    - item_type: preproc_def
      name: DEF_PROP_EXTENSION
      pos:
        line_end: 677
        line_start: 676
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"canonical, virtual"'
    - item_type: preproc_def
      name: VAR_RCPT_DELIM
      pos:
        line_end: 680
        line_start: 679
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"recipient_delimiter"'
    - item_type: preproc_def
      name: DEF_RCPT_DELIM
      pos:
        line_end: 681
        line_start: 680
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_CMD_EXP_FILTER
      pos:
        line_end: 684
        line_start: 683
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"command_expansion_filter"'
    - item_type: preproc_def
      name: DEF_CMD_EXP_FILTER
      pos:
        line_end: 685
        line_start: 684
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"1234567890!@%-_=+:,./\'
    - item_type: preproc_def
      name: VAR_FWD_EXP_FILTER
      pos:
        line_end: 690
        line_start: 689
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"forward_expansion_filter"'
    - item_type: preproc_def
      name: DEF_FWD_EXP_FILTER
      pos:
        line_end: 691
        line_start: 690
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"1234567890!@%-_=+:,./\'
    - item_type: preproc_def
      name: VAR_DELIVER_HDR
      pos:
        line_end: 696
        line_start: 695
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"prepend_delivered_header"'
    - item_type: preproc_def
      name: DEF_DELIVER_HDR
      pos:
        line_end: 697
        line_start: 696
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"command, file, forward"'
    - item_type: preproc_def
      name: VAR_ENABLE_ORCPT
      pos:
        line_end: 706
        line_start: 705
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"enable_original_recipient"'
    - item_type: preproc_def
      name: DEF_ENABLE_ORCPT
      pos:
        line_end: 707
        line_start: 706
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_EXP_OWN_ALIAS
      pos:
        line_end: 710
        line_start: 709
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"expand_owner_alias"'
    - item_type: preproc_def
      name: DEF_EXP_OWN_ALIAS
      pos:
        line_end: 711
        line_start: 710
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_STAT_HOME_DIR
      pos:
        line_end: 714
        line_start: 713
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"require_home_directory"'
    - item_type: preproc_def
      name: DEF_STAT_HOME_DIR
      pos:
        line_end: 715
        line_start: 714
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_DUP_FILTER_LIMIT
      pos:
        line_end: 722
        line_start: 721
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"duplicate_filter_limit"'
    - item_type: preproc_def
      name: DEF_DUP_FILTER_LIMIT
      pos:
        line_end: 723
        line_start: 722
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1000'
    - item_type: preproc_def
      name: VAR_TLS_MGR_SERVICE
      pos:
        line_end: 729
        line_start: 728
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsmgr_service_name"'
    - item_type: preproc_def
      name: DEF_TLS_MGR_SERVICE
      pos:
        line_end: 730
        line_start: 729
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsmgr"'
    - item_type: preproc_def
      name: VAR_TLS_APPEND_DEF_CA
      pos:
        line_end: 733
        line_start: 732
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_append_default_CA"'
    - item_type: preproc_def
      name: DEF_TLS_APPEND_DEF_CA
      pos:
        line_end: 734
        line_start: 733
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: VAR_TLS_RAND_EXCH_NAME
      pos:
        line_end: 737
        line_start: 736
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_random_exchange_name"'
    - item_type: preproc_def
      name: DEF_TLS_RAND_EXCH_NAME
      pos:
        line_end: 738
        line_start: 737
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"${data_directory}/prng_exch"'
    - item_type: preproc_def
      name: VAR_TLS_RAND_SOURCE
      pos:
        line_end: 741
        line_start: 740
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_random_source"'
    - item_type: preproc_def
      name: DEF_TLS_RAND_SOURCE
      pos:
        line_end: 743
        line_start: 742
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: PREFERRED_RAND_SOURCE
    - item_type: preproc_def
      name: DEF_TLS_RAND_SOURCE
      pos:
        line_end: 745
        line_start: 744
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_TLS_RAND_BYTES
      pos:
        line_end: 749
        line_start: 748
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_random_bytes"'
    - item_type: preproc_def
      name: DEF_TLS_RAND_BYTES
      pos:
        line_end: 750
        line_start: 749
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '32'
    - item_type: preproc_def
      name: VAR_TLS_DAEMON_RAND_BYTES
      pos:
        line_end: 753
        line_start: 752
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_daemon_random_bytes"'
    - item_type: preproc_def
      name: DEF_TLS_DAEMON_RAND_BYTES
      pos:
        line_end: 754
        line_start: 753
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '32'
    - item_type: preproc_def
      name: VAR_TLS_RESEED_PERIOD
      pos:
        line_end: 757
        line_start: 756
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_random_reseed_period"'
    - item_type: preproc_def
      name: DEF_TLS_RESEED_PERIOD
      pos:
        line_end: 758
        line_start: 757
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"3600s"'
    - item_type: preproc_def
      name: VAR_TLS_PRNG_UPD_PERIOD
      pos:
        line_end: 761
        line_start: 760
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_random_prng_update_period"'
    - item_type: preproc_def
      name: DEF_TLS_PRNG_UPD_PERIOD
      pos:
        line_end: 762
        line_start: 761
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"3600s"'
    - item_type: preproc_def
      name: VAR_RELOCATED_MAPS
      pos:
        line_end: 768
        line_start: 767
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"relocated_maps"'
    - item_type: preproc_def
      name: DEF_RELOCATED_MAPS
      pos:
        line_end: 769
        line_start: 768
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_ENB_RELOCATED_PFX
      pos:
        line_end: 772
        line_start: 771
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"relocated_prefix_enable"'
    - item_type: preproc_def
      name: DEF_ENB_RELOCATED_PFX
      pos:
        line_end: 773
        line_start: 772
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"yes"'
    - item_type: preproc_def
      name: VAR_QUEUE_RUN_DELAY
      pos:
        line_end: 782
        line_start: 781
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"queue_run_delay"'
    - item_type: preproc_def
      name: DEF_QUEUE_RUN_DELAY
      pos:
        line_end: 783
        line_start: 782
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"300s"'
    - item_type: preproc_def
      name: VAR_MIN_BACKOFF_TIME
      pos:
        line_end: 785
        line_start: 784
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"minimal_backoff_time"'
    - item_type: preproc_def
      name: DEF_MIN_BACKOFF_TIME
      pos:
        line_end: 786
        line_start: 785
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: DEF_QUEUE_RUN_DELAY
    - item_type: preproc_def
      name: VAR_MAX_BACKOFF_TIME
      pos:
        line_end: 789
        line_start: 788
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"maximal_backoff_time"'
    - item_type: preproc_def
      name: DEF_MAX_BACKOFF_TIME
      pos:
        line_end: 790
        line_start: 789
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"4000s"'
    - item_type: preproc_def
      name: VAR_MAX_QUEUE_TIME
      pos:
        line_end: 793
        line_start: 792
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"maximal_queue_lifetime"'
    - item_type: preproc_def
      name: DEF_MAX_QUEUE_TIME
      pos:
        line_end: 794
        line_start: 793
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"5d"'
    - item_type: preproc_def
      name: VAR_DSN_QUEUE_TIME
      pos:
        line_end: 801
        line_start: 800
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"bounce_queue_lifetime"'
    - item_type: preproc_def
      name: DEF_DSN_QUEUE_TIME
      pos:
        line_end: 802
        line_start: 801
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"5d"'
    - item_type: preproc_def
      name: VAR_DELAY_WARN_TIME
      pos:
        line_end: 805
        line_start: 804
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"delay_warning_time"'
    - item_type: preproc_def
      name: DEF_DELAY_WARN_TIME
      pos:
        line_end: 806
        line_start: 805
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"0h"'
    - item_type: preproc_def
      name: VAR_DSN_DELAY_CLEARED
      pos:
        line_end: 809
        line_start: 808
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"confirm_delay_cleared"'
    - item_type: preproc_def
      name: DEF_DSN_DELAY_CLEARED
      pos:
        line_end: 810
        line_start: 809
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_QMGR_ACT_LIMIT
      pos:
        line_end: 816
        line_start: 815
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"qmgr_message_active_limit"'
    - item_type: preproc_def
      name: DEF_QMGR_ACT_LIMIT
      pos:
        line_end: 817
        line_start: 816
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '20000'
    - item_type: preproc_def
      name: VAR_QMGR_RCPT_LIMIT
      pos:
        line_end: 820
        line_start: 819
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"qmgr_message_recipient_limit"'
    - item_type: preproc_def
      name: DEF_QMGR_RCPT_LIMIT
      pos:
        line_end: 821
        line_start: 820
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '20000'
    - item_type: preproc_def
      name: VAR_QMGR_MSG_RCPT_LIMIT
      pos:
        line_end: 824
        line_start: 823
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"qmgr_message_recipient_minimum"'
    - item_type: preproc_def
      name: DEF_QMGR_MSG_RCPT_LIMIT
      pos:
        line_end: 825
        line_start: 824
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '10'
    - item_type: preproc_def
      name: VAR_XPORT_RCPT_LIMIT
      pos:
        line_end: 828
        line_start: 827
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"default_recipient_limit"'
    - item_type: preproc_def
      name: _XPORT_RCPT_LIMIT
      pos:
        line_end: 829
        line_start: 828
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"_recipient_limit"'
    - item_type: preproc_def
      name: DEF_XPORT_RCPT_LIMIT
      pos:
        line_end: 830
        line_start: 829
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '20000'
    - item_type: preproc_def
      name: VAR_STACK_RCPT_LIMIT
      pos:
        line_end: 833
        line_start: 832
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"default_extra_recipient_limit"'
    - item_type: preproc_def
      name: _STACK_RCPT_LIMIT
      pos:
        line_end: 834
        line_start: 833
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"_extra_recipient_limit"'
    - item_type: preproc_def
      name: DEF_STACK_RCPT_LIMIT
      pos:
        line_end: 835
        line_start: 834
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1000'
    - item_type: preproc_def
      name: VAR_XPORT_REFILL_LIMIT
      pos:
        line_end: 838
        line_start: 837
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"default_recipient_refill_limit"'
    - item_type: preproc_def
      name: _XPORT_REFILL_LIMIT
      pos:
        line_end: 839
        line_start: 838
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"_recipient_refill_limit"'
    - item_type: preproc_def
      name: DEF_XPORT_REFILL_LIMIT
      pos:
        line_end: 840
        line_start: 839
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '100'
    - item_type: preproc_def
      name: VAR_XPORT_REFILL_DELAY
      pos:
        line_end: 843
        line_start: 842
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"default_recipient_refill_delay"'
    - item_type: preproc_def
      name: _XPORT_REFILL_DELAY
      pos:
        line_end: 844
        line_start: 843
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"_recipient_refill_delay"'
    - item_type: preproc_def
      name: DEF_XPORT_REFILL_DELAY
      pos:
        line_end: 845
        line_start: 844
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"5s"'
    - item_type: preproc_def
      name: VAR_DELIVERY_SLOT_COST
      pos:
        line_end: 851
        line_start: 850
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"default_delivery_slot_cost"'
    - item_type: preproc_def
      name: _DELIVERY_SLOT_COST
      pos:
        line_end: 852
        line_start: 851
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"_delivery_slot_cost"'
    - item_type: preproc_def
      name: DEF_DELIVERY_SLOT_COST
      pos:
        line_end: 853
        line_start: 852
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '5'
    - item_type: preproc_def
      name: VAR_DELIVERY_SLOT_LOAN
      pos:
        line_end: 856
        line_start: 855
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"default_delivery_slot_loan"'
    - item_type: preproc_def
      name: _DELIVERY_SLOT_LOAN
      pos:
        line_end: 857
        line_start: 856
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"_delivery_slot_loan"'
    - item_type: preproc_def
      name: DEF_DELIVERY_SLOT_LOAN
      pos:
        line_end: 858
        line_start: 857
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '3'
    - item_type: preproc_def
      name: VAR_DELIVERY_SLOT_DISCOUNT
      pos:
        line_end: 861
        line_start: 860
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"default_delivery_slot_discount"'
    - item_type: preproc_def
      name: _DELIVERY_SLOT_DISCOUNT
      pos:
        line_end: 862
        line_start: 861
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"_delivery_slot_discount"'
    - item_type: preproc_def
      name: DEF_DELIVERY_SLOT_DISCOUNT
      pos:
        line_end: 863
        line_start: 862
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '50'
    - item_type: preproc_def
      name: VAR_MIN_DELIVERY_SLOTS
      pos:
        line_end: 866
        line_start: 865
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"default_minimum_delivery_slots"'
    - item_type: preproc_def
      name: _MIN_DELIVERY_SLOTS
      pos:
        line_end: 867
        line_start: 866
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"_minimum_delivery_slots"'
    - item_type: preproc_def
      name: DEF_MIN_DELIVERY_SLOTS
      pos:
        line_end: 868
        line_start: 867
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '3'
    - item_type: preproc_def
      name: VAR_QMGR_FUDGE
      pos:
        line_end: 871
        line_start: 870
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"qmgr_fudge_factor"'
    - item_type: preproc_def
      name: DEF_QMGR_FUDGE
      pos:
        line_end: 872
        line_start: 871
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '100'
    - item_type: preproc_def
      name: VAR_INIT_DEST_CON
      pos:
        line_end: 878
        line_start: 877
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"initial_destination_concurrency"'
    - item_type: preproc_def
      name: _INIT_DEST_CON
      pos:
        line_end: 879
        line_start: 878
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"_initial_destination_concurrency"'
    - item_type: preproc_def
      name: DEF_INIT_DEST_CON
      pos:
        line_end: 880
        line_start: 879
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '5'
    - item_type: preproc_def
      name: VAR_DEST_CON_LIMIT
      pos:
        line_end: 883
        line_start: 882
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"default_destination_concurrency_limit"'
    - item_type: preproc_def
      name: _DEST_CON_LIMIT
      pos:
        line_end: 884
        line_start: 883
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"_destination_concurrency_limit"'
    - item_type: preproc_def
      name: DEF_DEST_CON_LIMIT
      pos:
        line_end: 885
        line_start: 884
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '20'
    - item_type: preproc_def
      name: VAR_LOCAL_CON_LIMIT
      pos:
        line_end: 888
        line_start: 887
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"local" _DEST_CON_LIMIT'
    - item_type: preproc_def
      name: DEF_LOCAL_CON_LIMIT
      pos:
        line_end: 889
        line_start: 888
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '2'
    - item_type: preproc_def
      name: VAR_DEST_RCPT_LIMIT
      pos:
        line_end: 895
        line_start: 894
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"default_destination_recipient_limit"'
    - item_type: preproc_def
      name: _DEST_RCPT_LIMIT
      pos:
        line_end: 896
        line_start: 895
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"_destination_recipient_limit"'
    - item_type: preproc_def
      name: DEF_DEST_RCPT_LIMIT
      pos:
        line_end: 897
        line_start: 896
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '50'
    - item_type: preproc_def
      name: VAR_LOCAL_RCPT_LIMIT
      pos:
        line_end: 900
        line_start: 899
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"local\" _DEST_RCPT_LIMIT\t"
    - item_type: preproc_def
      name: DEF_LOCAL_RCPT_LIMIT
      pos:
        line_end: 901
        line_start: 900
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: VAR_XPORT_RETRY_TIME
      pos:
        line_end: 907
        line_start: 906
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"transport_retry_time"'
    - item_type: preproc_def
      name: DEF_XPORT_RETRY_TIME
      pos:
        line_end: 908
        line_start: 907
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"60s"'
    - item_type: preproc_def
      name: VAR_DEFER_XPORTS
      pos:
        line_end: 914
        line_start: 913
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"defer_transports"'
    - item_type: preproc_def
      name: DEF_DEFER_XPORTS
      pos:
        line_end: 915
        line_start: 914
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_QMGR_CLOG_WARN_TIME
      pos:
        line_end: 922
        line_start: 921
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"qmgr_clog_warn_time"'
    - item_type: preproc_def
      name: DEF_QMGR_CLOG_WARN_TIME
      pos:
        line_end: 923
        line_start: 922
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"300s"'
    - item_type: preproc_def
      name: VAR_PROC_LIMIT
      pos:
        line_end: 929
        line_start: 928
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"default_process_limit"'
    - item_type: preproc_def
      name: DEF_PROC_LIMIT
      pos:
        line_end: 930
        line_start: 929
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '100'
    - item_type: preproc_def
      name: VAR_THROTTLE_TIME
      pos:
        line_end: 936
        line_start: 935
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"service_throttle_time"'
    - item_type: preproc_def
      name: DEF_THROTTLE_TIME
      pos:
        line_end: 937
        line_start: 936
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"60s"'
    - item_type: preproc_def
      name: VAR_MASTER_DISABLE
      pos:
        line_end: 943
        line_start: 942
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"master_service_disable"'
    - item_type: preproc_def
      name: DEF_MASTER_DISABLE
      pos:
        line_end: 944
        line_start: 943
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_MAX_USE
      pos:
        line_end: 951
        line_start: 950
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"max_use"'
    - item_type: preproc_def
      name: DEF_MAX_USE
      pos:
        line_end: 952
        line_start: 951
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '100'
    - item_type: preproc_def
      name: VAR_MAX_IDLE
      pos:
        line_end: 959
        line_start: 958
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"max_idle"'
    - item_type: preproc_def
      name: DEF_MAX_IDLE
      pos:
        line_end: 960
        line_start: 959
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"100s"'
    - item_type: preproc_def
      name: VAR_EVENT_DRAIN
      pos:
        line_end: 967
        line_start: 966
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"application_event_drain_time"'
    - item_type: preproc_def
      name: DEF_EVENT_DRAIN
      pos:
        line_end: 968
        line_start: 967
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"100s"'
    - item_type: preproc_def
      name: VAR_IPC_IDLE
      pos:
        line_end: 975
        line_start: 974
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"ipc_idle"'
    - item_type: preproc_def
      name: DEF_IPC_IDLE
      pos:
        line_end: 976
        line_start: 975
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"5s"'
    - item_type: preproc_def
      name: VAR_IPC_TTL
      pos:
        line_end: 984
        line_start: 983
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"ipc_ttl"'
    - item_type: preproc_def
      name: DEF_IPC_TTL
      pos:
        line_end: 985
        line_start: 984
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"1000s"'
    - item_type: preproc_def
      name: VAR_LINE_LIMIT
      pos:
        line_end: 992
        line_start: 991
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"line_length_limit"'
    - item_type: preproc_def
      name: DEF_LINE_LIMIT
      pos:
        line_end: 993
        line_start: 992
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '2048'
    - item_type: preproc_def
      name: VAR_DEBUG_PEER_LIST
      pos:
        line_end: 999
        line_start: 998
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"debug_peer_list"'
    - item_type: preproc_def
      name: DEF_DEBUG_PEER_LIST
      pos:
        line_end: 1000
        line_start: 999
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_DEBUG_PEER_LEVEL
      pos:
        line_end: 1003
        line_start: 1002
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"debug_peer_level"'
    - item_type: preproc_def
      name: DEF_DEBUG_PEER_LEVEL
      pos:
        line_end: 1004
        line_start: 1003
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '2'
    - item_type: preproc_def
      name: VAR_HASH_QUEUE_NAMES
      pos:
        line_end: 1011
        line_start: 1010
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"hash_queue_names"'
    - item_type: preproc_def
      name: DEF_HASH_QUEUE_NAMES
      pos:
        line_end: 1012
        line_start: 1011
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"deferred, defer"'
    - item_type: preproc_def
      name: VAR_HASH_QUEUE_DEPTH
      pos:
        line_end: 1015
        line_start: 1014
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"hash_queue_depth"'
    - item_type: preproc_def
      name: DEF_HASH_QUEUE_DEPTH
      pos:
        line_end: 1016
        line_start: 1015
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_LONG_QUEUE_IDS
      pos:
        line_end: 1023
        line_start: 1022
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"enable_long_queue_ids"'
    - item_type: preproc_def
      name: DEF_LONG_QUEUE_IDS
      pos:
        line_end: 1024
        line_start: 1023
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: INET_PROTO_NAME_IPV4
      pos:
        line_end: 1030
        line_start: 1029
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"ipv4"'
    - item_type: preproc_def
      name: INET_PROTO_NAME_IPV6
      pos:
        line_end: 1031
        line_start: 1030
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"ipv6"'
    - item_type: preproc_def
      name: INET_PROTO_NAME_ALL
      pos:
        line_end: 1032
        line_start: 1031
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"all"'
    - item_type: preproc_def
      name: INET_PROTO_NAME_ANY
      pos:
        line_end: 1033
        line_start: 1032
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"any"'
    - item_type: preproc_def
      name: VAR_INET_PROTOCOLS
      pos:
        line_end: 1034
        line_start: 1033
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"inet_protocols"'
    - item_type: preproc_def
      name: VAR_BESTMX_TRANSP
      pos:
        line_end: 1046
        line_start: 1045
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"best_mx_transport"'
    - item_type: preproc_def
      name: DEF_BESTMX_TRANSP
      pos:
        line_end: 1047
        line_start: 1046
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_CACHE_CONNT
      pos:
        line_end: 1050
        line_start: 1049
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_connection_cache_time_limit"'
    - item_type: preproc_def
      name: DEF_SMTP_CACHE_CONNT
      pos:
        line_end: 1051
        line_start: 1050
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"2s"'
    - item_type: preproc_def
      name: VAR_LMTP_CACHE_CONNT
      pos:
        line_end: 1052
        line_start: 1051
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_connection_cache_time_limit"'
    - item_type: preproc_def
      name: DEF_LMTP_CACHE_CONNT
      pos:
        line_end: 1053
        line_start: 1052
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"2s"'
    - item_type: preproc_def
      name: VAR_SMTP_REUSE_COUNT
      pos:
        line_end: 1056
        line_start: 1055
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_connection_reuse_count_limit"'
    - item_type: preproc_def
      name: DEF_SMTP_REUSE_COUNT
      pos:
        line_end: 1057
        line_start: 1056
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_LMTP_REUSE_COUNT
      pos:
        line_end: 1058
        line_start: 1057
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_connection_reuse_count_limit"'
    - item_type: preproc_def
      name: DEF_LMTP_REUSE_COUNT
      pos:
        line_end: 1059
        line_start: 1058
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTP_REUSE_TIME
      pos:
        line_end: 1062
        line_start: 1061
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_connection_reuse_time_limit"'
    - item_type: preproc_def
      name: DEF_SMTP_REUSE_TIME
      pos:
        line_end: 1063
        line_start: 1062
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"300s"'
    - item_type: preproc_def
      name: VAR_LMTP_REUSE_TIME
      pos:
        line_end: 1064
        line_start: 1063
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_connection_reuse_time_limit"'
    - item_type: preproc_def
      name: DEF_LMTP_REUSE_TIME
      pos:
        line_end: 1065
        line_start: 1064
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"300s"'
    - item_type: preproc_def
      name: VAR_SMTP_CACHE_DEST
      pos:
        line_end: 1068
        line_start: 1067
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_connection_cache_destinations"'
    - item_type: preproc_def
      name: DEF_SMTP_CACHE_DEST
      pos:
        line_end: 1069
        line_start: 1068
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_CACHE_DEST
      pos:
        line_end: 1070
        line_start: 1069
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_connection_cache_destinations"'
    - item_type: preproc_def
      name: DEF_LMTP_CACHE_DEST
      pos:
        line_end: 1071
        line_start: 1070
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_CACHE_DEMAND
      pos:
        line_end: 1074
        line_start: 1073
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_connection_cache_on_demand"'
    - item_type: preproc_def
      name: DEF_SMTP_CACHE_DEMAND
      pos:
        line_end: 1076
        line_start: 1075
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_LMTP_CACHE_DEMAND
      pos:
        line_end: 1078
        line_start: 1077
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_connection_cache_on_demand"'
    - item_type: preproc_def
      name: DEF_LMTP_CACHE_DEMAND
      pos:
        line_end: 1080
        line_start: 1079
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_SMTP_CONN_TMOUT
      pos:
        line_end: 1084
        line_start: 1083
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_connect_timeout"'
    - item_type: preproc_def
      name: DEF_SMTP_CONN_TMOUT
      pos:
        line_end: 1085
        line_start: 1084
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"30s"'
    - item_type: preproc_def
      name: VAR_SMTP_HELO_TMOUT
      pos:
        line_end: 1088
        line_start: 1087
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_helo_timeout"'
    - item_type: preproc_def
      name: DEF_SMTP_HELO_TMOUT
      pos:
        line_end: 1089
        line_start: 1088
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"300s"'
    - item_type: preproc_def
      name: VAR_LMTP_HELO_TMOUT
      pos:
        line_end: 1090
        line_start: 1089
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_lhlo_timeout"'
    - item_type: preproc_def
      name: DEF_LMTP_HELO_TMOUT
      pos:
        line_end: 1091
        line_start: 1090
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"300s"'
    - item_type: preproc_def
      name: VAR_SMTP_XFWD_TMOUT
      pos:
        line_end: 1094
        line_start: 1093
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_xforward_timeout"'
    - item_type: preproc_def
      name: DEF_SMTP_XFWD_TMOUT
      pos:
        line_end: 1095
        line_start: 1094
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"300s"'
    - item_type: preproc_def
      name: VAR_SMTP_STARTTLS_TMOUT
      pos:
        line_end: 1098
        line_start: 1097
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_starttls_timeout"'
    - item_type: preproc_def
      name: DEF_SMTP_STARTTLS_TMOUT
      pos:
        line_end: 1099
        line_start: 1098
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"300s"'
    - item_type: preproc_def
      name: VAR_LMTP_STARTTLS_TMOUT
      pos:
        line_end: 1100
        line_start: 1099
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_starttls_timeout"'
    - item_type: preproc_def
      name: DEF_LMTP_STARTTLS_TMOUT
      pos:
        line_end: 1101
        line_start: 1100
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"300s"'
    - item_type: preproc_def
      name: VAR_SMTP_MAIL_TMOUT
      pos:
        line_end: 1104
        line_start: 1103
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_mail_timeout"'
    - item_type: preproc_def
      name: DEF_SMTP_MAIL_TMOUT
      pos:
        line_end: 1105
        line_start: 1104
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"300s"'
    - item_type: preproc_def
      name: VAR_SMTP_RCPT_TMOUT
      pos:
        line_end: 1108
        line_start: 1107
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_rcpt_timeout"'
    - item_type: preproc_def
      name: DEF_SMTP_RCPT_TMOUT
      pos:
        line_end: 1109
        line_start: 1108
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"300s"'
    - item_type: preproc_def
      name: VAR_SMTP_DATA0_TMOUT
      pos:
        line_end: 1112
        line_start: 1111
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_data_init_timeout"'
    - item_type: preproc_def
      name: DEF_SMTP_DATA0_TMOUT
      pos:
        line_end: 1113
        line_start: 1112
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"120s"'
    - item_type: preproc_def
      name: VAR_SMTP_DATA1_TMOUT
      pos:
        line_end: 1116
        line_start: 1115
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_data_xfer_timeout"'
    - item_type: preproc_def
      name: DEF_SMTP_DATA1_TMOUT
      pos:
        line_end: 1117
        line_start: 1116
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"180s"'
    - item_type: preproc_def
      name: VAR_SMTP_DATA2_TMOUT
      pos:
        line_end: 1120
        line_start: 1119
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_data_done_timeout"'
    - item_type: preproc_def
      name: DEF_SMTP_DATA2_TMOUT
      pos:
        line_end: 1121
        line_start: 1120
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"600s"'
    - item_type: preproc_def
      name: VAR_SMTP_RSET_TMOUT
      pos:
        line_end: 1124
        line_start: 1123
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_rset_timeout"'
    - item_type: preproc_def
      name: DEF_SMTP_RSET_TMOUT
      pos:
        line_end: 1125
        line_start: 1124
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"20s"'
    - item_type: preproc_def
      name: VAR_SMTP_QUIT_TMOUT
      pos:
        line_end: 1128
        line_start: 1127
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_quit_timeout"'
    - item_type: preproc_def
      name: DEF_SMTP_QUIT_TMOUT
      pos:
        line_end: 1129
        line_start: 1128
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"300s"'
    - item_type: preproc_def
      name: VAR_SMTP_QUOTE_821_ENV
      pos:
        line_end: 1132
        line_start: 1131
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_quote_rfc821_envelope"'
    - item_type: preproc_def
      name: DEF_SMTP_QUOTE_821_ENV
      pos:
        line_end: 1133
        line_start: 1132
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_LMTP_QUOTE_821_ENV
      pos:
        line_end: 1134
        line_start: 1133
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_quote_rfc821_envelope"'
    - item_type: preproc_def
      name: DEF_LMTP_QUOTE_821_ENV
      pos:
        line_end: 1135
        line_start: 1134
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_SMTP_SKIP_5XX
      pos:
        line_end: 1138
        line_start: 1137
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_skip_5xx_greeting"'
    - item_type: preproc_def
      name: DEF_SMTP_SKIP_5XX
      pos:
        line_end: 1139
        line_start: 1138
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_LMTP_SKIP_5XX
      pos:
        line_end: 1140
        line_start: 1139
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_skip_5xx_greeting"'
    - item_type: preproc_def
      name: DEF_LMTP_SKIP_5XX
      pos:
        line_end: 1141
        line_start: 1140
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_IGN_MX_LOOKUP_ERR
      pos:
        line_end: 1144
        line_start: 1143
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"ignore_mx_lookup_error"'
    - item_type: preproc_def
      name: DEF_IGN_MX_LOOKUP_ERR
      pos:
        line_end: 1145
        line_start: 1144
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTP_SKIP_QUIT_RESP
      pos:
        line_end: 1148
        line_start: 1147
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_skip_quit_response"'
    - item_type: preproc_def
      name: DEF_SMTP_SKIP_QUIT_RESP
      pos:
        line_end: 1149
        line_start: 1148
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_SMTP_ALWAYS_EHLO
      pos:
        line_end: 1152
        line_start: 1151
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_always_send_ehlo"'
    - item_type: preproc_def
      name: DEF_SMTP_ALWAYS_EHLO
      pos:
        line_end: 1154
        line_start: 1153
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DEF_SMTP_ALWAYS_EHLO
      pos:
        line_end: 1156
        line_start: 1155
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_SMTP_NEVER_EHLO
      pos:
        line_end: 1160
        line_start: 1159
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_never_send_ehlo"'
    - item_type: preproc_def
      name: DEF_SMTP_NEVER_EHLO
      pos:
        line_end: 1161
        line_start: 1160
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTP_RESP_FILTER
      pos:
        line_end: 1164
        line_start: 1163
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_reply_filter"'
    - item_type: preproc_def
      name: DEF_SMTP_RESP_FILTER
      pos:
        line_end: 1165
        line_start: 1164
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_RESP_FILTER
      pos:
        line_end: 1166
        line_start: 1165
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_reply_filter"'
    - item_type: preproc_def
      name: DEF_LMTP_RESP_FILTER
      pos:
        line_end: 1167
        line_start: 1166
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_BIND_ADDR
      pos:
        line_end: 1170
        line_start: 1169
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_bind_address"'
    - item_type: preproc_def
      name: DEF_SMTP_BIND_ADDR
      pos:
        line_end: 1171
        line_start: 1170
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_BIND_ADDR
      pos:
        line_end: 1172
        line_start: 1171
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_bind_address"'
    - item_type: preproc_def
      name: DEF_LMTP_BIND_ADDR
      pos:
        line_end: 1173
        line_start: 1172
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_BIND_ADDR6
      pos:
        line_end: 1176
        line_start: 1175
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_bind_address6"'
    - item_type: preproc_def
      name: DEF_SMTP_BIND_ADDR6
      pos:
        line_end: 1177
        line_start: 1176
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_BIND_ADDR6
      pos:
        line_end: 1178
        line_start: 1177
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_bind_address6"'
    - item_type: preproc_def
      name: DEF_LMTP_BIND_ADDR6
      pos:
        line_end: 1179
        line_start: 1178
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_BIND_ADDR_ENFORCE
      pos:
        line_end: 1182
        line_start: 1181
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_bind_address_enforce"'
    - item_type: preproc_def
      name: DEF_SMTP_BIND_ADDR_ENFORCE
      pos:
        line_end: 1183
        line_start: 1182
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_LMTP_BIND_ADDR_ENFORCE
      pos:
        line_end: 1184
        line_start: 1183
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_bind_address_enforce"'
    - item_type: preproc_def
      name: DEF_LMTP_BIND_ADDR_ENFORCE
      pos:
        line_end: 1185
        line_start: 1184
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTP_HELO_NAME
      pos:
        line_end: 1188
        line_start: 1187
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_helo_name"'
    - item_type: preproc_def
      name: DEF_SMTP_HELO_NAME
      pos:
        line_end: 1189
        line_start: 1188
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$myhostname"'
    - item_type: preproc_def
      name: VAR_LMTP_HELO_NAME
      pos:
        line_end: 1190
        line_start: 1189
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_lhlo_name"'
    - item_type: preproc_def
      name: DEF_LMTP_HELO_NAME
      pos:
        line_end: 1191
        line_start: 1190
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$myhostname"'
    - item_type: preproc_def
      name: VAR_SMTP_RAND_ADDR
      pos:
        line_end: 1194
        line_start: 1193
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_randomize_addresses"'
    - item_type: preproc_def
      name: DEF_SMTP_RAND_ADDR
      pos:
        line_end: 1195
        line_start: 1194
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_LMTP_RAND_ADDR
      pos:
        line_end: 1196
        line_start: 1195
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_randomize_addresses"'
    - item_type: preproc_def
      name: DEF_LMTP_RAND_ADDR
      pos:
        line_end: 1197
        line_start: 1196
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_SMTP_LINE_LIMIT
      pos:
        line_end: 1200
        line_start: 1199
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_line_length_limit"'
    - item_type: preproc_def
      name: DEF_SMTP_LINE_LIMIT
      pos:
        line_end: 1201
        line_start: 1200
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '998'
    - item_type: preproc_def
      name: VAR_LMTP_LINE_LIMIT
      pos:
        line_end: 1202
        line_start: 1201
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_line_length_limit"'
    - item_type: preproc_def
      name: DEF_LMTP_LINE_LIMIT
      pos:
        line_end: 1203
        line_start: 1202
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '998'
    - item_type: preproc_def
      name: VAR_SMTP_PIX_THRESH
      pos:
        line_end: 1206
        line_start: 1205
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_pix_workaround_threshold_time"'
    - item_type: preproc_def
      name: DEF_SMTP_PIX_THRESH
      pos:
        line_end: 1207
        line_start: 1206
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"500s"'
    - item_type: preproc_def
      name: VAR_LMTP_PIX_THRESH
      pos:
        line_end: 1208
        line_start: 1207
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_pix_workaround_threshold_time"'
    - item_type: preproc_def
      name: DEF_LMTP_PIX_THRESH
      pos:
        line_end: 1209
        line_start: 1208
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"500s"'
    - item_type: preproc_def
      name: VAR_SMTP_PIX_DELAY
      pos:
        line_end: 1212
        line_start: 1211
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_pix_workaround_delay_time"'
    - item_type: preproc_def
      name: DEF_SMTP_PIX_DELAY
      pos:
        line_end: 1213
        line_start: 1212
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"10s"'
    - item_type: preproc_def
      name: VAR_LMTP_PIX_DELAY
      pos:
        line_end: 1214
        line_start: 1213
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_pix_workaround_delay_time"'
    - item_type: preproc_def
      name: DEF_LMTP_PIX_DELAY
      pos:
        line_end: 1215
        line_start: 1214
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"10s"'
    - item_type: preproc_def
      name: PIX_BUG_DISABLE_ESMTP
      pos:
        line_end: 1221
        line_start: 1220
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"disable_esmtp"'
    - item_type: preproc_def
      name: PIX_BUG_DELAY_DOTCRLF
      pos:
        line_end: 1222
        line_start: 1221
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"delay_dotcrlf"'
    - item_type: preproc_def
      name: VAR_SMTP_PIX_BUG_WORDS
      pos:
        line_end: 1223
        line_start: 1222
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_pix_workarounds"'
    - item_type: preproc_def
      name: DEF_SMTP_PIX_BUG_WORDS
      pos:
        line_end: 1225
        line_start: 1223
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "PIX_BUG_DISABLE_ESMTP \",\" \\\n\t\t\t\t\tPIX_BUG_DELAY_DOTCRLF"
    - item_type: preproc_def
      name: VAR_LMTP_PIX_BUG_WORDS
      pos:
        line_end: 1226
        line_start: 1225
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_pix_workarounds"'
    - item_type: preproc_def
      name: DEF_LMTP_PIX_BUG_WORDS
      pos:
        line_end: 1227
        line_start: 1226
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: DEF_SMTP_PIX_BUG_WORDS
    - item_type: preproc_def
      name: VAR_SMTP_PIX_BUG_MAPS
      pos:
        line_end: 1230
        line_start: 1229
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_pix_workaround_maps"'
    - item_type: preproc_def
      name: DEF_SMTP_PIX_BUG_MAPS
      pos:
        line_end: 1231
        line_start: 1230
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_PIX_BUG_MAPS
      pos:
        line_end: 1232
        line_start: 1231
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_pix_workaround_maps"'
    - item_type: preproc_def
      name: DEF_LMTP_PIX_BUG_MAPS
      pos:
        line_end: 1233
        line_start: 1232
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_DEFER_MXADDR
      pos:
        line_end: 1236
        line_start: 1235
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_defer_if_no_mx_address_found"'
    - item_type: preproc_def
      name: DEF_SMTP_DEFER_MXADDR
      pos:
        line_end: 1237
        line_start: 1236
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_LMTP_DEFER_MXADDR
      pos:
        line_end: 1238
        line_start: 1237
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_defer_if_no_mx_address_found"'
    - item_type: preproc_def
      name: DEF_LMTP_DEFER_MXADDR
      pos:
        line_end: 1239
        line_start: 1238
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTP_SEND_XFORWARD
      pos:
        line_end: 1242
        line_start: 1241
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_send_xforward_command"'
    - item_type: preproc_def
      name: DEF_SMTP_SEND_XFORWARD
      pos:
        line_end: 1243
        line_start: 1242
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTP_GENERIC_MAPS
      pos:
        line_end: 1246
        line_start: 1245
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_generic_maps"'
    - item_type: preproc_def
      name: DEF_SMTP_GENERIC_MAPS
      pos:
        line_end: 1247
        line_start: 1246
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_GENERIC_MAPS
      pos:
        line_end: 1248
        line_start: 1247
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_generic_maps"'
    - item_type: preproc_def
      name: DEF_LMTP_GENERIC_MAPS
      pos:
        line_end: 1249
        line_start: 1248
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_BANNER
      pos:
        line_end: 1257
        line_start: 1256
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_banner"'
    - item_type: preproc_def
      name: DEF_SMTPD_BANNER
      pos:
        line_end: 1258
        line_start: 1257
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$myhostname ESMTP $mail_name"'
    - item_type: preproc_def
      name: VAR_SMTPD_TMOUT
      pos:
        line_end: 1261
        line_start: 1260
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_timeout"'
    - item_type: preproc_def
      name: DEF_SMTPD_TMOUT
      pos:
        line_end: 1262
        line_start: 1261
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"${stress?{10}:{300}}s"'
    - item_type: preproc_def
      name: VAR_SMTPD_STARTTLS_TMOUT
      pos:
        line_end: 1265
        line_start: 1264
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_starttls_timeout"'
    - item_type: preproc_def
      name: DEF_SMTPD_STARTTLS_TMOUT
      pos:
        line_end: 1266
        line_start: 1265
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"${stress?{10}:{300}}s"'
    - item_type: preproc_def
      name: VAR_SMTPD_RCPT_LIMIT
      pos:
        line_end: 1269
        line_start: 1268
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_recipient_limit"'
    - item_type: preproc_def
      name: DEF_SMTPD_RCPT_LIMIT
      pos:
        line_end: 1270
        line_start: 1269
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1000'
    - item_type: preproc_def
      name: VAR_SMTPD_SOFT_ERLIM
      pos:
        line_end: 1273
        line_start: 1272
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_soft_error_limit"'
    - item_type: preproc_def
      name: DEF_SMTPD_SOFT_ERLIM
      pos:
        line_end: 1274
        line_start: 1273
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"10"'
    - item_type: preproc_def
      name: VAR_SMTPD_HARD_ERLIM
      pos:
        line_end: 1277
        line_start: 1276
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_hard_error_limit"'
    - item_type: preproc_def
      name: DEF_SMTPD_HARD_ERLIM
      pos:
        line_end: 1278
        line_start: 1277
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"${stress?{1}:{20}}"'
    - item_type: preproc_def
      name: VAR_SMTPD_ERR_SLEEP
      pos:
        line_end: 1281
        line_start: 1280
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_error_sleep_time"'
    - item_type: preproc_def
      name: DEF_SMTPD_ERR_SLEEP
      pos:
        line_end: 1282
        line_start: 1281
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"1s"'
    - item_type: preproc_def
      name: VAR_SMTPD_JUNK_CMD
      pos:
        line_end: 1285
        line_start: 1284
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_junk_command_limit"'
    - item_type: preproc_def
      name: DEF_SMTPD_JUNK_CMD
      pos:
        line_end: 1286
        line_start: 1285
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"${stress?{1}:{100}}"'
    - item_type: preproc_def
      name: VAR_SMTPD_RCPT_OVERLIM
      pos:
        line_end: 1289
        line_start: 1288
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_recipient_overshoot_limit"'
    - item_type: preproc_def
      name: DEF_SMTPD_RCPT_OVERLIM
      pos:
        line_end: 1290
        line_start: 1289
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1000'
    - item_type: preproc_def
      name: VAR_SMTPD_HIST_THRSH
      pos:
        line_end: 1293
        line_start: 1292
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_history_flush_threshold"'
    - item_type: preproc_def
      name: DEF_SMTPD_HIST_THRSH
      pos:
        line_end: 1294
        line_start: 1293
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '100'
    - item_type: preproc_def
      name: VAR_SMTPD_NOOP_CMDS
      pos:
        line_end: 1297
        line_start: 1296
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_noop_commands"'
    - item_type: preproc_def
      name: DEF_SMTPD_NOOP_CMDS
      pos:
        line_end: 1298
        line_start: 1297
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_FORBID_CMDS
      pos:
        line_end: 1301
        line_start: 1300
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_forbidden_commands"'
    - item_type: preproc_def
      name: DEF_SMTPD_FORBID_CMDS
      pos:
        line_end: 1302
        line_start: 1301
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"CONNECT GET POST regexp:{{/^[^A-Z]/ Bogus}}"'
    - item_type: preproc_def
      name: VAR_SMTPD_CMD_FILTER
      pos:
        line_end: 1305
        line_start: 1304
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_command_filter"'
    - item_type: preproc_def
      name: DEF_SMTPD_CMD_FILTER
      pos:
        line_end: 1306
        line_start: 1305
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_WRAPPER
      pos:
        line_end: 1309
        line_start: 1308
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_wrappermode"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_WRAPPER
      pos:
        line_end: 1310
        line_start: 1309
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_LEVEL
      pos:
        line_end: 1313
        line_start: 1312
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_security_level"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_LEVEL
      pos:
        line_end: 1314
        line_start: 1313
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_USE_TLS
      pos:
        line_end: 1317
        line_start: 1316
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_use_tls"'
    - item_type: preproc_def
      name: DEF_SMTPD_USE_TLS
      pos:
        line_end: 1318
        line_start: 1317
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTPD_ENFORCE_TLS
      pos:
        line_end: 1321
        line_start: 1320
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_enforce_tls"'
    - item_type: preproc_def
      name: DEF_SMTPD_ENFORCE_TLS
      pos:
        line_end: 1322
        line_start: 1321
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_AUTH_ONLY
      pos:
        line_end: 1325
        line_start: 1324
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_auth_only"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_AUTH_ONLY
      pos:
        line_end: 1326
        line_start: 1325
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_ACERT
      pos:
        line_end: 1329
        line_start: 1328
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_ask_ccert"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_ACERT
      pos:
        line_end: 1330
        line_start: 1329
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_RCERT
      pos:
        line_end: 1333
        line_start: 1332
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_req_ccert"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_RCERT
      pos:
        line_end: 1334
        line_start: 1333
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_ENABLE_RPK
      pos:
        line_end: 1337
        line_start: 1336
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_enable_rpk"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_ENABLE_RPK
      pos:
        line_end: 1338
        line_start: 1337
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_CCERT_VD
      pos:
        line_end: 1341
        line_start: 1340
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_ccert_verifydepth"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_CCERT_VD
      pos:
        line_end: 1342
        line_start: 1341
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '9'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_CHAIN_FILES
      pos:
        line_end: 1345
        line_start: 1344
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_chain_files"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_CHAIN_FILES
      pos:
        line_end: 1346
        line_start: 1345
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_CERT_FILE
      pos:
        line_end: 1349
        line_start: 1348
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_cert_file"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_CERT_FILE
      pos:
        line_end: 1350
        line_start: 1349
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_KEY_FILE
      pos:
        line_end: 1353
        line_start: 1352
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_key_file"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_KEY_FILE
      pos:
        line_end: 1354
        line_start: 1353
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$smtpd_tls_cert_file"'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_DCERT_FILE
      pos:
        line_end: 1357
        line_start: 1356
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_dcert_file"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_DCERT_FILE
      pos:
        line_end: 1358
        line_start: 1357
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_DKEY_FILE
      pos:
        line_end: 1361
        line_start: 1360
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_dkey_file"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_DKEY_FILE
      pos:
        line_end: 1362
        line_start: 1361
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$smtpd_tls_dcert_file"'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_ECCERT_FILE
      pos:
        line_end: 1365
        line_start: 1364
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_eccert_file"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_ECCERT_FILE
      pos:
        line_end: 1366
        line_start: 1365
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_ECKEY_FILE
      pos:
        line_end: 1369
        line_start: 1368
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_eckey_file"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_ECKEY_FILE
      pos:
        line_end: 1370
        line_start: 1369
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$smtpd_tls_eccert_file"'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_CA_FILE
      pos:
        line_end: 1373
        line_start: 1372
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_CAfile"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_CA_FILE
      pos:
        line_end: 1374
        line_start: 1373
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_CA_PATH
      pos:
        line_end: 1377
        line_start: 1376
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_CApath"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_CA_PATH
      pos:
        line_end: 1378
        line_start: 1377
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_PROTO
      pos:
        line_end: 1381
        line_start: 1380
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_protocols"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_PROTO
      pos:
        line_end: 1382
        line_start: 1381
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '">=TLSv1"'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_MAND_PROTO
      pos:
        line_end: 1385
        line_start: 1384
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_mandatory_protocols"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_MAND_PROTO
      pos:
        line_end: 1386
        line_start: 1385
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '">=TLSv1"'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_CIPH
      pos:
        line_end: 1389
        line_start: 1388
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_ciphers"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_CIPH
      pos:
        line_end: 1390
        line_start: 1389
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"medium"'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_MAND_CIPH
      pos:
        line_end: 1393
        line_start: 1392
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_mandatory_ciphers"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_MAND_CIPH
      pos:
        line_end: 1394
        line_start: 1393
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"medium"'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_EXCL_CIPH
      pos:
        line_end: 1397
        line_start: 1396
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_exclude_ciphers"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_EXCL_CIPH
      pos:
        line_end: 1398
        line_start: 1397
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_MAND_EXCL
      pos:
        line_end: 1401
        line_start: 1400
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_mandatory_exclude_ciphers"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_MAND_EXCL
      pos:
        line_end: 1402
        line_start: 1401
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_FPT_DGST
      pos:
        line_end: 1405
        line_start: 1404
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_fingerprint_digest"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_FPT_DGST
      pos:
        line_end: 1407
        line_start: 1405
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"${{$compatibility_level} <level {3.6} ? \" \\\n                                \"{md5}
        : {sha256}}\""
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_512_FILE
      pos:
        line_end: 1410
        line_start: 1409
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_dh512_param_file"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_512_FILE
      pos:
        line_end: 1411
        line_start: 1410
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_1024_FILE
      pos:
        line_end: 1414
        line_start: 1413
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_dh1024_param_file"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_1024_FILE
      pos:
        line_end: 1415
        line_start: 1414
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_EECDH
      pos:
        line_end: 1418
        line_start: 1417
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_eecdh_grade"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_EECDH
      pos:
        line_end: 1419
        line_start: 1418
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"auto"'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_LOGLEVEL
      pos:
        line_end: 1422
        line_start: 1421
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_loglevel"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_LOGLEVEL
      pos:
        line_end: 1423
        line_start: 1422
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"0"'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_RECHEAD
      pos:
        line_end: 1426
        line_start: 1425
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_received_header"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_RECHEAD
      pos:
        line_end: 1427
        line_start: 1426
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_SCACHE_DB
      pos:
        line_end: 1430
        line_start: 1429
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_session_cache_database"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_SCACHE_DB
      pos:
        line_end: 1431
        line_start: 1430
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: MAX_SMTPD_TLS_SCACHETIME
      pos:
        line_end: 1434
        line_start: 1433
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '8640000'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_SCACHTIME
      pos:
        line_end: 1435
        line_start: 1434
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_session_cache_timeout"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_SCACHTIME
      pos:
        line_end: 1436
        line_start: 1435
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"3600s"'
    - item_type: preproc_def
      name: VAR_SMTPD_TLS_SET_SESSID
      pos:
        line_end: 1439
        line_start: 1438
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_tls_always_issue_session_ids"'
    - item_type: preproc_def
      name: DEF_SMTPD_TLS_SET_SESSID
      pos:
        line_end: 1440
        line_start: 1439
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_SMTPD_DELAY_OPEN
      pos:
        line_end: 1443
        line_start: 1442
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_delay_open_until_valid_rcpt"'
    - item_type: preproc_def
      name: DEF_SMTPD_DELAY_OPEN
      pos:
        line_end: 1444
        line_start: 1443
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_PER_SITE
      pos:
        line_end: 1447
        line_start: 1446
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_per_site"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_PER_SITE
      pos:
        line_end: 1448
        line_start: 1447
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_PER_SITE
      pos:
        line_end: 1449
        line_start: 1448
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_per_site"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_PER_SITE
      pos:
        line_end: 1450
        line_start: 1449
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_USE_TLS
      pos:
        line_end: 1453
        line_start: 1452
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_use_tls"'
    - item_type: preproc_def
      name: DEF_SMTP_USE_TLS
      pos:
        line_end: 1454
        line_start: 1453
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_LMTP_USE_TLS
      pos:
        line_end: 1455
        line_start: 1454
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_use_tls"'
    - item_type: preproc_def
      name: DEF_LMTP_USE_TLS
      pos:
        line_end: 1456
        line_start: 1455
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTP_ENFORCE_TLS
      pos:
        line_end: 1459
        line_start: 1458
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_enforce_tls"'
    - item_type: preproc_def
      name: DEF_SMTP_ENFORCE_TLS
      pos:
        line_end: 1460
        line_start: 1459
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_LMTP_ENFORCE_TLS
      pos:
        line_end: 1461
        line_start: 1460
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_enforce_tls"'
    - item_type: preproc_def
      name: DEF_LMTP_ENFORCE_TLS
      pos:
        line_end: 1462
        line_start: 1461
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_ENFORCE_PN
      pos:
        line_end: 1465
        line_start: 1464
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_enforce_peername"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_ENFORCE_PN
      pos:
        line_end: 1466
        line_start: 1465
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_ENFORCE_PN
      pos:
        line_end: 1467
        line_start: 1466
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_enforce_peername"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_ENFORCE_PN
      pos:
        line_end: 1468
        line_start: 1467
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_WRAPPER
      pos:
        line_end: 1471
        line_start: 1470
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_wrappermode"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_WRAPPER
      pos:
        line_end: 1472
        line_start: 1471
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_WRAPPER
      pos:
        line_end: 1473
        line_start: 1472
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_wrappermode"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_WRAPPER
      pos:
        line_end: 1474
        line_start: 1473
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_LEVEL
      pos:
        line_end: 1477
        line_start: 1476
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_security_level"'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_LEVEL
      pos:
        line_end: 1478
        line_start: 1477
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_security_level"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_LEVEL
      pos:
        line_end: 1481
        line_start: 1479
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"${{$compatibility_level} <level {3.11} ?\" \\\n\t\t\t\t\"
        {} : {may}}\""
    - item_type: preproc_def
      name: DEF_LMTP_TLS_LEVEL
      pos:
        line_end: 1483
        line_start: 1481
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"${{$compatibility_level} <level {3.11} ?\" \\\n\t\t\t\t\"
        {} : {may}}\""
    - item_type: preproc_def
      name: DEF_SMTP_TLS_LEVEL
      pos:
        line_end: 1485
        line_start: 1484
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_LEVEL
      pos:
        line_end: 1486
        line_start: 1485
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_SCERT_VD
      pos:
        line_end: 1490
        line_start: 1489
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_scert_verifydepth"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_SCERT_VD
      pos:
        line_end: 1491
        line_start: 1490
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '9'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_SCERT_VD
      pos:
        line_end: 1492
        line_start: 1491
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_scert_verifydepth"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_SCERT_VD
      pos:
        line_end: 1493
        line_start: 1492
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '9'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_CHAIN_FILES
      pos:
        line_end: 1496
        line_start: 1495
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_chain_files"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_CHAIN_FILES
      pos:
        line_end: 1497
        line_start: 1496
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_CHAIN_FILES
      pos:
        line_end: 1498
        line_start: 1497
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_chain_files"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_CHAIN_FILES
      pos:
        line_end: 1499
        line_start: 1498
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_CERT_FILE
      pos:
        line_end: 1502
        line_start: 1501
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_cert_file"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_CERT_FILE
      pos:
        line_end: 1503
        line_start: 1502
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_CERT_FILE
      pos:
        line_end: 1504
        line_start: 1503
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_cert_file"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_CERT_FILE
      pos:
        line_end: 1505
        line_start: 1504
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_KEY_FILE
      pos:
        line_end: 1508
        line_start: 1507
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_key_file"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_KEY_FILE
      pos:
        line_end: 1509
        line_start: 1508
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$smtp_tls_cert_file"'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_KEY_FILE
      pos:
        line_end: 1510
        line_start: 1509
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_key_file"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_KEY_FILE
      pos:
        line_end: 1511
        line_start: 1510
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$lmtp_tls_cert_file"'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_DCERT_FILE
      pos:
        line_end: 1514
        line_start: 1513
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_dcert_file"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_DCERT_FILE
      pos:
        line_end: 1515
        line_start: 1514
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_DCERT_FILE
      pos:
        line_end: 1516
        line_start: 1515
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_dcert_file"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_DCERT_FILE
      pos:
        line_end: 1517
        line_start: 1516
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_DKEY_FILE
      pos:
        line_end: 1520
        line_start: 1519
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_dkey_file"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_DKEY_FILE
      pos:
        line_end: 1521
        line_start: 1520
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$smtp_tls_dcert_file"'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_DKEY_FILE
      pos:
        line_end: 1522
        line_start: 1521
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_dkey_file"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_DKEY_FILE
      pos:
        line_end: 1523
        line_start: 1522
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$lmtp_tls_dcert_file"'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_ECCERT_FILE
      pos:
        line_end: 1526
        line_start: 1525
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_eccert_file"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_ECCERT_FILE
      pos:
        line_end: 1527
        line_start: 1526
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_ECCERT_FILE
      pos:
        line_end: 1528
        line_start: 1527
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_eccert_file"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_ECCERT_FILE
      pos:
        line_end: 1529
        line_start: 1528
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_ECKEY_FILE
      pos:
        line_end: 1532
        line_start: 1531
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_eckey_file"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_ECKEY_FILE
      pos:
        line_end: 1533
        line_start: 1532
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$smtp_tls_eccert_file"'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_ECKEY_FILE
      pos:
        line_end: 1534
        line_start: 1533
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_eckey_file"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_ECKEY_FILE
      pos:
        line_end: 1535
        line_start: 1534
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$lmtp_tls_eccert_file"'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_CA_FILE
      pos:
        line_end: 1538
        line_start: 1537
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_CAfile"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_CA_FILE
      pos:
        line_end: 1539
        line_start: 1538
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_CA_FILE
      pos:
        line_end: 1540
        line_start: 1539
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_CAfile"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_CA_FILE
      pos:
        line_end: 1541
        line_start: 1540
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_CA_PATH
      pos:
        line_end: 1544
        line_start: 1543
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_CApath"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_CA_PATH
      pos:
        line_end: 1545
        line_start: 1544
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_CA_PATH
      pos:
        line_end: 1546
        line_start: 1545
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_CApath"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_CA_PATH
      pos:
        line_end: 1547
        line_start: 1546
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_CIPH
      pos:
        line_end: 1550
        line_start: 1549
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_ciphers"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_CIPH
      pos:
        line_end: 1551
        line_start: 1550
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"medium"'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_CIPH
      pos:
        line_end: 1552
        line_start: 1551
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_ciphers"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_CIPH
      pos:
        line_end: 1553
        line_start: 1552
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"medium"'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_MAND_CIPH
      pos:
        line_end: 1556
        line_start: 1555
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_mandatory_ciphers"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_MAND_CIPH
      pos:
        line_end: 1557
        line_start: 1556
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"medium"'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_MAND_CIPH
      pos:
        line_end: 1558
        line_start: 1557
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_mandatory_ciphers"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_MAND_CIPH
      pos:
        line_end: 1559
        line_start: 1558
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"medium"'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_EXCL_CIPH
      pos:
        line_end: 1562
        line_start: 1561
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_exclude_ciphers"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_EXCL_CIPH
      pos:
        line_end: 1563
        line_start: 1562
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_EXCL_CIPH
      pos:
        line_end: 1564
        line_start: 1563
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_exclude_ciphers"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_EXCL_CIPH
      pos:
        line_end: 1565
        line_start: 1564
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_MAND_EXCL
      pos:
        line_end: 1568
        line_start: 1567
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_mandatory_exclude_ciphers"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_MAND_EXCL
      pos:
        line_end: 1569
        line_start: 1568
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_MAND_EXCL
      pos:
        line_end: 1570
        line_start: 1569
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_mandatory_exclude_ciphers"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_MAND_EXCL
      pos:
        line_end: 1571
        line_start: 1570
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_FPT_DGST
      pos:
        line_end: 1574
        line_start: 1573
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_fingerprint_digest"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_FPT_DGST
      pos:
        line_end: 1576
        line_start: 1574
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"${{$compatibility_level} <level {3.6} ? \" \\\n                                \"{md5}
        : {sha256}}\""
    - item_type: preproc_def
      name: VAR_LMTP_TLS_FPT_DGST
      pos:
        line_end: 1577
        line_start: 1576
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_fingerprint_digest"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_FPT_DGST
      pos:
        line_end: 1579
        line_start: 1577
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"${{$compatibility_level} <level {3.6} ? \" \\\n                                \"{md5}
        : {sha256}}\""
    - item_type: preproc_def
      name: VAR_SMTP_TLS_ENABLE_RPK
      pos:
        line_end: 1582
        line_start: 1581
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_enable_rpk"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_ENABLE_RPK
      pos:
        line_end: 1583
        line_start: 1582
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_ENABLE_RPK
      pos:
        line_end: 1584
        line_start: 1583
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_enable_rpk"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_ENABLE_RPK
      pos:
        line_end: 1585
        line_start: 1584
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_TAFILE
      pos:
        line_end: 1588
        line_start: 1587
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_trust_anchor_file"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_TAFILE
      pos:
        line_end: 1589
        line_start: 1588
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_TAFILE
      pos:
        line_end: 1590
        line_start: 1589
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_trust_anchor_file"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_TAFILE
      pos:
        line_end: 1591
        line_start: 1590
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_LOGLEVEL
      pos:
        line_end: 1594
        line_start: 1593
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_loglevel"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_LOGLEVEL
      pos:
        line_end: 1595
        line_start: 1594
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"0"'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_LOGLEVEL
      pos:
        line_end: 1596
        line_start: 1595
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_loglevel"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_LOGLEVEL
      pos:
        line_end: 1597
        line_start: 1596
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"0"'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_NOTEOFFER
      pos:
        line_end: 1601
        line_start: 1600
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_note_starttls_offer"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_NOTEOFFER
      pos:
        line_end: 1602
        line_start: 1601
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_NOTEOFFER
      pos:
        line_end: 1603
        line_start: 1602
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_note_starttls_offer"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_NOTEOFFER
      pos:
        line_end: 1604
        line_start: 1603
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_SCACHE_DB
      pos:
        line_end: 1607
        line_start: 1606
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_session_cache_database"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_SCACHE_DB
      pos:
        line_end: 1608
        line_start: 1607
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_SCACHE_DB
      pos:
        line_end: 1609
        line_start: 1608
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_session_cache_database"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_SCACHE_DB
      pos:
        line_end: 1610
        line_start: 1609
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: MAX_SMTP_TLS_SCACHETIME
      pos:
        line_end: 1614
        line_start: 1613
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '8640000'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_SCACHTIME
      pos:
        line_end: 1615
        line_start: 1614
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_session_cache_timeout"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_SCACHTIME
      pos:
        line_end: 1616
        line_start: 1615
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"3600s"'
    - item_type: preproc_def
      name: MAX_LMTP_TLS_SCACHETIME
      pos:
        line_end: 1617
        line_start: 1616
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '8640000'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_SCACHTIME
      pos:
        line_end: 1618
        line_start: 1617
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_session_cache_timeout"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_SCACHTIME
      pos:
        line_end: 1619
        line_start: 1618
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"3600s"'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_POLICY
      pos:
        line_end: 1623
        line_start: 1622
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_policy_maps"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_POLICY
      pos:
        line_end: 1624
        line_start: 1623
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_POLICY
      pos:
        line_end: 1625
        line_start: 1624
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_policy_maps"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_POLICY
      pos:
        line_end: 1626
        line_start: 1625
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_PROTO
      pos:
        line_end: 1629
        line_start: 1628
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_protocols"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_PROTO
      pos:
        line_end: 1630
        line_start: 1629
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '">=TLSv1"'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_PROTO
      pos:
        line_end: 1631
        line_start: 1630
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_protocols"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_PROTO
      pos:
        line_end: 1632
        line_start: 1631
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '">=TLSv1"'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_MAND_PROTO
      pos:
        line_end: 1635
        line_start: 1634
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_mandatory_protocols"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_MAND_PROTO
      pos:
        line_end: 1636
        line_start: 1635
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '">=TLSv1"'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_MAND_PROTO
      pos:
        line_end: 1637
        line_start: 1636
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_mandatory_protocols"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_MAND_PROTO
      pos:
        line_end: 1638
        line_start: 1637
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '">=TLSv1"'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_VFY_CMATCH
      pos:
        line_end: 1641
        line_start: 1640
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_verify_cert_match"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_VFY_CMATCH
      pos:
        line_end: 1642
        line_start: 1641
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"hostname"'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_VFY_CMATCH
      pos:
        line_end: 1643
        line_start: 1642
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_verify_cert_match"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_VFY_CMATCH
      pos:
        line_end: 1644
        line_start: 1643
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"hostname"'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_SEC_CMATCH
      pos:
        line_end: 1650
        line_start: 1649
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_secure_cert_match"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_SEC_CMATCH
      pos:
        line_end: 1651
        line_start: 1650
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"nexthop, dot-nexthop"'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_SEC_CMATCH
      pos:
        line_end: 1652
        line_start: 1651
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_secure_cert_match"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_SEC_CMATCH
      pos:
        line_end: 1653
        line_start: 1652
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"nexthop"'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_FPT_CMATCH
      pos:
        line_end: 1657
        line_start: 1656
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_fingerprint_cert_match"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_FPT_CMATCH
      pos:
        line_end: 1658
        line_start: 1657
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_FPT_CMATCH
      pos:
        line_end: 1659
        line_start: 1658
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_fingerprint_cert_match"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_FPT_CMATCH
      pos:
        line_end: 1660
        line_start: 1659
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_SNI
      pos:
        line_end: 1663
        line_start: 1662
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_servername"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_SNI
      pos:
        line_end: 1664
        line_start: 1663
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_SNI
      pos:
        line_end: 1665
        line_start: 1664
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_servername"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_SNI
      pos:
        line_end: 1666
        line_start: 1665
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_BLK_EARLY_MAIL_REPLY
      pos:
        line_end: 1669
        line_start: 1668
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_block_early_mail_reply"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_BLK_EARLY_MAIL_REPLY
      pos:
        line_end: 1670
        line_start: 1669
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_BLK_EARLY_MAIL_REPLY
      pos:
        line_end: 1671
        line_start: 1670
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_block_early_mail_reply"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_BLK_EARLY_MAIL_REPLY
      pos:
        line_end: 1672
        line_start: 1671
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_FORCE_TLSA
      pos:
        line_end: 1675
        line_start: 1674
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_force_insecure_host_tlsa_lookup"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_FORCE_TLSA
      pos:
        line_end: 1676
        line_start: 1675
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_FORCE_TLSA
      pos:
        line_end: 1677
        line_start: 1676
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_force_insecure_host_tlsa_lookup"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_FORCE_TLSA
      pos:
        line_end: 1678
        line_start: 1677
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_INSECURE_MX_POLICY
      pos:
        line_end: 1682
        line_start: 1681
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_dane_insecure_mx_policy"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_INSECURE_MX_POLICY
      pos:
        line_end: 1683
        line_start: 1682
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"dane"'
    - item_type: preproc_def
      name: VAR_SMTPD_SASL_ENABLE
      pos:
        line_end: 1689
        line_start: 1688
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_sasl_auth_enable"'
    - item_type: preproc_def
      name: DEF_SMTPD_SASL_ENABLE
      pos:
        line_end: 1690
        line_start: 1689
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTPD_SASL_AUTH_HDR
      pos:
        line_end: 1693
        line_start: 1692
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_sasl_authenticated_header"'
    - item_type: preproc_def
      name: DEF_SMTPD_SASL_AUTH_HDR
      pos:
        line_end: 1694
        line_start: 1693
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTPD_SASL_OPTS
      pos:
        line_end: 1697
        line_start: 1696
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_sasl_security_options"'
    - item_type: preproc_def
      name: DEF_SMTPD_SASL_OPTS
      pos:
        line_end: 1698
        line_start: 1697
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"noanonymous"'
    - item_type: preproc_def
      name: VAR_SMTPD_SASL_PATH
      pos:
        line_end: 1701
        line_start: 1700
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_sasl_path"'
    - item_type: preproc_def
      name: DEF_SMTPD_SASL_PATH
      pos:
        line_end: 1702
        line_start: 1701
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd"'
    - item_type: preproc_def
      name: VAR_SMTPD_SASL_SERVICE
      pos:
        line_end: 1705
        line_start: 1704
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_sasl_service"'
    - item_type: preproc_def
      name: DEF_SMTPD_SASL_SERVICE
      pos:
        line_end: 1706
        line_start: 1705
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp"'
    - item_type: preproc_def
      name: VAR_CYRUS_CONF_PATH
      pos:
        line_end: 1709
        line_start: 1708
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"cyrus_sasl_config_path"'
    - item_type: preproc_def
      name: DEF_CYRUS_CONF_PATH
      pos:
        line_end: 1710
        line_start: 1709
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_SASL_TLS_OPTS
      pos:
        line_end: 1713
        line_start: 1712
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_sasl_tls_security_options"'
    - item_type: preproc_def
      name: DEF_SMTPD_SASL_TLS_OPTS
      pos:
        line_end: 1714
        line_start: 1713
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_SASL_OPTS'
    - item_type: preproc_def
      name: VAR_SMTPD_SASL_REALM
      pos:
        line_end: 1717
        line_start: 1716
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_sasl_local_domain"'
    - item_type: preproc_def
      name: DEF_SMTPD_SASL_REALM
      pos:
        line_end: 1718
        line_start: 1717
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_SASL_EXCEPTIONS_NETWORKS
      pos:
        line_end: 1721
        line_start: 1720
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_sasl_exceptions_networks"'
    - item_type: preproc_def
      name: DEF_SMTPD_SASL_EXCEPTIONS_NETWORKS
      pos:
        line_end: 1722
        line_start: 1721
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: DEF_SERVER_SASL_TYPE
      pos:
        line_end: 1726
        line_start: 1725
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"cyrus"'
    - item_type: preproc_def
      name: VAR_SMTPD_SASL_TYPE
      pos:
        line_end: 1729
        line_start: 1728
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_sasl_type"'
    - item_type: preproc_def
      name: DEF_SMTPD_SASL_TYPE
      pos:
        line_end: 1730
        line_start: 1729
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: DEF_SERVER_SASL_TYPE
    - item_type: preproc_def
      name: VAR_SMTPD_SND_AUTH_MAPS
      pos:
        line_end: 1733
        line_start: 1732
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_sender_login_maps"'
    - item_type: preproc_def
      name: DEF_SMTPD_SND_AUTH_MAPS
      pos:
        line_end: 1734
        line_start: 1733
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: REJECT_SENDER_LOGIN_MISMATCH
      pos:
        line_end: 1737
        line_start: 1736
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_sender_login_mismatch"'
    - item_type: preproc_def
      name: REJECT_AUTH_SENDER_LOGIN_MISMATCH
      pos:
        line_end: 1739
        line_start: 1737
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_authenticated_sender_login_mismatch"'
    - item_type: preproc_def
      name: REJECT_KNOWN_SENDER_LOGIN_MISMATCH
      pos:
        line_end: 1741
        line_start: 1739
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_known_sender_login_mismatch"'
    - item_type: preproc_def
      name: REJECT_UNAUTH_SENDER_LOGIN_MISMATCH
      pos:
        line_end: 1743
        line_start: 1741
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_unauthenticated_sender_login_mismatch"'
    - item_type: preproc_def
      name: VAR_SMTPD_SASL_RESP_LIMIT
      pos:
        line_end: 1754
        line_start: 1753
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_sasl_response_limit"'
    - item_type: preproc_def
      name: DEF_SMTPD_SASL_RESP_LIMIT
      pos:
        line_end: 1755
        line_start: 1754
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '12288'
    - item_type: preproc_def
      name: VAR_SMTPD_SASL_MECH_FILTER
      pos:
        line_end: 1763
        line_start: 1762
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_sasl_mechanism_filter"'
    - item_type: preproc_def
      name: DEF_SMTPD_SASL_MECH_FILTER
      pos:
        line_end: 1764
        line_start: 1763
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"!external, static:rest"'
    - item_type: preproc_def
      name: VAR_SMTP_SASL_ENABLE
      pos:
        line_end: 1770
        line_start: 1769
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_sasl_auth_enable"'
    - item_type: preproc_def
      name: DEF_SMTP_SASL_ENABLE
      pos:
        line_end: 1771
        line_start: 1770
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTP_SASL_PASSWD
      pos:
        line_end: 1774
        line_start: 1773
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_sasl_password_maps"'
    - item_type: preproc_def
      name: DEF_SMTP_SASL_PASSWD
      pos:
        line_end: 1775
        line_start: 1774
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_SASL_PASSWD_RES_DELIM
      pos:
        line_end: 1778
        line_start: 1777
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_sasl_password_result_delimiter"'
    - item_type: preproc_def
      name: DEF_SMTP_SASL_PASSWD_RES_DELIM
      pos:
        line_end: 1779
        line_start: 1778
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '":"'
    - item_type: preproc_def
      name: VAR_LMTP_SASL_PASSWD_RES_DELIM
      pos:
        line_end: 1780
        line_start: 1779
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_sasl_password_result_delimiter"'
    - item_type: preproc_def
      name: DEF_LMTP_SASL_PASSWD_RES_DELIM
      pos:
        line_end: 1781
        line_start: 1780
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: DEF_SMTP_SASL_PASSWD_RES_DELIM
    - item_type: preproc_def
      name: VAR_SMTP_SASL_OPTS
      pos:
        line_end: 1784
        line_start: 1783
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_sasl_security_options"'
    - item_type: preproc_def
      name: DEF_SMTP_SASL_OPTS
      pos:
        line_end: 1785
        line_start: 1784
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"noplaintext, noanonymous"'
    - item_type: preproc_def
      name: VAR_SMTP_SASL_PATH
      pos:
        line_end: 1788
        line_start: 1787
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_sasl_path"'
    - item_type: preproc_def
      name: DEF_SMTP_SASL_PATH
      pos:
        line_end: 1789
        line_start: 1788
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_SASL_MECHS
      pos:
        line_end: 1792
        line_start: 1791
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_sasl_mechanism_filter"'
    - item_type: preproc_def
      name: DEF_SMTP_SASL_MECHS
      pos:
        line_end: 1793
        line_start: 1792
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_SASL_MECHS
      pos:
        line_end: 1794
        line_start: 1793
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_sasl_mechanism_filter"'
    - item_type: preproc_def
      name: DEF_LMTP_SASL_MECHS
      pos:
        line_end: 1795
        line_start: 1794
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: DEF_CLIENT_SASL_TYPE
      pos:
        line_end: 1799
        line_start: 1798
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"cyrus"'
    - item_type: preproc_def
      name: VAR_SMTP_SASL_TYPE
      pos:
        line_end: 1802
        line_start: 1801
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_sasl_type"'
    - item_type: preproc_def
      name: DEF_SMTP_SASL_TYPE
      pos:
        line_end: 1803
        line_start: 1802
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: DEF_CLIENT_SASL_TYPE
    - item_type: preproc_def
      name: VAR_LMTP_SASL_TYPE
      pos:
        line_end: 1804
        line_start: 1803
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_sasl_type"'
    - item_type: preproc_def
      name: DEF_LMTP_SASL_TYPE
      pos:
        line_end: 1805
        line_start: 1804
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: DEF_CLIENT_SASL_TYPE
    - item_type: preproc_def
      name: VAR_SMTP_SASL_TLS_OPTS
      pos:
        line_end: 1808
        line_start: 1807
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_sasl_tls_security_options"'
    - item_type: preproc_def
      name: DEF_SMTP_SASL_TLS_OPTS
      pos:
        line_end: 1809
        line_start: 1808
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTP_SASL_OPTS'
    - item_type: preproc_def
      name: VAR_LMTP_SASL_TLS_OPTS
      pos:
        line_end: 1810
        line_start: 1809
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_sasl_tls_security_options"'
    - item_type: preproc_def
      name: DEF_LMTP_SASL_TLS_OPTS
      pos:
        line_end: 1811
        line_start: 1810
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_LMTP_SASL_OPTS'
    - item_type: preproc_def
      name: VAR_SMTP_SASL_TLSV_OPTS
      pos:
        line_end: 1814
        line_start: 1813
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_sasl_tls_verified_security_options"'
    - item_type: preproc_def
      name: DEF_SMTP_SASL_TLSV_OPTS
      pos:
        line_end: 1815
        line_start: 1814
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTP_SASL_TLS_OPTS'
    - item_type: preproc_def
      name: VAR_LMTP_SASL_TLSV_OPTS
      pos:
        line_end: 1816
        line_start: 1815
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_sasl_tls_verified_security_options"'
    - item_type: preproc_def
      name: DEF_LMTP_SASL_TLSV_OPTS
      pos:
        line_end: 1817
        line_start: 1816
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_LMTP_SASL_TLS_OPTS'
    - item_type: preproc_def
      name: VAR_SMTP_DUMMY_MAIL_AUTH
      pos:
        line_end: 1820
        line_start: 1819
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_send_dummy_mail_auth"'
    - item_type: preproc_def
      name: DEF_SMTP_DUMMY_MAIL_AUTH
      pos:
        line_end: 1821
        line_start: 1820
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_LMTP_BALANCE_INET_PROTO
      pos:
        line_end: 1824
        line_start: 1823
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_balance_inet_protocols"'
    - item_type: preproc_def
      name: DEF_LMTP_BALANCE_INET_PROTO
      pos:
        line_end: 1825
        line_start: 1824
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: DEF_SMTP_BALANCE_INET_PROTO
    - item_type: preproc_def
      name: VAR_SMTP_BALANCE_INET_PROTO
      pos:
        line_end: 1826
        line_start: 1825
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_balance_inet_protocols"'
    - item_type: preproc_def
      name: DEF_SMTP_BALANCE_INET_PROTO
      pos:
        line_end: 1827
        line_start: 1826
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_LMTPD_BANNER
      pos:
        line_end: 1835
        line_start: 1834
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtpd_banner"'
    - item_type: preproc_def
      name: DEF_LMTPD_BANNER
      pos:
        line_end: 1836
        line_start: 1835
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$myhostname $mail_name"'
    - item_type: preproc_def
      name: VAR_LMTPD_TMOUT
      pos:
        line_end: 1839
        line_start: 1838
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtpd_timeout"'
    - item_type: preproc_def
      name: DEF_LMTPD_TMOUT
      pos:
        line_end: 1840
        line_start: 1839
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"300s"'
    - item_type: preproc_def
      name: VAR_LMTPD_RCPT_LIMIT
      pos:
        line_end: 1843
        line_start: 1842
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtpd_recipient_limit"'
    - item_type: preproc_def
      name: DEF_LMTPD_RCPT_LIMIT
      pos:
        line_end: 1844
        line_start: 1843
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1000'
    - item_type: preproc_def
      name: VAR_LMTPD_SOFT_ERLIM
      pos:
        line_end: 1847
        line_start: 1846
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtpd_soft_error_limit"'
    - item_type: preproc_def
      name: DEF_LMTPD_SOFT_ERLIM
      pos:
        line_end: 1848
        line_start: 1847
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '10'
    - item_type: preproc_def
      name: VAR_LMTPD_HARD_ERLIM
      pos:
        line_end: 1851
        line_start: 1850
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtpd_hard_error_limit"'
    - item_type: preproc_def
      name: DEF_LMTPD_HARD_ERLIM
      pos:
        line_end: 1852
        line_start: 1851
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '100'
    - item_type: preproc_def
      name: VAR_LMTPD_ERR_SLEEP
      pos:
        line_end: 1855
        line_start: 1854
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtpd_error_sleep_time"'
    - item_type: preproc_def
      name: DEF_LMTPD_ERR_SLEEP
      pos:
        line_end: 1856
        line_start: 1855
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"5s"'
    - item_type: preproc_def
      name: VAR_LMTPD_JUNK_CMD
      pos:
        line_end: 1859
        line_start: 1858
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtpd_junk_command_limit"'
    - item_type: preproc_def
      name: DEF_LMTPD_JUNK_CMD
      pos:
        line_end: 1860
        line_start: 1859
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1000'
    - item_type: preproc_def
      name: VAR_LMTPD_SASL_ENABLE
      pos:
        line_end: 1866
        line_start: 1865
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtpd_sasl_auth_enable"'
    - item_type: preproc_def
      name: DEF_LMTPD_SASL_ENABLE
      pos:
        line_end: 1867
        line_start: 1866
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_LMTPD_SASL_OPTS
      pos:
        line_end: 1870
        line_start: 1869
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtpd_sasl_security_options"'
    - item_type: preproc_def
      name: DEF_LMTPD_SASL_OPTS
      pos:
        line_end: 1871
        line_start: 1870
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"noanonymous"'
    - item_type: preproc_def
      name: VAR_LMTPD_SASL_REALM
      pos:
        line_end: 1874
        line_start: 1873
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtpd_sasl_local_domain"'
    - item_type: preproc_def
      name: DEF_LMTPD_SASL_REALM
      pos:
        line_end: 1875
        line_start: 1874
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$myhostname"'
    - item_type: preproc_def
      name: VAR_LMTP_SASL_ENABLE
      pos:
        line_end: 1881
        line_start: 1880
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_sasl_auth_enable"'
    - item_type: preproc_def
      name: DEF_LMTP_SASL_ENABLE
      pos:
        line_end: 1882
        line_start: 1881
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_LMTP_SASL_PASSWD
      pos:
        line_end: 1885
        line_start: 1884
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_sasl_password_maps"'
    - item_type: preproc_def
      name: DEF_LMTP_SASL_PASSWD
      pos:
        line_end: 1886
        line_start: 1885
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_SASL_OPTS
      pos:
        line_end: 1889
        line_start: 1888
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_sasl_security_options"'
    - item_type: preproc_def
      name: DEF_LMTP_SASL_OPTS
      pos:
        line_end: 1890
        line_start: 1889
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"noplaintext, noanonymous"'
    - item_type: preproc_def
      name: VAR_LMTP_SASL_PATH
      pos:
        line_end: 1893
        line_start: 1892
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_sasl_path"'
    - item_type: preproc_def
      name: DEF_LMTP_SASL_PATH
      pos:
        line_end: 1894
        line_start: 1893
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_DUMMY_MAIL_AUTH
      pos:
        line_end: 1897
        line_start: 1896
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_send_dummy_mail_auth"'
    - item_type: preproc_def
      name: DEF_LMTP_DUMMY_MAIL_AUTH
      pos:
        line_end: 1898
        line_start: 1897
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PERMIT_SASL_AUTH
      pos:
        line_end: 1904
        line_start: 1903
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"permit_sasl_authenticated"'
    - item_type: preproc_def
      name: VAR_CYRUS_SASL_AUTHZID
      pos:
        line_end: 1906
        line_start: 1905
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"send_cyrus_sasl_authzid"'
    - item_type: preproc_def
      name: DEF_CYRUS_SASL_AUTHZID
      pos:
        line_end: 1907
        line_start: 1906
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTP_SASL_AUTH_SOFT_BOUNCE
      pos:
        line_end: 1913
        line_start: 1912
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_sasl_auth_soft_bounce"'
    - item_type: preproc_def
      name: DEF_SMTP_SASL_AUTH_SOFT_BOUNCE
      pos:
        line_end: 1914
        line_start: 1913
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_LMTP_SASL_AUTH_SOFT_BOUNCE
      pos:
        line_end: 1915
        line_start: 1914
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_sasl_auth_soft_bounce"'
    - item_type: preproc_def
      name: DEF_LMTP_SASL_AUTH_SOFT_BOUNCE
      pos:
        line_end: 1916
        line_start: 1915
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_SMTP_SASL_AUTH_CACHE_NAME
      pos:
        line_end: 1919
        line_start: 1918
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_sasl_auth_cache_name"'
    - item_type: preproc_def
      name: DEF_SMTP_SASL_AUTH_CACHE_NAME
      pos:
        line_end: 1920
        line_start: 1919
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_SASL_AUTH_CACHE_NAME
      pos:
        line_end: 1921
        line_start: 1920
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_sasl_auth_cache_name"'
    - item_type: preproc_def
      name: DEF_LMTP_SASL_AUTH_CACHE_NAME
      pos:
        line_end: 1922
        line_start: 1921
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_SASL_AUTH_CACHE_TIME
      pos:
        line_end: 1925
        line_start: 1924
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_sasl_auth_cache_time"'
    - item_type: preproc_def
      name: DEF_SMTP_SASL_AUTH_CACHE_TIME
      pos:
        line_end: 1926
        line_start: 1925
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"90d"'
    - item_type: preproc_def
      name: VAR_LMTP_SASL_AUTH_CACHE_TIME
      pos:
        line_end: 1927
        line_start: 1926
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_sasl_auth_cache_time"'
    - item_type: preproc_def
      name: DEF_LMTP_SASL_AUTH_CACHE_TIME
      pos:
        line_end: 1928
        line_start: 1927
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"90d"'
    - item_type: preproc_def
      name: VAR_SMTP_TCP_PORT
      pos:
        line_end: 1931
        line_start: 1930
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tcp_port"'
    - item_type: preproc_def
      name: DEF_SMTP_TCP_PORT
      pos:
        line_end: 1932
        line_start: 1931
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp"'
    - item_type: preproc_def
      name: VAR_LMTP_TCP_PORT
      pos:
        line_end: 1941
        line_start: 1940
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tcp_port"'
    - item_type: preproc_def
      name: DEF_LMTP_TCP_PORT
      pos:
        line_end: 1942
        line_start: 1941
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"24"'
    - item_type: preproc_def
      name: VAR_LMTP_ASSUME_FINAL
      pos:
        line_end: 1945
        line_start: 1944
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_assume_final"'
    - item_type: preproc_def
      name: DEF_LMTP_ASSUME_FINAL
      pos:
        line_end: 1946
        line_start: 1945
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_LMTP_CACHE_CONN
      pos:
        line_end: 1949
        line_start: 1948
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_cache_connection"'
    - item_type: preproc_def
      name: DEF_LMTP_CACHE_CONN
      pos:
        line_end: 1950
        line_start: 1949
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_LMTP_SKIP_QUIT_RESP
      pos:
        line_end: 1953
        line_start: 1952
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_skip_quit_response"'
    - item_type: preproc_def
      name: DEF_LMTP_SKIP_QUIT_RESP
      pos:
        line_end: 1954
        line_start: 1953
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_LMTP_CONN_TMOUT
      pos:
        line_end: 1957
        line_start: 1956
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_connect_timeout"'
    - item_type: preproc_def
      name: DEF_LMTP_CONN_TMOUT
      pos:
        line_end: 1958
        line_start: 1957
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"0s"'
    - item_type: preproc_def
      name: VAR_LMTP_RSET_TMOUT
      pos:
        line_end: 1961
        line_start: 1960
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_rset_timeout"'
    - item_type: preproc_def
      name: DEF_LMTP_RSET_TMOUT
      pos:
        line_end: 1962
        line_start: 1961
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"20s"'
    - item_type: preproc_def
      name: VAR_LMTP_LHLO_TMOUT
      pos:
        line_end: 1965
        line_start: 1964
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_lhlo_timeout"'
    - item_type: preproc_def
      name: DEF_LMTP_LHLO_TMOUT
      pos:
        line_end: 1966
        line_start: 1965
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"300s"'
    - item_type: preproc_def
      name: VAR_LMTP_XFWD_TMOUT
      pos:
        line_end: 1969
        line_start: 1968
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_xforward_timeout"'
    - item_type: preproc_def
      name: DEF_LMTP_XFWD_TMOUT
      pos:
        line_end: 1970
        line_start: 1969
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"300s"'
    - item_type: preproc_def
      name: VAR_LMTP_MAIL_TMOUT
      pos:
        line_end: 1973
        line_start: 1972
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_mail_timeout"'
    - item_type: preproc_def
      name: DEF_LMTP_MAIL_TMOUT
      pos:
        line_end: 1974
        line_start: 1973
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"300s"'
    - item_type: preproc_def
      name: VAR_LMTP_RCPT_TMOUT
      pos:
        line_end: 1977
        line_start: 1976
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_rcpt_timeout"'
    - item_type: preproc_def
      name: DEF_LMTP_RCPT_TMOUT
      pos:
        line_end: 1978
        line_start: 1977
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"300s"'
    - item_type: preproc_def
      name: VAR_LMTP_DATA0_TMOUT
      pos:
        line_end: 1981
        line_start: 1980
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_data_init_timeout"'
    - item_type: preproc_def
      name: DEF_LMTP_DATA0_TMOUT
      pos:
        line_end: 1982
        line_start: 1981
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"120s"'
    - item_type: preproc_def
      name: VAR_LMTP_DATA1_TMOUT
      pos:
        line_end: 1985
        line_start: 1984
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_data_xfer_timeout"'
    - item_type: preproc_def
      name: DEF_LMTP_DATA1_TMOUT
      pos:
        line_end: 1986
        line_start: 1985
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"180s"'
    - item_type: preproc_def
      name: VAR_LMTP_DATA2_TMOUT
      pos:
        line_end: 1989
        line_start: 1988
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_data_done_timeout"'
    - item_type: preproc_def
      name: DEF_LMTP_DATA2_TMOUT
      pos:
        line_end: 1990
        line_start: 1989
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"600s"'
    - item_type: preproc_def
      name: VAR_LMTP_QUIT_TMOUT
      pos:
        line_end: 1993
        line_start: 1992
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_quit_timeout"'
    - item_type: preproc_def
      name: DEF_LMTP_QUIT_TMOUT
      pos:
        line_end: 1994
        line_start: 1993
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"300s"'
    - item_type: preproc_def
      name: VAR_LMTP_SEND_XFORWARD
      pos:
        line_end: 1997
        line_start: 1996
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_send_xforward_command"'
    - item_type: preproc_def
      name: DEF_LMTP_SEND_XFORWARD
      pos:
        line_end: 1998
        line_start: 1997
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_HOPCOUNT_LIMIT
      pos:
        line_end: 2005
        line_start: 2004
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"hopcount_limit"'
    - item_type: preproc_def
      name: DEF_HOPCOUNT_LIMIT
      pos:
        line_end: 2006
        line_start: 2005
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '50'
    - item_type: preproc_def
      name: VAR_HEADER_LIMIT
      pos:
        line_end: 2009
        line_start: 2008
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"header_size_limit"'
    - item_type: preproc_def
      name: DEF_HEADER_LIMIT
      pos:
        line_end: 2010
        line_start: 2009
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '102400'
    - item_type: preproc_def
      name: VAR_TOKEN_LIMIT
      pos:
        line_end: 2013
        line_start: 2012
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"header_address_token_limit"'
    - item_type: preproc_def
      name: DEF_TOKEN_LIMIT
      pos:
        line_end: 2014
        line_start: 2013
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '10240'
    - item_type: preproc_def
      name: VAR_VIRT_RECUR_LIMIT
      pos:
        line_end: 2017
        line_start: 2016
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"virtual_alias_recursion_limit"'
    - item_type: preproc_def
      name: DEF_VIRT_RECUR_LIMIT
      pos:
        line_end: 2018
        line_start: 2017
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1000'
    - item_type: preproc_def
      name: VAR_VIRT_EXPAN_LIMIT
      pos:
        line_end: 2021
        line_start: 2020
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"virtual_alias_expansion_limit"'
    - item_type: preproc_def
      name: DEF_VIRT_EXPAN_LIMIT
      pos:
        line_end: 2022
        line_start: 2021
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1000'
    - item_type: preproc_def
      name: VAR_VIRT_ADDRLEN_LIMIT
      pos:
        line_end: 2025
        line_start: 2024
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"virtual_alias_address_length_limit"'
    - item_type: preproc_def
      name: DEF_VIRT_ADDRLEN_LIMIT
      pos:
        line_end: 2026
        line_start: 2025
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1000'
    - item_type: preproc_def
      name: VAR_MESSAGE_LIMIT
      pos:
        line_end: 2032
        line_start: 2031
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"message_size_limit"'
    - item_type: preproc_def
      name: DEF_MESSAGE_LIMIT
      pos:
        line_end: 2033
        line_start: 2032
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '10240000'
    - item_type: preproc_def
      name: VAR_QUEUE_MINFREE
      pos:
        line_end: 2036
        line_start: 2035
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"queue_minfree"'
    - item_type: preproc_def
      name: DEF_QUEUE_MINFREE
      pos:
        line_end: 2037
        line_start: 2036
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_HEADER_CHECKS
      pos:
        line_end: 2043
        line_start: 2042
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"header_checks"'
    - item_type: preproc_def
      name: DEF_HEADER_CHECKS
      pos:
        line_end: 2044
        line_start: 2043
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_MIMEHDR_CHECKS
      pos:
        line_end: 2047
        line_start: 2046
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"mime_header_checks"'
    - item_type: preproc_def
      name: DEF_MIMEHDR_CHECKS
      pos:
        line_end: 2048
        line_start: 2047
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$header_checks"'
    - item_type: preproc_def
      name: VAR_NESTHDR_CHECKS
      pos:
        line_end: 2051
        line_start: 2050
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"nested_header_checks"'
    - item_type: preproc_def
      name: DEF_NESTHDR_CHECKS
      pos:
        line_end: 2052
        line_start: 2051
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$header_checks"'
    - item_type: preproc_def
      name: VAR_BODY_CHECKS
      pos:
        line_end: 2055
        line_start: 2054
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"body_checks"'
    - item_type: preproc_def
      name: DEF_BODY_CHECKS
      pos:
        line_end: 2056
        line_start: 2055
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_BODY_CHECK_LEN
      pos:
        line_end: 2059
        line_start: 2058
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"body_checks_size_limit"'
    - item_type: preproc_def
      name: DEF_BODY_CHECK_LEN
      pos:
        line_end: 2060
        line_start: 2059
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: (50*1024)
    - item_type: preproc_def
      name: VAR_BOUNCE_LIMIT
      pos:
        line_end: 2066
        line_start: 2065
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"bounce_size_limit"'
    - item_type: preproc_def
      name: DEF_BOUNCE_LIMIT
      pos:
        line_end: 2067
        line_start: 2066
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '50000'
    - item_type: preproc_def
      name: VAR_DOUBLE_BOUNCE
      pos:
        line_end: 2074
        line_start: 2073
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"double_bounce_sender"'
    - item_type: preproc_def
      name: DEF_DOUBLE_BOUNCE
      pos:
        line_end: 2075
        line_start: 2074
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"double-bounce"'
    - item_type: preproc_def
      name: VAR_THREADED_BOUNCE
      pos:
        line_end: 2082
        line_start: 2081
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"enable_threaded_bounces"'
    - item_type: preproc_def
      name: DEF_THREADED_BOUNCE
      pos:
        line_end: 2083
        line_start: 2082
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: CONFIG_BOOL_NO
    - item_type: preproc_def
      name: VAR_FORK_TRIES
      pos:
        line_end: 2089
        line_start: 2088
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"fork_attempts"'
    - item_type: preproc_def
      name: DEF_FORK_TRIES
      pos:
        line_end: 2090
        line_start: 2089
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '5'
    - item_type: preproc_def
      name: VAR_FORK_DELAY
      pos:
        line_end: 2093
        line_start: 2092
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"fork_delay"'
    - item_type: preproc_def
      name: DEF_FORK_DELAY
      pos:
        line_end: 2094
        line_start: 2093
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"1s"'
    - item_type: preproc_def
      name: VAR_FLOCK_TRIES
      pos:
        line_end: 2100
        line_start: 2099
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"deliver_lock_attempts"'
    - item_type: preproc_def
      name: DEF_FLOCK_TRIES
      pos:
        line_end: 2101
        line_start: 2100
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '20'
    - item_type: preproc_def
      name: VAR_FLOCK_DELAY
      pos:
        line_end: 2104
        line_start: 2103
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"deliver_lock_delay"'
    - item_type: preproc_def
      name: DEF_FLOCK_DELAY
      pos:
        line_end: 2105
        line_start: 2104
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"1s"'
    - item_type: preproc_def
      name: VAR_FLOCK_STALE
      pos:
        line_end: 2108
        line_start: 2107
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"stale_lock_time"'
    - item_type: preproc_def
      name: DEF_FLOCK_STALE
      pos:
        line_end: 2109
        line_start: 2108
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"500s"'
    - item_type: preproc_def
      name: VAR_MAILTOOL_COMPAT
      pos:
        line_end: 2112
        line_start: 2111
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"sun_mailtool_compatibility"'
    - item_type: preproc_def
      name: DEF_MAILTOOL_COMPAT
      pos:
        line_end: 2113
        line_start: 2112
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_DAEMON_TIMEOUT
      pos:
        line_end: 2120
        line_start: 2119
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"daemon_timeout"'
    - item_type: preproc_def
      name: DEF_DAEMON_TIMEOUT
      pos:
        line_end: 2121
        line_start: 2120
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"18000s"'
    - item_type: preproc_def
      name: VAR_QMGR_DAEMON_TIMEOUT
      pos:
        line_end: 2124
        line_start: 2123
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"qmgr_daemon_timeout"'
    - item_type: preproc_def
      name: DEF_QMGR_DAEMON_TIMEOUT
      pos:
        line_end: 2125
        line_start: 2124
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"1000s"'
    - item_type: preproc_def
      name: VAR_IPC_TIMEOUT
      pos:
        line_end: 2132
        line_start: 2131
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"ipc_timeout"'
    - item_type: preproc_def
      name: DEF_IPC_TIMEOUT
      pos:
        line_end: 2133
        line_start: 2132
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"3600s"'
    - item_type: preproc_def
      name: VAR_QMGR_IPC_TIMEOUT
      pos:
        line_end: 2136
        line_start: 2135
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"qmgr_ipc_timeout"'
    - item_type: preproc_def
      name: DEF_QMGR_IPC_TIMEOUT
      pos:
        line_end: 2137
        line_start: 2136
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"60s"'
    - item_type: preproc_def
      name: VAR_TRIGGER_TIMEOUT
      pos:
        line_end: 2143
        line_start: 2142
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"trigger_timeout"'
    - item_type: preproc_def
      name: DEF_TRIGGER_TIMEOUT
      pos:
        line_end: 2144
        line_start: 2143
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"10s"'
    - item_type: preproc_def
      name: VAR_MYNETWORKS
      pos:
        line_end: 2152
        line_start: 2151
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"mynetworks"'
    - item_type: preproc_def
      name: VAR_MYNETWORKS_STYLE
      pos:
        line_end: 2155
        line_start: 2154
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"mynetworks_style"'
    - item_type: preproc_def
      name: DEF_MYNETWORKS_STYLE
      pos:
        line_end: 2158
        line_start: 2155
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"${{$compatibility_level} <level {2} ? \" \\\n\t\t\t\t\"{\"
        MYNETWORKS_STYLE_SUBNET \"} : \" \\\n\t\t\t\t\"{\" MYNETWORKS_STYLE_HOST \"}}\""
    - item_type: preproc_def
      name: MYNETWORKS_STYLE_CLASS
      pos:
        line_end: 2161
        line_start: 2160
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"class"'
    - item_type: preproc_def
      name: MYNETWORKS_STYLE_SUBNET
      pos:
        line_end: 2162
        line_start: 2161
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"subnet"'
    - item_type: preproc_def
      name: MYNETWORKS_STYLE_HOST
      pos:
        line_end: 2163
        line_start: 2162
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"host"'
    - item_type: preproc_def
      name: VAR_RELAY_DOMAINS
      pos:
        line_end: 2165
        line_start: 2164
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"relay_domains"'
    - item_type: preproc_def
      name: DEF_RELAY_DOMAINS
      pos:
        line_end: 2167
        line_start: 2165
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"${{$compatibility_level} <level {2} ? \" \\\n\t\t\t\t\"{$mydestination}
        : {}}\""
    - item_type: preproc_def
      name: VAR_RELAY_TRANSPORT
      pos:
        line_end: 2170
        line_start: 2169
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"relay_transport"'
    - item_type: preproc_def
      name: DEF_RELAY_TRANSPORT
      pos:
        line_end: 2171
        line_start: 2170
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: MAIL_SERVICE_RELAY
    - item_type: preproc_def
      name: VAR_RELAY_RCPT_MAPS
      pos:
        line_end: 2174
        line_start: 2173
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"relay_recipient_maps"'
    - item_type: preproc_def
      name: DEF_RELAY_RCPT_MAPS
      pos:
        line_end: 2175
        line_start: 2174
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_RELAY_RCPT_CODE
      pos:
        line_end: 2178
        line_start: 2177
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"unknown_relay_recipient_reject_code"'
    - item_type: preproc_def
      name: DEF_RELAY_RCPT_CODE
      pos:
        line_end: 2179
        line_start: 2178
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '550'
    - item_type: preproc_def
      name: VAR_RELAY_CCERTS
      pos:
        line_end: 2182
        line_start: 2181
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"relay_clientcerts"'
    - item_type: preproc_def
      name: DEF_RELAY_CCERTS
      pos:
        line_end: 2183
        line_start: 2182
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_CLIENT_CHECKS
      pos:
        line_end: 2186
        line_start: 2185
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_client_restrictions"'
    - item_type: preproc_def
      name: DEF_CLIENT_CHECKS
      pos:
        line_end: 2187
        line_start: 2186
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_HELO_REQUIRED
      pos:
        line_end: 2190
        line_start: 2189
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_helo_required"'
    - item_type: preproc_def
      name: DEF_HELO_REQUIRED
      pos:
        line_end: 2191
        line_start: 2190
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_HELO_CHECKS
      pos:
        line_end: 2194
        line_start: 2193
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_helo_restrictions"'
    - item_type: preproc_def
      name: DEF_HELO_CHECKS
      pos:
        line_end: 2195
        line_start: 2194
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_MAIL_CHECKS
      pos:
        line_end: 2198
        line_start: 2197
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_sender_restrictions"'
    - item_type: preproc_def
      name: DEF_MAIL_CHECKS
      pos:
        line_end: 2199
        line_start: 2198
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_RELAY_CHECKS
      pos:
        line_end: 2202
        line_start: 2201
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_relay_restrictions"'
    - item_type: preproc_def
      name: DEF_RELAY_CHECKS
      pos:
        line_end: 2206
        line_start: 2202
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"${{$compatibility_level} <level {1} ? \" \\\n\t\t\t\t\"{}
        : {\" PERMIT_MYNETWORKS \", \" \\\n\t\t\t\tPERMIT_SASL_AUTH \", \" \\\n\t\t\t\tDEFER_UNAUTH_DEST
        \"}}\""
    - item_type: preproc_def
      name: FAKE_RELAY_CHECKS
      pos:
        line_end: 2215
        line_start: 2212
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "PERMIT_MYNETWORKS \", \" \\\n\t\t\t\tPERMIT_SASL_AUTH \", \"
        \\\n\t\t\t\tPERMIT_AUTH_DEST"
    - item_type: preproc_def
      name: VAR_RCPT_CHECKS
      pos:
        line_end: 2217
        line_start: 2216
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_recipient_restrictions"'
    - item_type: preproc_def
      name: DEF_RCPT_CHECKS
      pos:
        line_end: 2218
        line_start: 2217
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_RELAY_BEFORE_RCPT_CHECKS
      pos:
        line_end: 2221
        line_start: 2220
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_relay_before_recipient_restrictions"'
    - item_type: preproc_def
      name: DEF_RELAY_BEFORE_RCPT_CHECKS
      pos:
        line_end: 2223
        line_start: 2221
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"${{$compatibility_level} <level {3.6} ?\" \\\n\t\t\t\t\" {no}
        : {yes}}\""
    - item_type: preproc_def
      name: VAR_ETRN_CHECKS
      pos:
        line_end: 2226
        line_start: 2225
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_etrn_restrictions"'
    - item_type: preproc_def
      name: DEF_ETRN_CHECKS
      pos:
        line_end: 2227
        line_start: 2226
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_DATA_CHECKS
      pos:
        line_end: 2230
        line_start: 2229
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_data_restrictions"'
    - item_type: preproc_def
      name: DEF_DATA_CHECKS
      pos:
        line_end: 2231
        line_start: 2230
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_EOD_CHECKS
      pos:
        line_end: 2234
        line_start: 2233
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_end_of_data_restrictions"'
    - item_type: preproc_def
      name: DEF_EOD_CHECKS
      pos:
        line_end: 2235
        line_start: 2234
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_REST_CLASSES
      pos:
        line_end: 2238
        line_start: 2237
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_restriction_classes"'
    - item_type: preproc_def
      name: DEF_REST_CLASSES
      pos:
        line_end: 2239
        line_start: 2238
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_ALLOW_UNTRUST_ROUTE
      pos:
        line_end: 2242
        line_start: 2241
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"allow_untrusted_routing"'
    - item_type: preproc_def
      name: DEF_ALLOW_UNTRUST_ROUTE
      pos:
        line_end: 2243
        line_start: 2242
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PERMIT_ALL
      pos:
        line_end: 2251
        line_start: 2250
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"permit"'
    - item_type: preproc_def
      name: REJECT_ALL
      pos:
        line_end: 2252
        line_start: 2251
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject"'
    - item_type: preproc_def
      name: VAR_REJECT_CODE
      pos:
        line_end: 2253
        line_start: 2252
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_code"'
    - item_type: preproc_def
      name: DEF_REJECT_CODE
      pos:
        line_end: 2254
        line_start: 2253
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '554'
    - item_type: preproc_def
      name: DEFER_ALL
      pos:
        line_end: 2257
        line_start: 2256
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"defer"'
    - item_type: preproc_def
      name: VAR_DEFER_CODE
      pos:
        line_end: 2258
        line_start: 2257
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"defer_code"'
    - item_type: preproc_def
      name: DEF_DEFER_CODE
      pos:
        line_end: 2259
        line_start: 2258
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '450'
    - item_type: preproc_def
      name: DEFER_IF_PERMIT
      pos:
        line_end: 2262
        line_start: 2261
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"defer_if_permit"'
    - item_type: preproc_def
      name: DEFER_IF_REJECT
      pos:
        line_end: 2263
        line_start: 2262
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"defer_if_reject"'
    - item_type: preproc_def
      name: VAR_REJECT_TMPF_ACT
      pos:
        line_end: 2265
        line_start: 2264
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_tempfail_action"'
    - item_type: preproc_def
      name: DEF_REJECT_TMPF_ACT
      pos:
        line_end: 2266
        line_start: 2265
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: DEFER_IF_PERMIT
    - item_type: preproc_def
      name: SLEEP
      pos:
        line_end: 2269
        line_start: 2268
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"sleep"'
    - item_type: preproc_def
      name: REJECT_PLAINTEXT_SESSION
      pos:
        line_end: 2271
        line_start: 2270
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_plaintext_session"'
    - item_type: preproc_def
      name: VAR_PLAINTEXT_CODE
      pos:
        line_end: 2272
        line_start: 2271
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"plaintext_reject_code"'
    - item_type: preproc_def
      name: DEF_PLAINTEXT_CODE
      pos:
        line_end: 2273
        line_start: 2272
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '450'
    - item_type: preproc_def
      name: REJECT_UNKNOWN_CLIENT
      pos:
        line_end: 2276
        line_start: 2275
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_unknown_client"'
    - item_type: preproc_def
      name: REJECT_UNKNOWN_CLIENT_HOSTNAME
      pos:
        line_end: 2277
        line_start: 2276
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_unknown_client_hostname"'
    - item_type: preproc_def
      name: REJECT_UNKNOWN_REVERSE_HOSTNAME
      pos:
        line_end: 2278
        line_start: 2277
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_unknown_reverse_client_hostname"'
    - item_type: preproc_def
      name: REJECT_UNKNOWN_FORWARD_HOSTNAME
      pos:
        line_end: 2279
        line_start: 2278
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_unknown_forward_client_hostname"'
    - item_type: preproc_def
      name: VAR_UNK_CLIENT_CODE
      pos:
        line_end: 2280
        line_start: 2279
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"unknown_client_reject_code"'
    - item_type: preproc_def
      name: DEF_UNK_CLIENT_CODE
      pos:
        line_end: 2281
        line_start: 2280
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '450'
    - item_type: preproc_def
      name: PERMIT_INET_INTERFACES
      pos:
        line_end: 2284
        line_start: 2283
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"permit_inet_interfaces"'
    - item_type: preproc_def
      name: PERMIT_MYNETWORKS
      pos:
        line_end: 2286
        line_start: 2285
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"permit_mynetworks"'
    - item_type: preproc_def
      name: PERMIT_NAKED_IP_ADDR
      pos:
        line_end: 2288
        line_start: 2287
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"permit_naked_ip_address"'
    - item_type: preproc_def
      name: REJECT_INVALID_HELO_HOSTNAME
      pos:
        line_end: 2290
        line_start: 2289
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_invalid_helo_hostname"'
    - item_type: preproc_def
      name: REJECT_INVALID_HOSTNAME
      pos:
        line_end: 2291
        line_start: 2290
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_invalid_hostname"'
    - item_type: preproc_def
      name: VAR_BAD_NAME_CODE
      pos:
        line_end: 2292
        line_start: 2291
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"invalid_hostname_reject_code"'
    - item_type: preproc_def
      name: DEF_BAD_NAME_CODE
      pos:
        line_end: 2293
        line_start: 2292
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "501\t"
    - item_type: preproc_def
      name: REJECT_UNKNOWN_HELO_HOSTNAME
      pos:
        line_end: 2296
        line_start: 2295
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_unknown_helo_hostname"'
    - item_type: preproc_def
      name: REJECT_UNKNOWN_HOSTNAME
      pos:
        line_end: 2297
        line_start: 2296
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_unknown_hostname"'
    - item_type: preproc_def
      name: VAR_UNK_NAME_CODE
      pos:
        line_end: 2298
        line_start: 2297
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"unknown_hostname_reject_code"'
    - item_type: preproc_def
      name: DEF_UNK_NAME_CODE
      pos:
        line_end: 2299
        line_start: 2298
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '450'
    - item_type: preproc_def
      name: VAR_UNK_NAME_TF_ACT
      pos:
        line_end: 2302
        line_start: 2301
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"unknown_helo_hostname_tempfail_action"'
    - item_type: preproc_def
      name: DEF_UNK_NAME_TF_ACT
      pos:
        line_end: 2303
        line_start: 2302
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_REJECT_TMPF_ACT'
    - item_type: preproc_def
      name: REJECT_NON_FQDN_HELO_HOSTNAME
      pos:
        line_end: 2306
        line_start: 2305
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_non_fqdn_helo_hostname"'
    - item_type: preproc_def
      name: REJECT_NON_FQDN_HOSTNAME
      pos:
        line_end: 2307
        line_start: 2306
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_non_fqdn_hostname"'
    - item_type: preproc_def
      name: REJECT_NON_FQDN_SENDER
      pos:
        line_end: 2308
        line_start: 2307
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_non_fqdn_sender"'
    - item_type: preproc_def
      name: REJECT_NON_FQDN_RCPT
      pos:
        line_end: 2309
        line_start: 2308
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_non_fqdn_recipient"'
    - item_type: preproc_def
      name: VAR_NON_FQDN_CODE
      pos:
        line_end: 2310
        line_start: 2309
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"non_fqdn_reject_code"'
    - item_type: preproc_def
      name: DEF_NON_FQDN_CODE
      pos:
        line_end: 2311
        line_start: 2310
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "504\t"
    - item_type: preproc_def
      name: REJECT_UNKNOWN_SENDDOM
      pos:
        line_end: 2314
        line_start: 2313
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_unknown_sender_domain"'
    - item_type: preproc_def
      name: REJECT_UNKNOWN_RCPTDOM
      pos:
        line_end: 2315
        line_start: 2314
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_unknown_recipient_domain"'
    - item_type: preproc_def
      name: REJECT_UNKNOWN_ADDRESS
      pos:
        line_end: 2316
        line_start: 2315
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_unknown_address"'
    - item_type: preproc_def
      name: REJECT_UNLISTED_SENDER
      pos:
        line_end: 2317
        line_start: 2316
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_unlisted_sender"'
    - item_type: preproc_def
      name: REJECT_UNLISTED_RCPT
      pos:
        line_end: 2318
        line_start: 2317
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_unlisted_recipient"'
    - item_type: preproc_def
      name: CHECK_RCPT_MAPS
      pos:
        line_end: 2319
        line_start: 2318
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_recipient_maps"'
    - item_type: preproc_def
      name: VAR_UNK_ADDR_CODE
      pos:
        line_end: 2321
        line_start: 2320
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"unknown_address_reject_code"'
    - item_type: preproc_def
      name: DEF_UNK_ADDR_CODE
      pos:
        line_end: 2322
        line_start: 2321
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '450'
    - item_type: preproc_def
      name: VAR_UNK_ADDR_TF_ACT
      pos:
        line_end: 2325
        line_start: 2324
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"unknown_address_tempfail_action"'
    - item_type: preproc_def
      name: DEF_UNK_ADDR_TF_ACT
      pos:
        line_end: 2326
        line_start: 2325
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_REJECT_TMPF_ACT'
    - item_type: preproc_def
      name: VAR_SMTPD_REJ_UNL_FROM
      pos:
        line_end: 2329
        line_start: 2328
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_reject_unlisted_sender"'
    - item_type: preproc_def
      name: DEF_SMTPD_REJ_UNL_FROM
      pos:
        line_end: 2330
        line_start: 2329
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTPD_REJ_UNL_RCPT
      pos:
        line_end: 2333
        line_start: 2332
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_reject_unlisted_recipient"'
    - item_type: preproc_def
      name: DEF_SMTPD_REJ_UNL_RCPT
      pos:
        line_end: 2334
        line_start: 2333
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: REJECT_UNVERIFIED_RECIP
      pos:
        line_end: 2337
        line_start: 2336
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_unverified_recipient"'
    - item_type: preproc_def
      name: VAR_UNV_RCPT_RCODE
      pos:
        line_end: 2338
        line_start: 2337
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"unverified_recipient_reject_code"'
    - item_type: preproc_def
      name: DEF_UNV_RCPT_RCODE
      pos:
        line_end: 2339
        line_start: 2338
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '450'
    - item_type: preproc_def
      name: REJECT_UNVERIFIED_SENDER
      pos:
        line_end: 2342
        line_start: 2341
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_unverified_sender"'
    - item_type: preproc_def
      name: VAR_UNV_FROM_RCODE
      pos:
        line_end: 2343
        line_start: 2342
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"unverified_sender_reject_code"'
    - item_type: preproc_def
      name: DEF_UNV_FROM_RCODE
      pos:
        line_end: 2344
        line_start: 2343
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '450'
    - item_type: preproc_def
      name: VAR_UNV_RCPT_DCODE
      pos:
        line_end: 2347
        line_start: 2346
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"unverified_recipient_defer_code"'
    - item_type: preproc_def
      name: DEF_UNV_RCPT_DCODE
      pos:
        line_end: 2348
        line_start: 2347
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '450'
    - item_type: preproc_def
      name: VAR_UNV_FROM_DCODE
      pos:
        line_end: 2351
        line_start: 2350
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"unverified_sender_defer_code"'
    - item_type: preproc_def
      name: DEF_UNV_FROM_DCODE
      pos:
        line_end: 2352
        line_start: 2351
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '450'
    - item_type: preproc_def
      name: VAR_UNV_RCPT_TF_ACT
      pos:
        line_end: 2355
        line_start: 2354
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"unverified_recipient_tempfail_action"'
    - item_type: preproc_def
      name: DEF_UNV_RCPT_TF_ACT
      pos:
        line_end: 2356
        line_start: 2355
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_REJECT_TMPF_ACT'
    - item_type: preproc_def
      name: VAR_UNV_FROM_TF_ACT
      pos:
        line_end: 2359
        line_start: 2358
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"unverified_sender_tempfail_action"'
    - item_type: preproc_def
      name: DEF_UNV_FROM_TF_ACT
      pos:
        line_end: 2360
        line_start: 2359
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_REJECT_TMPF_ACT'
    - item_type: preproc_def
      name: VAR_UNV_RCPT_WHY
      pos:
        line_end: 2363
        line_start: 2362
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"unverified_recipient_reject_reason"'
    - item_type: preproc_def
      name: DEF_UNV_RCPT_WHY
      pos:
        line_end: 2364
        line_start: 2363
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_UNV_FROM_WHY
      pos:
        line_end: 2367
        line_start: 2366
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"unverified_sender_reject_reason"'
    - item_type: preproc_def
      name: DEF_UNV_FROM_WHY
      pos:
        line_end: 2368
        line_start: 2367
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: REJECT_MUL_RCPT_BOUNCE
      pos:
        line_end: 2371
        line_start: 2370
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_multi_recipient_bounce"'
    - item_type: preproc_def
      name: VAR_MUL_RCPT_CODE
      pos:
        line_end: 2372
        line_start: 2371
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"multi_recipient_bounce_reject_code"'
    - item_type: preproc_def
      name: DEF_MUL_RCPT_CODE
      pos:
        line_end: 2373
        line_start: 2372
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '550'
    - item_type: preproc_def
      name: PERMIT_AUTH_DEST
      pos:
        line_end: 2376
        line_start: 2375
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"permit_auth_destination"'
    - item_type: preproc_def
      name: REJECT_UNAUTH_DEST
      pos:
        line_end: 2377
        line_start: 2376
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_unauth_destination"'
    - item_type: preproc_def
      name: DEFER_UNAUTH_DEST
      pos:
        line_end: 2378
        line_start: 2377
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"defer_unauth_destination"'
    - item_type: preproc_def
      name: CHECK_RELAY_DOMAINS
      pos:
        line_end: 2379
        line_start: 2378
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_relay_domains"'
    - item_type: preproc_def
      name: PERMIT_TLS_CLIENTCERTS
      pos:
        line_end: 2380
        line_start: 2379
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"permit_tls_clientcerts"'
    - item_type: preproc_def
      name: PERMIT_TLS_ALL_CLIENTCERTS
      pos:
        line_end: 2381
        line_start: 2380
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"permit_tls_all_clientcerts"'
    - item_type: preproc_def
      name: VAR_RELAY_CODE
      pos:
        line_end: 2382
        line_start: 2381
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"relay_domains_reject_code"'
    - item_type: preproc_def
      name: DEF_RELAY_CODE
      pos:
        line_end: 2383
        line_start: 2382
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '554'
    - item_type: preproc_def
      name: PERMIT_MX_BACKUP
      pos:
        line_end: 2386
        line_start: 2385
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"permit_mx_backup"'
    - item_type: preproc_def
      name: VAR_PERM_MX_NETWORKS
      pos:
        line_end: 2388
        line_start: 2387
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"permit_mx_backup_networks"'
    - item_type: preproc_def
      name: DEF_PERM_MX_NETWORKS
      pos:
        line_end: 2389
        line_start: 2388
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_MAP_REJECT_CODE
      pos:
        line_end: 2392
        line_start: 2391
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"access_map_reject_code"'
    - item_type: preproc_def
      name: DEF_MAP_REJECT_CODE
      pos:
        line_end: 2393
        line_start: 2392
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '554'
    - item_type: preproc_def
      name: VAR_MAP_DEFER_CODE
      pos:
        line_end: 2396
        line_start: 2395
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"access_map_defer_code"'
    - item_type: preproc_def
      name: DEF_MAP_DEFER_CODE
      pos:
        line_end: 2397
        line_start: 2396
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '450'
    - item_type: preproc_def
      name: CHECK_CLIENT_ACL
      pos:
        line_end: 2400
        line_start: 2399
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_client_access"'
    - item_type: preproc_def
      name: CHECK_REVERSE_CLIENT_ACL
      pos:
        line_end: 2401
        line_start: 2400
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_reverse_client_hostname_access"'
    - item_type: preproc_def
      name: CHECK_CCERT_ACL
      pos:
        line_end: 2402
        line_start: 2401
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_ccert_access"'
    - item_type: preproc_def
      name: CHECK_SASL_ACL
      pos:
        line_end: 2403
        line_start: 2402
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_sasl_access"'
    - item_type: preproc_def
      name: CHECK_HELO_ACL
      pos:
        line_end: 2404
        line_start: 2403
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_helo_access"'
    - item_type: preproc_def
      name: CHECK_SENDER_ACL
      pos:
        line_end: 2405
        line_start: 2404
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_sender_access"'
    - item_type: preproc_def
      name: CHECK_RECIP_ACL
      pos:
        line_end: 2406
        line_start: 2405
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_recipient_access"'
    - item_type: preproc_def
      name: CHECK_ETRN_ACL
      pos:
        line_end: 2407
        line_start: 2406
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_etrn_access"'
    - item_type: preproc_def
      name: CHECK_CLIENT_MX_ACL
      pos:
        line_end: 2409
        line_start: 2408
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_client_mx_access"'
    - item_type: preproc_def
      name: CHECK_REVERSE_CLIENT_MX_ACL
      pos:
        line_end: 2410
        line_start: 2409
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_reverse_client_hostname_mx_access"'
    - item_type: preproc_def
      name: CHECK_HELO_MX_ACL
      pos:
        line_end: 2411
        line_start: 2410
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_helo_mx_access"'
    - item_type: preproc_def
      name: CHECK_SENDER_MX_ACL
      pos:
        line_end: 2412
        line_start: 2411
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_sender_mx_access"'
    - item_type: preproc_def
      name: CHECK_RECIP_MX_ACL
      pos:
        line_end: 2413
        line_start: 2412
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_recipient_mx_access"'
    - item_type: preproc_def
      name: CHECK_CLIENT_NS_ACL
      pos:
        line_end: 2414
        line_start: 2413
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_client_ns_access"'
    - item_type: preproc_def
      name: CHECK_REVERSE_CLIENT_NS_ACL
      pos:
        line_end: 2415
        line_start: 2414
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_reverse_client_hostname_ns_access"'
    - item_type: preproc_def
      name: CHECK_HELO_NS_ACL
      pos:
        line_end: 2416
        line_start: 2415
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_helo_ns_access"'
    - item_type: preproc_def
      name: CHECK_SENDER_NS_ACL
      pos:
        line_end: 2417
        line_start: 2416
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_sender_ns_access"'
    - item_type: preproc_def
      name: CHECK_RECIP_NS_ACL
      pos:
        line_end: 2418
        line_start: 2417
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_recipient_ns_access"'
    - item_type: preproc_def
      name: CHECK_CLIENT_A_ACL
      pos:
        line_end: 2419
        line_start: 2418
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_client_a_access"'
    - item_type: preproc_def
      name: CHECK_REVERSE_CLIENT_A_ACL
      pos:
        line_end: 2420
        line_start: 2419
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_reverse_client_hostname_a_access"'
    - item_type: preproc_def
      name: CHECK_HELO_A_ACL
      pos:
        line_end: 2421
        line_start: 2420
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_helo_a_access"'
    - item_type: preproc_def
      name: CHECK_SENDER_A_ACL
      pos:
        line_end: 2422
        line_start: 2421
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_sender_a_access"'
    - item_type: preproc_def
      name: CHECK_RECIP_A_ACL
      pos:
        line_end: 2423
        line_start: 2422
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_recipient_a_access"'
    - item_type: preproc_def
      name: WARN_IF_REJECT
      pos:
        line_end: 2425
        line_start: 2424
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"warn_if_reject"'
    - item_type: preproc_def
      name: REJECT_RBL
      pos:
        line_end: 2427
        line_start: 2426
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"reject_rbl\"\t"
    - item_type: preproc_def
      name: REJECT_RBL_CLIENT
      pos:
        line_end: 2428
        line_start: 2427
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_rbl_client"'
    - item_type: preproc_def
      name: REJECT_RHSBL_CLIENT
      pos:
        line_end: 2429
        line_start: 2428
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_rhsbl_client"'
    - item_type: preproc_def
      name: REJECT_RHSBL_REVERSE_CLIENT
      pos:
        line_end: 2430
        line_start: 2429
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_rhsbl_reverse_client"'
    - item_type: preproc_def
      name: REJECT_RHSBL_HELO
      pos:
        line_end: 2431
        line_start: 2430
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_rhsbl_helo"'
    - item_type: preproc_def
      name: REJECT_RHSBL_SENDER
      pos:
        line_end: 2432
        line_start: 2431
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_rhsbl_sender"'
    - item_type: preproc_def
      name: REJECT_RHSBL_RECIPIENT
      pos:
        line_end: 2433
        line_start: 2432
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_rhsbl_recipient"'
    - item_type: preproc_def
      name: PERMIT_DNSWL_CLIENT
      pos:
        line_end: 2435
        line_start: 2434
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"permit_dnswl_client"'
    - item_type: preproc_def
      name: PERMIT_RHSWL_CLIENT
      pos:
        line_end: 2436
        line_start: 2435
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"permit_rhswl_client"'
    - item_type: preproc_def
      name: VAR_RBL_REPLY_MAPS
      pos:
        line_end: 2438
        line_start: 2437
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"rbl_reply_maps"'
    - item_type: preproc_def
      name: DEF_RBL_REPLY_MAPS
      pos:
        line_end: 2439
        line_start: 2438
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_DEF_RBL_REPLY
      pos:
        line_end: 2442
        line_start: 2441
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"default_rbl_reply"'
    - item_type: preproc_def
      name: DEF_DEF_RBL_REPLY
      pos:
        line_end: 2443
        line_start: 2442
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$rbl_code Service unavailable; $rbl_class [$rbl_what] blocked
        using $rbl_domain${rbl_reason?; $rbl_reason}"'
    - item_type: preproc_def
      name: REJECT_MAPS_RBL
      pos:
        line_end: 2446
        line_start: 2445
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"reject_maps_rbl\"\t"
    - item_type: preproc_def
      name: VAR_MAPS_RBL_CODE
      pos:
        line_end: 2447
        line_start: 2446
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"maps_rbl_reject_code"'
    - item_type: preproc_def
      name: DEF_MAPS_RBL_CODE
      pos:
        line_end: 2448
        line_start: 2447
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '554'
    - item_type: preproc_def
      name: VAR_MAPS_RBL_DOMAINS
      pos:
        line_end: 2451
        line_start: 2450
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"maps_rbl_domains\"\t"
    - item_type: preproc_def
      name: DEF_MAPS_RBL_DOMAINS
      pos:
        line_end: 2452
        line_start: 2451
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_DELAY_REJECT
      pos:
        line_end: 2455
        line_start: 2454
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_delay_reject"'
    - item_type: preproc_def
      name: DEF_SMTPD_DELAY_REJECT
      pos:
        line_end: 2456
        line_start: 2455
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: REJECT_UNAUTH_PIPE
      pos:
        line_end: 2459
        line_start: 2458
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject_unauth_pipelining"'
    - item_type: preproc_def
      name: VAR_SMTPD_NULL_KEY
      pos:
        line_end: 2461
        line_start: 2460
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_null_access_lookup_key"'
    - item_type: preproc_def
      name: DEF_SMTPD_NULL_KEY
      pos:
        line_end: 2462
        line_start: 2461
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"<>"'
    - item_type: preproc_def
      name: VAR_SMTPD_EXP_FILTER
      pos:
        line_end: 2465
        line_start: 2464
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_expansion_filter"'
    - item_type: preproc_def
      name: DEF_SMTPD_EXP_FILTER
      pos:
        line_end: 2468
        line_start: 2465
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"\\t\\40!\"#$%&''()*+,-./0123456789:;<=>?@\

        ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`\

        abcdefghijklmnopqrstuvwxyz{|}~"'
    - item_type: preproc_def
      name: VAR_SMTPD_PEERNAME_LOOKUP
      pos:
        line_end: 2471
        line_start: 2470
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_peername_lookup"'
    - item_type: preproc_def
      name: DEF_SMTPD_PEERNAME_LOOKUP
      pos:
        line_end: 2472
        line_start: 2471
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_SMTPD_FORBID_UNAUTH_PIPE
      pos:
        line_end: 2475
        line_start: 2474
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_forbid_unauth_pipelining"'
    - item_type: preproc_def
      name: DEF_SMTPD_FORBID_UNAUTH_PIPE
      pos:
        line_end: 2476
        line_start: 2475
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_LOCAL_RCPT_MAPS
      pos:
        line_end: 2482
        line_start: 2481
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"local_recipient_maps"'
    - item_type: preproc_def
      name: DEF_LOCAL_RCPT_MAPS
      pos:
        line_end: 2483
        line_start: 2482
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"proxy:unix:passwd.byname $" VAR_ALIAS_MAPS'
    - item_type: preproc_def
      name: VAR_LOCAL_RCPT_CODE
      pos:
        line_end: 2486
        line_start: 2485
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"unknown_local_recipient_reject_code"'
    - item_type: preproc_def
      name: DEF_LOCAL_RCPT_CODE
      pos:
        line_end: 2487
        line_start: 2486
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '550'
    - item_type: preproc_def
      name: VAR_PROXY_READ_MAPS
      pos:
        line_end: 2493
        line_start: 2492
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"proxy_read_maps"'
    - item_type: preproc_def
      name: DEF_PROXY_READ_MAPS
      pos:
        line_end: 2572
        line_start: 2493
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"$\" VAR_LOCAL_RCPT_MAPS \\\n\t\t\t\t\" $\" VAR_MYDEST \\\n\t\t\t\t\"
        $\" VAR_VIRT_ALIAS_MAPS \\\n\t\t\t\t\" $\" VAR_VIRT_ALIAS_DOMS \\\n\t\t\t\t\"
        $\" VAR_VIRT_MAILBOX_MAPS \\\n\t\t\t\t\" $\" VAR_VIRT_MAILBOX_DOMS \\\n\t\t\t\t\"
        $\" VAR_RELAY_RCPT_MAPS \\\n\t\t\t\t\" $\" VAR_RELAY_DOMAINS \\\n\t\t\t\t\"
        $\" VAR_CANONICAL_MAPS \\\n\t\t\t\t\" $\" VAR_SEND_CANON_MAPS \\\n\t\t\t\t\"
        $\" VAR_RCPT_CANON_MAPS \\\n\t\t\t\t\" $\" VAR_RELOCATED_MAPS \\\n\t\t\t\t\"
        $\" VAR_TRANSPORT_MAPS \\\n\t\t\t\t\" $\" VAR_MYNETWORKS \\\n\t\t\t\t\" $\"
        VAR_SMTPD_SND_AUTH_MAPS \\\n\t\t\t\t\" $\" VAR_SEND_BCC_MAPS \\\n\t\t\t\t\"
        $\" VAR_RCPT_BCC_MAPS \\\n\t\t\t\t\" $\" VAR_SMTP_GENERIC_MAPS \\\n\t\t\t\t\"
        $\" VAR_LMTP_GENERIC_MAPS \\\n\t\t\t\t\" $\" VAR_ALIAS_MAPS \\\n\t\t\t\t\"
        $\" VAR_CLIENT_CHECKS \\\n\t\t\t\t\" $\" VAR_HELO_CHECKS \\\n\t\t\t\t\" $\"
        VAR_MAIL_CHECKS \\\n\t\t\t\t\" $\" VAR_RELAY_CHECKS \\\n\t\t\t\t\" $\" VAR_RCPT_CHECKS
        \\\n\t\t\t\t\" $\" VAR_VRFY_SND_DEF_XPORT_MAPS \\\n\t\t\t\t\" $\" VAR_VRFY_RELAY_MAPS
        \\\n\t\t\t\t\" $\" VAR_VRFY_XPORT_MAPS \\\n\t\t\t\t\" $\" VAR_FBCK_TRANSP_MAPS
        \\\n\t\t\t\t\" $\" VAR_LMTP_EHLO_DIS_MAPS \\\n\t\t\t\t\" $\" VAR_LMTP_PIX_BUG_MAPS
        \\\n\t\t\t\t\" $\" VAR_LMTP_SASL_PASSWD \\\n\t\t\t\t\" $\" VAR_LMTP_TLS_POLICY
        \\\n\t\t\t\t\" $\" VAR_MAILBOX_CMD_MAPS \\\n\t\t\t\t\" $\" VAR_MBOX_TRANSP_MAPS
        \\\n\t\t\t\t\" $\" VAR_PSC_EHLO_DIS_MAPS \\\n\t\t\t\t\" $\" VAR_RBL_REPLY_MAPS
        \\\n\t\t\t\t\" $\" VAR_SND_DEF_XPORT_MAPS \\\n\t\t\t\t\" $\" VAR_SND_RELAY_MAPS
        \\\n\t\t\t\t\" $\" VAR_SMTP_EHLO_DIS_MAPS \\\n\t\t\t\t\" $\" VAR_SMTP_PIX_BUG_MAPS
        \\\n\t\t\t\t\" $\" VAR_SMTP_SASL_PASSWD \\\n\t\t\t\t\" $\" VAR_SMTP_TLS_POLICY
        \\\n\t\t\t\t\" $\" VAR_SMTPD_EHLO_DIS_MAPS \\\n\t\t\t\t\" $\" VAR_SMTPD_MILTER_MAPS
        \\\n\t\t\t\t\" $\" VAR_VIRT_GID_MAPS \\\n\t\t\t\t\" $\" VAR_VIRT_UID_MAPS
        \\\n\t\t\t\t\" $\" VAR_LOCAL_LOGIN_SND_MAPS \\\n\t\t\t\t\" $\" VAR_PSC_REJ_FTR_MAPS
        \\\n\t\t\t\t\" $\" VAR_SMTPD_REJ_FTR_MAPS \\\n\t\t\t\t\" $\" VAR_TLS_SERVER_SNI_MAPS
        \\\n\t\t\t\t\" $\" VAR_TLSP_CLNT_POLICY \\\n\t\t\t\t\" $\" VAR_DSN_FILTER
        \\\n\t\t\t\t\" $\" VAR_LMTP_DSN_FILTER \\\n\t\t\t\t\" $\" VAR_LMTP_DNS_RE_FILTER
        \\\n\t\t\t\t\" $\" VAR_LMTP_RESP_FILTER \\\n\t\t\t\t\" $\" VAR_LOCAL_DSN_FILTER
        \\\n\t\t\t\t\" $\" VAR_PIPE_DSN_FILTER \\\n\t\t\t\t\" $\" VAR_PSC_CMD_FILTER
        \\\n\t\t\t\t\" $\" VAR_SMTP_DSN_FILTER \\\n\t\t\t\t\" $\" VAR_SMTP_DNS_RE_FILTER
        \\\n\t\t\t\t\" $\" VAR_SMTP_RESP_FILTER \\\n\t\t\t\t\" $\" VAR_SMTPD_CMD_FILTER
        \\\n\t\t\t\t\" $\" VAR_SMTPD_DNS_RE_FILTER \\\n\t\t\t\t\" $\" VAR_VIRT_DSN_FILTER
        \\\n\t\t\t\t\" $\" VAR_BODY_CHECKS \\\n\t\t\t\t\" $\" VAR_HEADER_CHECKS \\\n\t\t\t\t\"
        $\" VAR_LMTP_BODY_CHKS \\\n\t\t\t\t\" $\" VAR_LMTP_HEAD_CHKS \\\n\t\t\t\t\"
        $\" VAR_LMTP_MIME_CHKS \\\n\t\t\t\t\" $\" VAR_LMTP_NEST_CHKS \\\n\t\t\t\t\"
        $\" VAR_MILT_HEAD_CHECKS \\\n\t\t\t\t\" $\" VAR_MIMEHDR_CHECKS \\\n\t\t\t\t\"
        $\" VAR_NESTHDR_CHECKS \\\n\t\t\t\t\" $\" VAR_SMTP_BODY_CHKS \\\n\t\t\t\t\"
        $\" VAR_SMTP_HEAD_CHKS \\\n\t\t\t\t\" $\" VAR_SMTP_MIME_CHKS \\\n\t\t\t\t\"
        $\" VAR_SMTP_NEST_CHKS \\\n\t\t\t\t\" $\" VAR_SMTPD_REJECT_FILTER_MAPS"
    - item_type: preproc_def
      name: VAR_PROXY_WRITE_MAPS
      pos:
        line_end: 2575
        line_start: 2574
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"proxy_write_maps"'
    - item_type: preproc_def
      name: DEF_PROXY_WRITE_MAPS
      pos:
        line_end: 2579
        line_start: 2575
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"$\" VAR_SMTP_SASL_AUTH_CACHE_NAME \\\n\t\t\t\t\" $\" VAR_LMTP_SASL_AUTH_CACHE_NAME
        \\\n\t\t\t\t\" $\" VAR_VERIFY_MAP \\\n\t\t\t\t\" $\" VAR_PSC_CACHE_MAP"
    - item_type: preproc_def
      name: VAR_PROXY_READ_ACL
      pos:
        line_end: 2582
        line_start: 2581
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"proxy_read_access_list"'
    - item_type: preproc_def
      name: DEF_PROXY_READ_ACL
      pos:
        line_end: 2583
        line_start: 2582
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject"'
    - item_type: preproc_def
      name: VAR_PROXY_WRITE_ACL
      pos:
        line_end: 2586
        line_start: 2585
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"proxy_write_access_list"'
    - item_type: preproc_def
      name: DEF_PROXY_WRITE_ACL
      pos:
        line_end: 2587
        line_start: 2586
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reject"'
    - item_type: preproc_def
      name: VAR_PROCNAME
      pos:
        line_end: 2593
        line_start: 2592
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"process_name"'
    - item_type: preproc_def
      name: VAR_SERVNAME
      pos:
        line_end: 2596
        line_start: 2595
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"service_name"'
    - item_type: preproc_def
      name: VAR_PID
      pos:
        line_end: 2599
        line_start: 2598
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"process_id"'
    - item_type: preproc_def
      name: VAR_DEBUG_COMMAND
      pos:
        line_end: 2602
        line_start: 2601
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"debugger_command"'
    - item_type: preproc_def
      name: VAR_DONT_REMOVE
      pos:
        line_end: 2607
        line_start: 2606
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"dont_remove"'
    - item_type: preproc_def
      name: DEF_DONT_REMOVE
      pos:
        line_end: 2608
        line_start: 2607
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SOFT_BOUNCE
      pos:
        line_end: 2614
        line_start: 2613
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"soft_bounce"'
    - item_type: preproc_def
      name: DEF_SOFT_BOUNCE
      pos:
        line_end: 2615
        line_start: 2614
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_OWNREQ_SPECIAL
      pos:
        line_end: 2621
        line_start: 2620
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"owner_request_special"'
    - item_type: preproc_def
      name: DEF_OWNREQ_SPECIAL
      pos:
        line_end: 2622
        line_start: 2621
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_ALLOW_MIN_USER
      pos:
        line_end: 2628
        line_start: 2627
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"allow_min_user"'
    - item_type: preproc_def
      name: DEF_ALLOW_MIN_USER
      pos:
        line_end: 2629
        line_start: 2628
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_FILTER_XPORT
      pos:
        line_end: 2637
        line_start: 2636
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"content_filter"'
    - item_type: preproc_def
      name: DEF_FILTER_XPORT
      pos:
        line_end: 2638
        line_start: 2637
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_DEF_FILTER_NEXTHOP
      pos:
        line_end: 2641
        line_start: 2640
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"default_filter_nexthop"'
    - item_type: preproc_def
      name: DEF_DEF_FILTER_NEXTHOP
      pos:
        line_end: 2642
        line_start: 2641
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_FFLUSH_DOMAINS
      pos:
        line_end: 2648
        line_start: 2647
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"fast_flush_domains"'
    - item_type: preproc_def
      name: DEF_FFLUSH_DOMAINS
      pos:
        line_end: 2649
        line_start: 2648
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$relay_domains"'
    - item_type: preproc_def
      name: VAR_FFLUSH_PURGE
      pos:
        line_end: 2652
        line_start: 2651
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"fast_flush_purge_time"'
    - item_type: preproc_def
      name: DEF_FFLUSH_PURGE
      pos:
        line_end: 2653
        line_start: 2652
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"7d"'
    - item_type: preproc_def
      name: VAR_FFLUSH_REFRESH
      pos:
        line_end: 2656
        line_start: 2655
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"fast_flush_refresh_time"'
    - item_type: preproc_def
      name: DEF_FFLUSH_REFRESH
      pos:
        line_end: 2657
        line_start: 2656
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"12h"'
    - item_type: preproc_def
      name: VAR_IMPORT_ENVIRON
      pos:
        line_end: 2664
        line_start: 2663
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"import_environment"'
    - item_type: preproc_def
      name: DEF_IMPORT_ENVIRON
      pos:
        line_end: 2668
        line_start: 2664
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"MAIL_CONFIG MAIL_DEBUG MAIL_LOGTAG \" \\\n\t\t\t\t\t\"TZ XAUTHORITY
        DISPLAY LANG=C \" \\\n\t\t\t\t\t\"POSTLOG_SERVICE POSTLOG_HOSTNAME \" \\\n\t\t\t\t\t\"XDG_RUNTIME_DIR\""
    - item_type: preproc_def
      name: VAR_EXPORT_ENVIRON
      pos:
        line_end: 2671
        line_start: 2670
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"export_environment"'
    - item_type: preproc_def
      name: DEF_EXPORT_ENVIRON
      pos:
        line_end: 2672
        line_start: 2671
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"TZ MAIL_CONFIG LANG"'
    - item_type: preproc_def
      name: VAR_VIRT_TRANSPORT
      pos:
        line_end: 2678
        line_start: 2677
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"virtual_transport"'
    - item_type: preproc_def
      name: DEF_VIRT_TRANSPORT
      pos:
        line_end: 2679
        line_start: 2678
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: MAIL_SERVICE_VIRTUAL
    - item_type: preproc_def
      name: VAR_VIRT_MAILBOX_MAPS
      pos:
        line_end: 2682
        line_start: 2681
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"virtual_mailbox_maps"'
    - item_type: preproc_def
      name: DEF_VIRT_MAILBOX_MAPS
      pos:
        line_end: 2683
        line_start: 2682
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_VIRT_MAILBOX_DOMS
      pos:
        line_end: 2686
        line_start: 2685
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"virtual_mailbox_domains"'
    - item_type: preproc_def
      name: DEF_VIRT_MAILBOX_DOMS
      pos:
        line_end: 2687
        line_start: 2686
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$virtual_mailbox_maps"'
    - item_type: preproc_def
      name: VAR_VIRT_MAILBOX_CODE
      pos:
        line_end: 2690
        line_start: 2689
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"unknown_virtual_mailbox_reject_code"'
    - item_type: preproc_def
      name: DEF_VIRT_MAILBOX_CODE
      pos:
        line_end: 2691
        line_start: 2690
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '550'
    - item_type: preproc_def
      name: VAR_VIRT_UID_MAPS
      pos:
        line_end: 2694
        line_start: 2693
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"virtual_uid_maps"'
    - item_type: preproc_def
      name: DEF_VIRT_UID_MAPS
      pos:
        line_end: 2695
        line_start: 2694
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_VIRT_GID_MAPS
      pos:
        line_end: 2698
        line_start: 2697
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"virtual_gid_maps"'
    - item_type: preproc_def
      name: DEF_VIRT_GID_MAPS
      pos:
        line_end: 2699
        line_start: 2698
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_VIRT_MINUID
      pos:
        line_end: 2702
        line_start: 2701
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"virtual_minimum_uid"'
    - item_type: preproc_def
      name: DEF_VIRT_MINUID
      pos:
        line_end: 2703
        line_start: 2702
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '100'
    - item_type: preproc_def
      name: VAR_VIRT_MAILBOX_BASE
      pos:
        line_end: 2706
        line_start: 2705
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"virtual_mailbox_base"'
    - item_type: preproc_def
      name: DEF_VIRT_MAILBOX_BASE
      pos:
        line_end: 2707
        line_start: 2706
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_VIRT_MAILBOX_LIMIT
      pos:
        line_end: 2710
        line_start: 2709
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"virtual_mailbox_limit"'
    - item_type: preproc_def
      name: DEF_VIRT_MAILBOX_LIMIT
      pos:
        line_end: 2711
        line_start: 2710
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: (5 * DEF_MESSAGE_LIMIT)
    - item_type: preproc_def
      name: VAR_VIRT_MAILBOX_LOCK
      pos:
        line_end: 2714
        line_start: 2713
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"virtual_mailbox_lock"'
    - item_type: preproc_def
      name: DEF_VIRT_MAILBOX_LOCK
      pos:
        line_end: 2715
        line_start: 2714
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"fcntl, dotlock"'
    - item_type: preproc_def
      name: VAR_SYSLOG_NAME
      pos:
        line_end: 2721
        line_start: 2720
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"syslog_name"'
    - item_type: preproc_def
      name: DEF_SYSLOG_NAME
      pos:
        line_end: 2724
        line_start: 2722
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"${" VAR_MULTI_NAME "?{$" VAR_MULTI_NAME "}:{postfix}}"'
    - item_type: preproc_def
      name: DEF_SYSLOG_NAME
      pos:
        line_end: 2726
        line_start: 2725
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postfix"'
    - item_type: preproc_def
      name: VAR_QMQPD_CLIENTS
      pos:
        line_end: 2733
        line_start: 2732
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"qmqpd_authorized_clients"'
    - item_type: preproc_def
      name: DEF_QMQPD_CLIENTS
      pos:
        line_end: 2734
        line_start: 2733
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_QMTPD_TMOUT
      pos:
        line_end: 2737
        line_start: 2736
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"qmqpd_timeout"'
    - item_type: preproc_def
      name: DEF_QMTPD_TMOUT
      pos:
        line_end: 2738
        line_start: 2737
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"300s"'
    - item_type: preproc_def
      name: VAR_QMTPD_ERR_SLEEP
      pos:
        line_end: 2741
        line_start: 2740
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"qmqpd_error_delay"'
    - item_type: preproc_def
      name: DEF_QMTPD_ERR_SLEEP
      pos:
        line_end: 2742
        line_start: 2741
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"1s"'
    - item_type: preproc_def
      name: VAR_VERP_DELIMS
      pos:
        line_end: 2749
        line_start: 2748
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"default_verp_delimiters"'
    - item_type: preproc_def
      name: DEF_VERP_DELIMS
      pos:
        line_end: 2750
        line_start: 2749
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"+="'
    - item_type: preproc_def
      name: VAR_VERP_FILTER
      pos:
        line_end: 2753
        line_start: 2752
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"verp_delimiter_filter"'
    - item_type: preproc_def
      name: DEF_VERP_FILTER
      pos:
        line_end: 2754
        line_start: 2753
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"-=+"'
    - item_type: preproc_def
      name: VAR_VERP_BOUNCE_OFF
      pos:
        line_end: 2757
        line_start: 2756
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"disable_verp_bounces"'
    - item_type: preproc_def
      name: DEF_VERP_BOUNCE_OFF
      pos:
        line_end: 2758
        line_start: 2757
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_VERP_CLIENTS
      pos:
        line_end: 2761
        line_start: 2760
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_authorized_verp_clients"'
    - item_type: preproc_def
      name: DEF_VERP_CLIENTS
      pos:
        line_end: 2762
        line_start: 2761
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$authorized_verp_clients"'
    - item_type: preproc_def
      name: VAR_XCLIENT_HOSTS
      pos:
        line_end: 2768
        line_start: 2767
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_authorized_xclient_hosts"'
    - item_type: preproc_def
      name: DEF_XCLIENT_HOSTS
      pos:
        line_end: 2769
        line_start: 2768
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_XFORWARD_HOSTS
      pos:
        line_end: 2775
        line_start: 2774
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_authorized_xforward_hosts"'
    - item_type: preproc_def
      name: DEF_XFORWARD_HOSTS
      pos:
        line_end: 2776
        line_start: 2775
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_IN_FLOW_DELAY
      pos:
        line_end: 2788
        line_start: 2787
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"in_flow_delay"'
    - item_type: preproc_def
      name: DEF_IN_FLOW_DELAY
      pos:
        line_end: 2790
        line_start: 2789
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"0s"'
    - item_type: preproc_def
      name: DEF_IN_FLOW_DELAY
      pos:
        line_end: 2792
        line_start: 2791
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"1s"'
    - item_type: preproc_def
      name: VAR_PAR_DOM_MATCH
      pos:
        line_end: 2799
        line_start: 2798
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"parent_domain_matches_subdomains"'
    - item_type: preproc_def
      name: DEF_PAR_DOM_MATCH
      pos:
        line_end: 2806
        line_start: 2799
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "VAR_DEBUG_PEER_LIST \",\" \\\n\t\t\t\t\tVAR_FFLUSH_DOMAINS \",\"
        \\\n\t\t\t\t\tVAR_MYNETWORKS \",\" \\\n\t\t\t\t\tVAR_PERM_MX_NETWORKS \",\"
        \\\n\t\t\t\t\tVAR_QMQPD_CLIENTS \",\" \\\n\t\t\t\t\tVAR_RELAY_DOMAINS \",\"
        \\\n\t\t\t\t\tSMTPD_ACCESS_MAPS"
    - item_type: preproc_def
      name: SMTPD_ACCESS_MAPS
      pos:
        line_end: 2809
        line_start: 2808
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_access_maps"'
    - item_type: preproc_def
      name: VAR_FAULT_INJ_CODE
      pos:
        line_end: 2814
        line_start: 2813
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"fault_injection_code"'
    - item_type: preproc_def
      name: DEF_FAULT_INJ_CODE
      pos:
        line_end: 2815
        line_start: 2814
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SENDMAIL_PATH
      pos:
        line_end: 2821
        line_start: 2820
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"sendmail_path"'
    - item_type: preproc_def
      name: DEF_SENDMAIL_PATH
      pos:
        line_end: 2823
        line_start: 2822
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"/usr/sbin/sendmail"'
    - item_type: preproc_def
      name: VAR_MAILQ_PATH
      pos:
        line_end: 2826
        line_start: 2825
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"mailq_path"'
    - item_type: preproc_def
      name: DEF_MAILQ_PATH
      pos:
        line_end: 2828
        line_start: 2827
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"/usr/bin/mailq"'
    - item_type: preproc_def
      name: VAR_NEWALIAS_PATH
      pos:
        line_end: 2831
        line_start: 2830
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"newaliases_path"'
    - item_type: preproc_def
      name: DEF_NEWALIAS_PATH
      pos:
        line_end: 2833
        line_start: 2832
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"/usr/bin/newaliases"'
    - item_type: preproc_def
      name: VAR_OPENSSL_PATH
      pos:
        line_end: 2836
        line_start: 2835
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"openssl_path"'
    - item_type: preproc_def
      name: DEF_OPENSSL_PATH
      pos:
        line_end: 2838
        line_start: 2837
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"openssl"'
    - item_type: preproc_def
      name: VAR_MANPAGE_DIR
      pos:
        line_end: 2842
        line_start: 2841
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"manpage_directory"'
    - item_type: preproc_def
      name: DEF_MANPAGE_DIR
      pos:
        line_end: 2844
        line_start: 2843
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"/usr/local/man"'
    - item_type: preproc_def
      name: VAR_SAMPLE_DIR
      pos:
        line_end: 2847
        line_start: 2846
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"sample_directory"'
    - item_type: preproc_def
      name: DEF_SAMPLE_DIR
      pos:
        line_end: 2849
        line_start: 2848
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: DEF_CONFIG_DIR
    - item_type: preproc_def
      name: VAR_README_DIR
      pos:
        line_end: 2852
        line_start: 2851
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"readme_directory"'
    - item_type: preproc_def
      name: DEF_README_DIR
      pos:
        line_end: 2854
        line_start: 2853
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"no"'
    - item_type: preproc_def
      name: VAR_HTML_DIR
      pos:
        line_end: 2857
        line_start: 2856
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"html_directory"'
    - item_type: preproc_def
      name: DEF_HTML_DIR
      pos:
        line_end: 2859
        line_start: 2858
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"no"'
    - item_type: preproc_def
      name: VAR_RESOLVE_DEQUOTED
      pos:
        line_end: 2869
        line_start: 2868
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"resolve_dequoted_address"'
    - item_type: preproc_def
      name: DEF_RESOLVE_DEQUOTED
      pos:
        line_end: 2870
        line_start: 2869
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_RESOLVE_NULLDOM
      pos:
        line_end: 2873
        line_start: 2872
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"resolve_null_domain"'
    - item_type: preproc_def
      name: DEF_RESOLVE_NULLDOM
      pos:
        line_end: 2874
        line_start: 2873
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_RESOLVE_NUM_DOM
      pos:
        line_end: 2877
        line_start: 2876
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"resolve_numeric_domain"'
    - item_type: preproc_def
      name: DEF_RESOLVE_NUM_DOM
      pos:
        line_end: 2878
        line_start: 2877
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_BOUNCE_SERVICE
      pos:
        line_end: 2888
        line_start: 2887
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"bounce_service_name"'
    - item_type: preproc_def
      name: DEF_BOUNCE_SERVICE
      pos:
        line_end: 2889
        line_start: 2888
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: MAIL_SERVICE_BOUNCE
    - item_type: preproc_def
      name: VAR_CLEANUP_SERVICE
      pos:
        line_end: 2892
        line_start: 2891
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"cleanup_service_name"'
    - item_type: preproc_def
      name: DEF_CLEANUP_SERVICE
      pos:
        line_end: 2893
        line_start: 2892
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: MAIL_SERVICE_CLEANUP
    - item_type: preproc_def
      name: VAR_DEFER_SERVICE
      pos:
        line_end: 2896
        line_start: 2895
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"defer_service_name"'
    - item_type: preproc_def
      name: DEF_DEFER_SERVICE
      pos:
        line_end: 2897
        line_start: 2896
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: MAIL_SERVICE_DEFER
    - item_type: preproc_def
      name: VAR_PICKUP_SERVICE
      pos:
        line_end: 2900
        line_start: 2899
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"pickup_service_name"'
    - item_type: preproc_def
      name: DEF_PICKUP_SERVICE
      pos:
        line_end: 2901
        line_start: 2900
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: MAIL_SERVICE_PICKUP
    - item_type: preproc_def
      name: VAR_QUEUE_SERVICE
      pos:
        line_end: 2904
        line_start: 2903
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"queue_service_name"'
    - item_type: preproc_def
      name: DEF_QUEUE_SERVICE
      pos:
        line_end: 2905
        line_start: 2904
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: MAIL_SERVICE_QUEUE
    - item_type: preproc_def
      name: VAR_REWRITE_SERVICE
      pos:
        line_end: 2910
        line_start: 2909
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"rewrite_service_name"'
    - item_type: preproc_def
      name: DEF_REWRITE_SERVICE
      pos:
        line_end: 2911
        line_start: 2910
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: MAIL_SERVICE_REWRITE
    - item_type: preproc_def
      name: VAR_SHOWQ_SERVICE
      pos:
        line_end: 2914
        line_start: 2913
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"showq_service_name"'
    - item_type: preproc_def
      name: DEF_SHOWQ_SERVICE
      pos:
        line_end: 2915
        line_start: 2914
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: MAIL_SERVICE_SHOWQ
    - item_type: preproc_def
      name: VAR_ERROR_SERVICE
      pos:
        line_end: 2918
        line_start: 2917
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"error_service_name"'
    - item_type: preproc_def
      name: DEF_ERROR_SERVICE
      pos:
        line_end: 2919
        line_start: 2918
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: MAIL_SERVICE_ERROR
    - item_type: preproc_def
      name: VAR_FLUSH_SERVICE
      pos:
        line_end: 2922
        line_start: 2921
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"flush_service_name"'
    - item_type: preproc_def
      name: DEF_FLUSH_SERVICE
      pos:
        line_end: 2923
        line_start: 2922
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: MAIL_SERVICE_FLUSH
    - item_type: preproc_def
      name: VAR_SCACHE_SERVICE
      pos:
        line_end: 2929
        line_start: 2928
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"connection_cache_service_name"'
    - item_type: preproc_def
      name: DEF_SCACHE_SERVICE
      pos:
        line_end: 2930
        line_start: 2929
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"scache"'
    - item_type: preproc_def
      name: VAR_SCACHE_PROTO_TMOUT
      pos:
        line_end: 2933
        line_start: 2932
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"connection_cache_protocol_timeout"'
    - item_type: preproc_def
      name: DEF_SCACHE_PROTO_TMOUT
      pos:
        line_end: 2934
        line_start: 2933
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"5s"'
    - item_type: preproc_def
      name: VAR_SCACHE_TTL_LIM
      pos:
        line_end: 2937
        line_start: 2936
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"connection_cache_ttl_limit"'
    - item_type: preproc_def
      name: DEF_SCACHE_TTL_LIM
      pos:
        line_end: 2938
        line_start: 2937
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"2s"'
    - item_type: preproc_def
      name: VAR_SCACHE_STAT_TIME
      pos:
        line_end: 2941
        line_start: 2940
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"connection_cache_status_update_time"'
    - item_type: preproc_def
      name: DEF_SCACHE_STAT_TIME
      pos:
        line_end: 2942
        line_start: 2941
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"600s"'
    - item_type: preproc_def
      name: VAR_VRFY_PEND_LIMIT
      pos:
        line_end: 2945
        line_start: 2944
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"address_verify_pending_request_limit"'
    - item_type: preproc_def
      name: DEF_VRFY_PEND_LIMIT
      pos:
        line_end: 2946
        line_start: 2945
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: (DEF_QMGR_ACT_LIMIT / 4)
    - item_type: preproc_def
      name: VAR_VERIFY_SERVICE
      pos:
        line_end: 2952
        line_start: 2951
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"address_verify_service_name"'
    - item_type: preproc_def
      name: DEF_VERIFY_SERVICE
      pos:
        line_end: 2953
        line_start: 2952
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: MAIL_SERVICE_VERIFY
    - item_type: preproc_def
      name: VAR_VERIFY_MAP
      pos:
        line_end: 2956
        line_start: 2955
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"address_verify_map"'
    - item_type: preproc_def
      name: DEF_VERIFY_MAP
      pos:
        line_end: 2957
        line_start: 2956
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"btree:$data_directory/verify_cache"'
    - item_type: preproc_def
      name: VAR_VERIFY_POS_EXP
      pos:
        line_end: 2960
        line_start: 2959
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"address_verify_positive_expire_time"'
    - item_type: preproc_def
      name: DEF_VERIFY_POS_EXP
      pos:
        line_end: 2961
        line_start: 2960
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"31d"'
    - item_type: preproc_def
      name: VAR_VERIFY_POS_TRY
      pos:
        line_end: 2964
        line_start: 2963
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"address_verify_positive_refresh_time"'
    - item_type: preproc_def
      name: DEF_VERIFY_POS_TRY
      pos:
        line_end: 2965
        line_start: 2964
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"7d"'
    - item_type: preproc_def
      name: VAR_VERIFY_NEG_EXP
      pos:
        line_end: 2968
        line_start: 2967
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"address_verify_negative_expire_time"'
    - item_type: preproc_def
      name: DEF_VERIFY_NEG_EXP
      pos:
        line_end: 2969
        line_start: 2968
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"3d"'
    - item_type: preproc_def
      name: VAR_VERIFY_NEG_TRY
      pos:
        line_end: 2972
        line_start: 2971
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"address_verify_negative_refresh_time"'
    - item_type: preproc_def
      name: DEF_VERIFY_NEG_TRY
      pos:
        line_end: 2973
        line_start: 2972
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"3h"'
    - item_type: preproc_def
      name: VAR_VERIFY_NEG_CACHE
      pos:
        line_end: 2976
        line_start: 2975
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"address_verify_negative_cache"'
    - item_type: preproc_def
      name: DEF_VERIFY_NEG_CACHE
      pos:
        line_end: 2977
        line_start: 2976
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_VERIFY_SCAN_CACHE
      pos:
        line_end: 2980
        line_start: 2979
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"address_verify_cache_cleanup_interval"'
    - item_type: preproc_def
      name: DEF_VERIFY_SCAN_CACHE
      pos:
        line_end: 2981
        line_start: 2980
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"12h"'
    - item_type: preproc_def
      name: VAR_VERIFY_SENDER
      pos:
        line_end: 2984
        line_start: 2983
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"address_verify_sender"'
    - item_type: preproc_def
      name: DEF_VERIFY_SENDER
      pos:
        line_end: 2985
        line_start: 2984
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_DOUBLE_BOUNCE'
    - item_type: preproc_def
      name: VAR_VERIFY_SENDER_TTL
      pos:
        line_end: 2988
        line_start: 2987
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"address_verify_sender_ttl"'
    - item_type: preproc_def
      name: DEF_VERIFY_SENDER_TTL
      pos:
        line_end: 2989
        line_start: 2988
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"0s"'
    - item_type: preproc_def
      name: VAR_VERIFY_POLL_COUNT
      pos:
        line_end: 2992
        line_start: 2991
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"address_verify_poll_count"'
    - item_type: preproc_def
      name: DEF_VERIFY_POLL_COUNT
      pos:
        line_end: 2993
        line_start: 2992
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"${stress?{1}:{3}}"'
    - item_type: preproc_def
      name: VAR_VERIFY_POLL_DELAY
      pos:
        line_end: 2996
        line_start: 2995
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"address_verify_poll_delay"'
    - item_type: preproc_def
      name: DEF_VERIFY_POLL_DELAY
      pos:
        line_end: 2997
        line_start: 2996
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"3s"'
    - item_type: preproc_def
      name: VAR_VRFY_LOCAL_XPORT
      pos:
        line_end: 3000
        line_start: 2999
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"address_verify_local_transport"'
    - item_type: preproc_def
      name: DEF_VRFY_LOCAL_XPORT
      pos:
        line_end: 3001
        line_start: 3000
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_LOCAL_TRANSPORT'
    - item_type: preproc_def
      name: VAR_VRFY_VIRT_XPORT
      pos:
        line_end: 3004
        line_start: 3003
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"address_verify_virtual_transport"'
    - item_type: preproc_def
      name: DEF_VRFY_VIRT_XPORT
      pos:
        line_end: 3005
        line_start: 3004
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_VIRT_TRANSPORT'
    - item_type: preproc_def
      name: VAR_VRFY_RELAY_XPORT
      pos:
        line_end: 3008
        line_start: 3007
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"address_verify_relay_transport"'
    - item_type: preproc_def
      name: DEF_VRFY_RELAY_XPORT
      pos:
        line_end: 3009
        line_start: 3008
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_RELAY_TRANSPORT'
    - item_type: preproc_def
      name: VAR_VRFY_DEF_XPORT
      pos:
        line_end: 3012
        line_start: 3011
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"address_verify_default_transport"'
    - item_type: preproc_def
      name: DEF_VRFY_DEF_XPORT
      pos:
        line_end: 3013
        line_start: 3012
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_DEF_TRANSPORT'
    - item_type: preproc_def
      name: VAR_VRFY_SND_DEF_XPORT_MAPS
      pos:
        line_end: 3016
        line_start: 3015
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"address_verify_" VAR_SND_DEF_XPORT_MAPS'
    - item_type: preproc_def
      name: DEF_VRFY_SND_DEF_XPORT_MAPS
      pos:
        line_end: 3017
        line_start: 3016
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SND_DEF_XPORT_MAPS'
    - item_type: preproc_def
      name: VAR_VRFY_RELAYHOST
      pos:
        line_end: 3020
        line_start: 3019
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"address_verify_relayhost"'
    - item_type: preproc_def
      name: DEF_VRFY_RELAYHOST
      pos:
        line_end: 3021
        line_start: 3020
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_RELAYHOST'
    - item_type: preproc_def
      name: VAR_VRFY_RELAY_MAPS
      pos:
        line_end: 3024
        line_start: 3023
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"address_verify_sender_dependent_relayhost_maps"'
    - item_type: preproc_def
      name: DEF_VRFY_RELAY_MAPS
      pos:
        line_end: 3025
        line_start: 3024
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SND_RELAY_MAPS'
    - item_type: preproc_def
      name: VAR_VRFY_XPORT_MAPS
      pos:
        line_end: 3028
        line_start: 3027
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"address_verify_transport_maps"'
    - item_type: preproc_def
      name: DEF_VRFY_XPORT_MAPS
      pos:
        line_end: 3029
        line_start: 3028
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_TRANSPORT_MAPS'
    - item_type: preproc_def
      name: SMTP_VRFY_TGT_RCPT
      pos:
        line_end: 3032
        line_start: 3031
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"rcpt"'
    - item_type: preproc_def
      name: SMTP_VRFY_TGT_DATA
      pos:
        line_end: 3033
        line_start: 3032
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"data"'
    - item_type: preproc_def
      name: VAR_LMTP_VRFY_TGT
      pos:
        line_end: 3034
        line_start: 3033
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_address_verify_target"'
    - item_type: preproc_def
      name: DEF_LMTP_VRFY_TGT
      pos:
        line_end: 3035
        line_start: 3034
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: SMTP_VRFY_TGT_RCPT
    - item_type: preproc_def
      name: VAR_SMTP_VRFY_TGT
      pos:
        line_end: 3036
        line_start: 3035
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_address_verify_target"'
    - item_type: preproc_def
      name: DEF_SMTP_VRFY_TGT
      pos:
        line_end: 3037
        line_start: 3036
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: SMTP_VRFY_TGT_RCPT
    - item_type: preproc_def
      name: VAR_TRACE_SERVICE
      pos:
        line_end: 3043
        line_start: 3042
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"trace_service_name"'
    - item_type: preproc_def
      name: DEF_TRACE_SERVICE
      pos:
        line_end: 3044
        line_start: 3043
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: MAIL_SERVICE_TRACE
    - item_type: preproc_def
      name: VAR_PROXYMAP_SERVICE
      pos:
        line_end: 3050
        line_start: 3049
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"proxymap_service_name"'
    - item_type: preproc_def
      name: DEF_PROXYMAP_SERVICE
      pos:
        line_end: 3051
        line_start: 3050
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: MAIL_SERVICE_PROXYMAP
    - item_type: preproc_def
      name: VAR_PROXYWRITE_SERVICE
      pos:
        line_end: 3054
        line_start: 3053
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"proxywrite_service_name"'
    - item_type: preproc_def
      name: DEF_PROXYWRITE_SERVICE
      pos:
        line_end: 3055
        line_start: 3054
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: MAIL_SERVICE_PROXYWRITE
    - item_type: preproc_def
      name: VAR_MBX_DEFER_ERRS
      pos:
        line_end: 3061
        line_start: 3060
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"mailbox_defer_errors"'
    - item_type: preproc_def
      name: DEF_MBX_DEFER_ERRS
      pos:
        line_end: 3062
        line_start: 3061
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"eagain, enospc, estale"'
    - item_type: preproc_def
      name: VAR_MDR_DEFER_ERRS
      pos:
        line_end: 3065
        line_start: 3064
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"maildir_defer_errors"'
    - item_type: preproc_def
      name: DEF_MDR_DEFER_ERRS
      pos:
        line_end: 3066
        line_start: 3065
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"enospc, estale"'
    - item_type: preproc_def
      name: VAR_DB_CREATE_BUF
      pos:
        line_end: 3072
        line_start: 3071
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"berkeley_db_create_buffer_size"'
    - item_type: preproc_def
      name: DEF_DB_CREATE_BUF
      pos:
        line_end: 3073
        line_start: 3072
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: (16 * 1024 *1024)
    - item_type: preproc_def
      name: VAR_DB_READ_BUF
      pos:
        line_end: 3076
        line_start: 3075
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"berkeley_db_read_buffer_size"'
    - item_type: preproc_def
      name: DEF_DB_READ_BUF
      pos:
        line_end: 3077
        line_start: 3076
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: (128 *1024)
    - item_type: preproc_def
      name: VAR_LMDB_MAP_SIZE
      pos:
        line_end: 3083
        line_start: 3082
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmdb_map_size"'
    - item_type: preproc_def
      name: DEF_LMDB_MAP_SIZE
      pos:
        line_end: 3084
        line_start: 3083
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: (16 * 1024 *1024)
    - item_type: preproc_def
      name: VAR_QATTR_COUNT_LIMIT
      pos:
        line_end: 3090
        line_start: 3089
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"queue_file_attribute_count_limit"'
    - item_type: preproc_def
      name: DEF_QATTR_COUNT_LIMIT
      pos:
        line_end: 3091
        line_start: 3090
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '100'
    - item_type: preproc_def
      name: VAR_MIME_MAXDEPTH
      pos:
        line_end: 3097
        line_start: 3096
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"mime_nesting_limit"'
    - item_type: preproc_def
      name: DEF_MIME_MAXDEPTH
      pos:
        line_end: 3098
        line_start: 3097
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '100'
    - item_type: preproc_def
      name: VAR_MIME_BOUND_LEN
      pos:
        line_end: 3101
        line_start: 3100
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"mime_boundary_length_limit"'
    - item_type: preproc_def
      name: DEF_MIME_BOUND_LEN
      pos:
        line_end: 3102
        line_start: 3101
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '2048'
    - item_type: preproc_def
      name: VAR_DISABLE_MIME_INPUT
      pos:
        line_end: 3105
        line_start: 3104
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"disable_mime_input_processing"'
    - item_type: preproc_def
      name: DEF_DISABLE_MIME_INPUT
      pos:
        line_end: 3106
        line_start: 3105
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_DISABLE_MIME_OCONV
      pos:
        line_end: 3109
        line_start: 3108
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"disable_mime_output_conversion"'
    - item_type: preproc_def
      name: DEF_DISABLE_MIME_OCONV
      pos:
        line_end: 3110
        line_start: 3109
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_FORCE_MIME_ICONV
      pos:
        line_end: 3113
        line_start: 3112
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"force_mime_input_conversion"'
    - item_type: preproc_def
      name: DEF_FORCE_MIME_ICONV
      pos:
        line_end: 3114
        line_start: 3113
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_STRICT_8BITMIME
      pos:
        line_end: 3117
        line_start: 3116
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"strict_8bitmime"'
    - item_type: preproc_def
      name: DEF_STRICT_8BITMIME
      pos:
        line_end: 3118
        line_start: 3117
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_STRICT_7BIT_HDRS
      pos:
        line_end: 3121
        line_start: 3120
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"strict_7bit_headers"'
    - item_type: preproc_def
      name: DEF_STRICT_7BIT_HDRS
      pos:
        line_end: 3122
        line_start: 3121
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_STRICT_8BIT_BODY
      pos:
        line_end: 3125
        line_start: 3124
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"strict_8bitmime_body"'
    - item_type: preproc_def
      name: DEF_STRICT_8BIT_BODY
      pos:
        line_end: 3126
        line_start: 3125
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_STRICT_ENCODING
      pos:
        line_end: 3129
        line_start: 3128
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"strict_mime_encoding_domain"'
    - item_type: preproc_def
      name: DEF_STRICT_ENCODING
      pos:
        line_end: 3130
        line_start: 3129
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_AUTO_8BIT_ENC_HDR
      pos:
        line_end: 3133
        line_start: 3132
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"detect_8bit_encoding_header"'
    - item_type: preproc_def
      name: DEF_AUTO_8BIT_ENC_HDR
      pos:
        line_end: 3134
        line_start: 3133
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_SENDER_ROUTING
      pos:
        line_end: 3140
        line_start: 3139
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"sender_based_routing"'
    - item_type: preproc_def
      name: DEF_SENDER_ROUTING
      pos:
        line_end: 3141
        line_start: 3140
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_XPORT_NULL_KEY
      pos:
        line_end: 3144
        line_start: 3143
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"transport_null_address_lookup_key"'
    - item_type: preproc_def
      name: DEF_XPORT_NULL_KEY
      pos:
        line_end: 3145
        line_start: 3144
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"<>"'
    - item_type: preproc_def
      name: VAR_OLDLOG_COMPAT
      pos:
        line_end: 3151
        line_start: 3150
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"backwards_bounce_logfile_compatibility"'
    - item_type: preproc_def
      name: DEF_OLDLOG_COMPAT
      pos:
        line_end: 3152
        line_start: 3151
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_SMTPD_PROXY_FILT
      pos:
        line_end: 3158
        line_start: 3157
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_proxy_filter"'
    - item_type: preproc_def
      name: DEF_SMTPD_PROXY_FILT
      pos:
        line_end: 3159
        line_start: 3158
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_PROXY_EHLO
      pos:
        line_end: 3162
        line_start: 3161
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_proxy_ehlo"'
    - item_type: preproc_def
      name: DEF_SMTPD_PROXY_EHLO
      pos:
        line_end: 3163
        line_start: 3162
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_MYHOSTNAME'
    - item_type: preproc_def
      name: VAR_SMTPD_PROXY_TMOUT
      pos:
        line_end: 3166
        line_start: 3165
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_proxy_timeout"'
    - item_type: preproc_def
      name: DEF_SMTPD_PROXY_TMOUT
      pos:
        line_end: 3167
        line_start: 3166
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"100s"'
    - item_type: preproc_def
      name: VAR_SMTPD_PROXY_OPTS
      pos:
        line_end: 3170
        line_start: 3169
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_proxy_options"'
    - item_type: preproc_def
      name: DEF_SMTPD_PROXY_OPTS
      pos:
        line_end: 3171
        line_start: 3170
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_INPUT_TRANSP
      pos:
        line_end: 3179
        line_start: 3178
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"receive_override_options"'
    - item_type: preproc_def
      name: DEF_INPUT_TRANSP
      pos:
        line_end: 3180
        line_start: 3179
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_POLICY_TMOUT
      pos:
        line_end: 3186
        line_start: 3185
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_policy_service_timeout"'
    - item_type: preproc_def
      name: DEF_SMTPD_POLICY_TMOUT
      pos:
        line_end: 3187
        line_start: 3186
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"100s"'
    - item_type: preproc_def
      name: VAR_SMTPD_POLICY_REQ_LIMIT
      pos:
        line_end: 3190
        line_start: 3189
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_policy_service_request_limit"'
    - item_type: preproc_def
      name: DEF_SMTPD_POLICY_REQ_LIMIT
      pos:
        line_end: 3191
        line_start: 3190
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTPD_POLICY_IDLE
      pos:
        line_end: 3194
        line_start: 3193
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_policy_service_max_idle"'
    - item_type: preproc_def
      name: DEF_SMTPD_POLICY_IDLE
      pos:
        line_end: 3195
        line_start: 3194
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"300s"'
    - item_type: preproc_def
      name: VAR_SMTPD_POLICY_TTL
      pos:
        line_end: 3198
        line_start: 3197
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_policy_service_max_ttl"'
    - item_type: preproc_def
      name: DEF_SMTPD_POLICY_TTL
      pos:
        line_end: 3199
        line_start: 3198
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"1000s"'
    - item_type: preproc_def
      name: VAR_SMTPD_POLICY_TRY_LIMIT
      pos:
        line_end: 3202
        line_start: 3201
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_policy_service_try_limit"'
    - item_type: preproc_def
      name: DEF_SMTPD_POLICY_TRY_LIMIT
      pos:
        line_end: 3203
        line_start: 3202
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '2'
    - item_type: preproc_def
      name: VAR_SMTPD_POLICY_TRY_DELAY
      pos:
        line_end: 3206
        line_start: 3205
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_policy_service_retry_delay"'
    - item_type: preproc_def
      name: DEF_SMTPD_POLICY_TRY_DELAY
      pos:
        line_end: 3207
        line_start: 3206
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"1s"'
    - item_type: preproc_def
      name: VAR_SMTPD_POLICY_DEF_ACTION
      pos:
        line_end: 3210
        line_start: 3209
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_policy_service_default_action"'
    - item_type: preproc_def
      name: DEF_SMTPD_POLICY_DEF_ACTION
      pos:
        line_end: 3211
        line_start: 3210
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"451 4.3.5 Server configuration problem"'
    - item_type: preproc_def
      name: VAR_SMTPD_POLICY_CONTEXT
      pos:
        line_end: 3214
        line_start: 3213
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_policy_service_policy_context"'
    - item_type: preproc_def
      name: DEF_SMTPD_POLICY_CONTEXT
      pos:
        line_end: 3215
        line_start: 3214
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: CHECK_POLICY_SERVICE
      pos:
        line_end: 3218
        line_start: 3217
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_policy_service"'
    - item_type: preproc_def
      name: VAR_SMTPD_CRATE_LIMIT
      pos:
        line_end: 3223
        line_start: 3222
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_client_connection_rate_limit"'
    - item_type: preproc_def
      name: DEF_SMTPD_CRATE_LIMIT
      pos:
        line_end: 3224
        line_start: 3223
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTPD_CCONN_LIMIT
      pos:
        line_end: 3227
        line_start: 3226
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_client_connection_count_limit"'
    - item_type: preproc_def
      name: DEF_SMTPD_CCONN_LIMIT
      pos:
        line_end: 3228
        line_start: 3227
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: ((DEF_PROC_LIMIT + 1) / 2)
    - item_type: preproc_def
      name: VAR_SMTPD_CMAIL_LIMIT
      pos:
        line_end: 3231
        line_start: 3230
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_client_message_rate_limit"'
    - item_type: preproc_def
      name: DEF_SMTPD_CMAIL_LIMIT
      pos:
        line_end: 3232
        line_start: 3231
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTPD_CRCPT_LIMIT
      pos:
        line_end: 3235
        line_start: 3234
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_client_recipient_rate_limit"'
    - item_type: preproc_def
      name: DEF_SMTPD_CRCPT_LIMIT
      pos:
        line_end: 3236
        line_start: 3235
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTPD_CNTLS_LIMIT
      pos:
        line_end: 3239
        line_start: 3238
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_client_new_tls_session_rate_limit"'
    - item_type: preproc_def
      name: DEF_SMTPD_CNTLS_LIMIT
      pos:
        line_end: 3240
        line_start: 3239
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTPD_CAUTH_LIMIT
      pos:
        line_end: 3243
        line_start: 3242
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_client_auth_rate_limit"'
    - item_type: preproc_def
      name: DEF_SMTPD_CAUTH_LIMIT
      pos:
        line_end: 3244
        line_start: 3243
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTPD_CIPV4_PREFIX
      pos:
        line_end: 3247
        line_start: 3246
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_client_ipv4_prefix_length"'
    - item_type: preproc_def
      name: DEF_SMTPD_CIPV4_PREFIX
      pos:
        line_end: 3248
        line_start: 3247
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '32'
    - item_type: preproc_def
      name: MAX_SMTPD_CIPV4_PREFIX
      pos:
        line_end: 3249
        line_start: 3248
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '32'
    - item_type: preproc_def
      name: VAR_SMTPD_CIPV6_PREFIX
      pos:
        line_end: 3252
        line_start: 3251
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_client_ipv6_prefix_length"'
    - item_type: preproc_def
      name: DEF_SMTPD_CIPV6_PREFIX
      pos:
        line_end: 3253
        line_start: 3252
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '84'
    - item_type: preproc_def
      name: MAX_SMTPD_CIPV6_PREFIX
      pos:
        line_end: 3254
        line_start: 3253
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '128'
    - item_type: preproc_def
      name: VAR_SMTPD_HOGGERS
      pos:
        line_end: 3257
        line_start: 3256
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_client_event_limit_exceptions"'
    - item_type: preproc_def
      name: DEF_SMTPD_HOGGERS
      pos:
        line_end: 3258
        line_start: 3257
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"${smtpd_client_connection_limit_exceptions:$" VAR_MYNETWORKS
        "}"'
    - item_type: preproc_def
      name: VAR_ANVIL_TIME_UNIT
      pos:
        line_end: 3261
        line_start: 3260
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"anvil_rate_time_unit"'
    - item_type: preproc_def
      name: DEF_ANVIL_TIME_UNIT
      pos:
        line_end: 3262
        line_start: 3261
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"60s"'
    - item_type: preproc_def
      name: VAR_ANVIL_STAT_TIME
      pos:
        line_end: 3265
        line_start: 3264
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"anvil_status_update_time"'
    - item_type: preproc_def
      name: DEF_ANVIL_STAT_TIME
      pos:
        line_end: 3266
        line_start: 3265
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"600s"'
    - item_type: preproc_def
      name: VAR_ANVIL_SERVICE
      pos:
        line_end: 3275
        line_start: 3274
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"client_connection_rate_service_name"'
    - item_type: preproc_def
      name: DEF_ANVIL_SERVICE
      pos:
        line_end: 3276
        line_start: 3275
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"local:" ANVIL_CLASS "/" ANVIL_SERVICE'
    - item_type: preproc_def
      name: VAR_REM_RWR_DOMAIN
      pos:
        line_end: 3284
        line_start: 3283
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"remote_header_rewrite_domain"'
    - item_type: preproc_def
      name: DEF_REM_RWR_DOMAIN
      pos:
        line_end: 3285
        line_start: 3284
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: CHECK_ADDR_MAP
      pos:
        line_end: 3288
        line_start: 3287
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"check_address_map"'
    - item_type: preproc_def
      name: VAR_LOC_RWR_CLIENTS
      pos:
        line_end: 3290
        line_start: 3289
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"local_header_rewrite_clients"'
    - item_type: preproc_def
      name: DEF_LOC_RWR_CLIENTS
      pos:
        line_end: 3291
        line_start: 3290
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: PERMIT_INET_INTERFACES
    - item_type: preproc_def
      name: VAR_SMTPD_EHLO_DIS_WORDS
      pos:
        line_end: 3297
        line_start: 3296
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_discard_ehlo_keywords"'
    - item_type: preproc_def
      name: DEF_SMTPD_EHLO_DIS_WORDS
      pos:
        line_end: 3298
        line_start: 3297
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_EHLO_DIS_MAPS
      pos:
        line_end: 3301
        line_start: 3300
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_discard_ehlo_keyword_address_maps"'
    - item_type: preproc_def
      name: DEF_SMTPD_EHLO_DIS_MAPS
      pos:
        line_end: 3302
        line_start: 3301
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_EHLO_DIS_WORDS
      pos:
        line_end: 3305
        line_start: 3304
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_discard_ehlo_keywords"'
    - item_type: preproc_def
      name: DEF_SMTP_EHLO_DIS_WORDS
      pos:
        line_end: 3306
        line_start: 3305
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_EHLO_DIS_WORDS
      pos:
        line_end: 3307
        line_start: 3306
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_discard_lhlo_keywords"'
    - item_type: preproc_def
      name: DEF_LMTP_EHLO_DIS_WORDS
      pos:
        line_end: 3308
        line_start: 3307
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_EHLO_DIS_MAPS
      pos:
        line_end: 3311
        line_start: 3310
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_discard_ehlo_keyword_address_maps"'
    - item_type: preproc_def
      name: DEF_SMTP_EHLO_DIS_MAPS
      pos:
        line_end: 3312
        line_start: 3311
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_EHLO_DIS_MAPS
      pos:
        line_end: 3313
        line_start: 3312
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_discard_lhlo_keyword_address_maps"'
    - item_type: preproc_def
      name: DEF_LMTP_EHLO_DIS_MAPS
      pos:
        line_end: 3314
        line_start: 3313
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_MSG_REJECT_CHARS
      pos:
        line_end: 3325
        line_start: 3324
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"message_reject_characters"'
    - item_type: preproc_def
      name: DEF_MSG_REJECT_CHARS
      pos:
        line_end: 3326
        line_start: 3325
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_MSG_STRIP_CHARS
      pos:
        line_end: 3329
        line_start: 3328
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"message_strip_characters"'
    - item_type: preproc_def
      name: DEF_MSG_STRIP_CHARS
      pos:
        line_end: 3330
        line_start: 3329
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_FROZEN_DELIVERED
      pos:
        line_end: 3336
        line_start: 3335
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"frozen_delivered_to"'
    - item_type: preproc_def
      name: DEF_FROZEN_DELIVERED
      pos:
        line_end: 3337
        line_start: 3336
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_RESET_OWNER_ATTR
      pos:
        line_end: 3340
        line_start: 3339
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reset_owner_alias"'
    - item_type: preproc_def
      name: DEF_RESET_OWNER_ATTR
      pos:
        line_end: 3341
        line_start: 3340
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_DELAY_MAX_RES
      pos:
        line_end: 3347
        line_start: 3346
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"delay_logging_resolution_limit"'
    - item_type: preproc_def
      name: MAX_DELAY_MAX_RES
      pos:
        line_end: 3348
        line_start: 3347
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '6'
    - item_type: preproc_def
      name: DEF_DELAY_MAX_RES
      pos:
        line_end: 3349
        line_start: 3348
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '2'
    - item_type: preproc_def
      name: MIN_DELAY_MAX_RES
      pos:
        line_end: 3350
        line_start: 3349
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_BOUNCE_TMPL
      pos:
        line_end: 3356
        line_start: 3355
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"bounce_template_file"'
    - item_type: preproc_def
      name: DEF_BOUNCE_TMPL
      pos:
        line_end: 3357
        line_start: 3356
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_SENDER_AUTH
      pos:
        line_end: 3363
        line_start: 3362
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_sender_dependent_authentication"'
    - item_type: preproc_def
      name: DEF_SMTP_SENDER_AUTH
      pos:
        line_end: 3364
        line_start: 3363
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_LMTP_SENDER_AUTH
      pos:
        line_end: 3365
        line_start: 3364
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_sender_dependent_authentication"'
    - item_type: preproc_def
      name: DEF_LMTP_SENDER_AUTH
      pos:
        line_end: 3366
        line_start: 3365
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTP_CNAME_OVERR
      pos:
        line_end: 3372
        line_start: 3371
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_cname_overrides_servername"'
    - item_type: preproc_def
      name: DEF_SMTP_CNAME_OVERR
      pos:
        line_end: 3373
        line_start: 3372
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_LMTP_CNAME_OVERR
      pos:
        line_end: 3374
        line_start: 3373
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_cname_overrides_servername"'
    - item_type: preproc_def
      name: DEF_LMTP_CNAME_OVERR
      pos:
        line_end: 3375
        line_start: 3374
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_TLS_CNF_FILE
      pos:
        line_end: 3381
        line_start: 3380
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_config_file"'
    - item_type: preproc_def
      name: DEF_TLS_CNF_FILE
      pos:
        line_end: 3382
        line_start: 3381
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"default"'
    - item_type: preproc_def
      name: VAR_TLS_CNF_NAME
      pos:
        line_end: 3385
        line_start: 3384
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_config_name"'
    - item_type: preproc_def
      name: DEF_TLS_CNF_NAME
      pos:
        line_end: 3386
        line_start: 3385
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: TLS_EXCL_CIPHS
      pos:
        line_end: 3392
        line_start: 3391
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '":!SEED:!IDEA:!3DES:!RC2:!RC4:!RC5"'
    - item_type: preproc_def
      name: TLS_EXCL_KEXCH
      pos:
        line_end: 3393
        line_start: 3392
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '":!kDH:!kECDH"'
    - item_type: preproc_def
      name: TLS_EXCL_PKEYS
      pos:
        line_end: 3394
        line_start: 3393
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '":!aDSS"'
    - item_type: preproc_def
      name: TLS_EXCL_DGSTS
      pos:
        line_end: 3395
        line_start: 3394
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '":!MD5"'
    - item_type: preproc_def
      name: TLS_EXCL
      pos:
        line_end: 3396
        line_start: 3395
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: TLS_EXCL_CIPHS TLS_EXCL_REST
    - item_type: preproc_def
      name: TLS_EXCL_REST
      pos:
        line_end: 3397
        line_start: 3396
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: TLS_EXCL_KEXCH TLS_EXCL_PKEYS TLS_EXCL_DGSTS
    - item_type: preproc_def
      name: VAR_TLS_HIGH_CLIST
      pos:
        line_end: 3399
        line_start: 3398
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_high_cipherlist"'
    - item_type: preproc_def
      name: DEF_TLS_HIGH_CLIST
      pos:
        line_end: 3400
        line_start: 3399
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"aNULL:-aNULL:HIGH" TLS_EXCL ":@STRENGTH"'
    - item_type: preproc_def
      name: VAR_TLS_MEDIUM_CLIST
      pos:
        line_end: 3403
        line_start: 3402
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_medium_cipherlist"'
    - item_type: preproc_def
      name: DEF_TLS_MEDIUM_CLIST
      pos:
        line_end: 3404
        line_start: 3403
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"aNULL:-aNULL:HIGH:MEDIUM" TLS_EXCL ":+RC4:@STRENGTH"'
    - item_type: preproc_def
      name: VAR_TLS_LOW_CLIST
      pos:
        line_end: 3407
        line_start: 3406
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_low_cipherlist"'
    - item_type: preproc_def
      name: DEF_TLS_LOW_CLIST
      pos:
        line_end: 3408
        line_start: 3407
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_TLS_EXPORT_CLIST
      pos:
        line_end: 3411
        line_start: 3410
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_export_cipherlist"'
    - item_type: preproc_def
      name: DEF_TLS_EXPORT_CLIST
      pos:
        line_end: 3412
        line_start: 3411
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_TLS_NULL_CLIST
      pos:
        line_end: 3415
        line_start: 3414
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_null_cipherlist"'
    - item_type: preproc_def
      name: DEF_TLS_NULL_CLIST
      pos:
        line_end: 3416
        line_start: 3415
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"eNULL" TLS_EXCL_REST ":!aNULL"'
    - item_type: preproc_def
      name: DEF_TLS_EECDH_AUTO_1
      pos:
        line_end: 3420
        line_start: 3419
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: SN_X25519 " "
    - item_type: preproc_def
      name: DEF_TLS_EECDH_AUTO_1
      pos:
        line_end: 3422
        line_start: 3421
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: DEF_TLS_EECDH_AUTO_2
      pos:
        line_end: 3426
        line_start: 3425
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: SN_X448 " "
    - item_type: preproc_def
      name: DEF_TLS_EECDH_AUTO_2
      pos:
        line_end: 3428
        line_start: 3427
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: DEF_TLS_EECDH_AUTO_3
      pos:
        line_end: 3432
        line_start: 3431
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: SN_X9_62_prime256v1 " "
    - item_type: preproc_def
      name: DEF_TLS_EECDH_AUTO_3
      pos:
        line_end: 3434
        line_start: 3433
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: DEF_TLS_EECDH_AUTO_4
      pos:
        line_end: 3438
        line_start: 3437
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: SN_secp384r1 " "
    - item_type: preproc_def
      name: DEF_TLS_EECDH_AUTO_4
      pos:
        line_end: 3440
        line_start: 3439
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: DEF_TLS_EECDH_AUTO_5
      pos:
        line_end: 3444
        line_start: 3443
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: SN_secp521r1 " "
    - item_type: preproc_def
      name: DEF_TLS_EECDH_AUTO_5
      pos:
        line_end: 3446
        line_start: 3445
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_TLS_EECDH_AUTO
      pos:
        line_end: 3449
        line_start: 3448
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_eecdh_auto_curves"'
    - item_type: preproc_def
      name: DEF_TLS_EECDH_AUTO
      pos:
        line_end: 3454
        line_start: 3449
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "DEF_TLS_EECDH_AUTO_1 \\\n                                DEF_TLS_EECDH_AUTO_2
        \\\n                                DEF_TLS_EECDH_AUTO_3 \\\n                                DEF_TLS_EECDH_AUTO_4
        \\\n                                DEF_TLS_EECDH_AUTO_5"
    - item_type: preproc_def
      name: VAR_TLS_EECDH_STRONG
      pos:
        line_end: 3457
        line_start: 3456
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_eecdh_strong_curve"'
    - item_type: preproc_def
      name: DEF_TLS_EECDH_STRONG
      pos:
        line_end: 3458
        line_start: 3457
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"prime256v1"'
    - item_type: preproc_def
      name: VAR_TLS_EECDH_ULTRA
      pos:
        line_end: 3461
        line_start: 3460
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_eecdh_ultra_curve"'
    - item_type: preproc_def
      name: DEF_TLS_EECDH_ULTRA
      pos:
        line_end: 3462
        line_start: 3461
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"secp384r1"'
    - item_type: preproc_def
      name: DEF_TLS_FFDHE_AUTO_1
      pos:
        line_end: 3466
        line_start: 3465
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: SN_ffdhe2048 " "
    - item_type: preproc_def
      name: DEF_TLS_FFDHE_AUTO_1
      pos:
        line_end: 3468
        line_start: 3467
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: DEF_TLS_FFDHE_AUTO_2
      pos:
        line_end: 3471
        line_start: 3470
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: SN_ffdhe3072 " "
    - item_type: preproc_def
      name: DEF_TLS_FFDHE_AUTO_2
      pos:
        line_end: 3473
        line_start: 3472
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_TLS_FFDHE_AUTO
      pos:
        line_end: 3476
        line_start: 3475
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_ffdhe_auto_groups"'
    - item_type: preproc_def
      name: DEF_TLS_FFDHE_AUTO
      pos:
        line_end: 3478
        line_start: 3476
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "DEF_TLS_FFDHE_AUTO_1 \\\n                                DEF_TLS_FFDHE_AUTO_2"
    - item_type: preproc_def
      name: VAR_TLS_PREEMPT_CLIST
      pos:
        line_end: 3481
        line_start: 3480
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_preempt_cipherlist"'
    - item_type: preproc_def
      name: DEF_TLS_PREEMPT_CLIST
      pos:
        line_end: 3482
        line_start: 3481
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_TLS_MULTI_WILDCARD
      pos:
        line_end: 3485
        line_start: 3484
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_wildcard_matches_multiple_labels"'
    - item_type: preproc_def
      name: DEF_TLS_MULTI_WILDCARD
      pos:
        line_end: 3486
        line_start: 3485
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_TLS_BUG_TWEAKS
      pos:
        line_end: 3489
        line_start: 3488
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_disable_workarounds"'
    - item_type: preproc_def
      name: DEF_TLS_BUG_TWEAKS
      pos:
        line_end: 3490
        line_start: 3489
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_TLS_SSL_OPTIONS
      pos:
        line_end: 3493
        line_start: 3492
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_ssl_options"'
    - item_type: preproc_def
      name: DEF_TLS_SSL_OPTIONS
      pos:
        line_end: 3494
        line_start: 3493
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_TLS_TKT_CIPHER
      pos:
        line_end: 3497
        line_start: 3496
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_session_ticket_cipher"'
    - item_type: preproc_def
      name: DEF_TLS_TKT_CIPHER
      pos:
        line_end: 3498
        line_start: 3497
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"aes-256-cbc"'
    - item_type: preproc_def
      name: VAR_TLS_BC_PKEY_FPRINT
      pos:
        line_end: 3501
        line_start: 3500
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_legacy_public_key_fingerprints"'
    - item_type: preproc_def
      name: DEF_TLS_BC_PKEY_FPRINT
      pos:
        line_end: 3502
        line_start: 3501
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_TLS_SERVER_SNI_MAPS
      pos:
        line_end: 3505
        line_start: 3504
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_server_sni_maps"'
    - item_type: preproc_def
      name: DEF_TLS_SERVER_SNI_MAPS
      pos:
        line_end: 3506
        line_start: 3505
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_TLS_DANE_DIGESTS
      pos:
        line_end: 3512
        line_start: 3511
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_dane_digests"'
    - item_type: preproc_def
      name: DEF_TLS_DANE_DIGESTS
      pos:
        line_end: 3513
        line_start: 3512
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"sha512 sha256"'
    - item_type: preproc_def
      name: VAR_TLS_FAST_SHUTDOWN
      pos:
        line_end: 3519
        line_start: 3518
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_fast_shutdown_enable"'
    - item_type: preproc_def
      name: DEF_TLS_FAST_SHUTDOWN
      pos:
        line_end: 3520
        line_start: 3519
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_SMTPD_MILTERS
      pos:
        line_end: 3526
        line_start: 3525
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_milters"'
    - item_type: preproc_def
      name: DEF_SMTPD_MILTERS
      pos:
        line_end: 3527
        line_start: 3526
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_MILTER_MAPS
      pos:
        line_end: 3530
        line_start: 3529
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_milter_maps"'
    - item_type: preproc_def
      name: DEF_SMTPD_MILTER_MAPS
      pos:
        line_end: 3531
        line_start: 3530
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: SMTPD_MILTERS_DISABLE
      pos:
        line_end: 3534
        line_start: 3533
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"DISABLE"'
    - item_type: preproc_def
      name: VAR_CLEANUP_MILTERS
      pos:
        line_end: 3536
        line_start: 3535
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"non_smtpd_milters"'
    - item_type: preproc_def
      name: DEF_CLEANUP_MILTERS
      pos:
        line_end: 3537
        line_start: 3536
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_MILT_DEF_ACTION
      pos:
        line_end: 3540
        line_start: 3539
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"milter_default_action"'
    - item_type: preproc_def
      name: DEF_MILT_DEF_ACTION
      pos:
        line_end: 3541
        line_start: 3540
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tempfail"'
    - item_type: preproc_def
      name: VAR_MILT_CONN_MACROS
      pos:
        line_end: 3544
        line_start: 3543
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"milter_connect_macros"'
    - item_type: preproc_def
      name: DEF_MILT_CONN_MACROS
      pos:
        line_end: 3545
        line_start: 3544
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"j {daemon_name} {daemon_addr} v _"'
    - item_type: preproc_def
      name: VAR_MILT_HELO_MACROS
      pos:
        line_end: 3548
        line_start: 3547
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"milter_helo_macros"'
    - item_type: preproc_def
      name: DEF_MILT_HELO_MACROS
      pos:
        line_end: 3550
        line_start: 3548
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"{tls_version} {cipher} {cipher_bits}\" \\\n\t\t\t\t\t\" {cert_subject}
        {cert_issuer}\""
    - item_type: preproc_def
      name: VAR_MILT_MAIL_MACROS
      pos:
        line_end: 3553
        line_start: 3552
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"milter_mail_macros"'
    - item_type: preproc_def
      name: DEF_MILT_MAIL_MACROS
      pos:
        line_end: 3556
        line_start: 3553
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"i {auth_type} {auth_authen}\" \\\n\t\t\t\t\t\" {auth_author}
        {mail_addr}\" \\\n\t\t\t\t\t\" {mail_host} {mail_mailer}\""
    - item_type: preproc_def
      name: VAR_MILT_RCPT_MACROS
      pos:
        line_end: 3559
        line_start: 3558
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"milter_rcpt_macros"'
    - item_type: preproc_def
      name: DEF_MILT_RCPT_MACROS
      pos:
        line_end: 3561
        line_start: 3559
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"i {rcpt_addr} {rcpt_host}\" \\\n\t\t\t\t\t\" {rcpt_mailer}\""
    - item_type: preproc_def
      name: VAR_MILT_DATA_MACROS
      pos:
        line_end: 3564
        line_start: 3563
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"milter_data_macros"'
    - item_type: preproc_def
      name: DEF_MILT_DATA_MACROS
      pos:
        line_end: 3565
        line_start: 3564
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"i"'
    - item_type: preproc_def
      name: VAR_MILT_UNK_MACROS
      pos:
        line_end: 3568
        line_start: 3567
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"milter_unknown_command_macros"'
    - item_type: preproc_def
      name: DEF_MILT_UNK_MACROS
      pos:
        line_end: 3569
        line_start: 3568
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_MILT_EOH_MACROS
      pos:
        line_end: 3572
        line_start: 3571
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"milter_end_of_header_macros"'
    - item_type: preproc_def
      name: DEF_MILT_EOH_MACROS
      pos:
        line_end: 3573
        line_start: 3572
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"i"'
    - item_type: preproc_def
      name: VAR_MILT_EOD_MACROS
      pos:
        line_end: 3576
        line_start: 3575
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"milter_end_of_data_macros"'
    - item_type: preproc_def
      name: DEF_MILT_EOD_MACROS
      pos:
        line_end: 3577
        line_start: 3576
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"i"'
    - item_type: preproc_def
      name: VAR_MILT_CONN_TIME
      pos:
        line_end: 3580
        line_start: 3579
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"milter_connect_timeout"'
    - item_type: preproc_def
      name: DEF_MILT_CONN_TIME
      pos:
        line_end: 3581
        line_start: 3580
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"30s"'
    - item_type: preproc_def
      name: VAR_MILT_CMD_TIME
      pos:
        line_end: 3584
        line_start: 3583
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"milter_command_timeout"'
    - item_type: preproc_def
      name: DEF_MILT_CMD_TIME
      pos:
        line_end: 3585
        line_start: 3584
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"30s"'
    - item_type: preproc_def
      name: VAR_MILT_MSG_TIME
      pos:
        line_end: 3588
        line_start: 3587
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"milter_content_timeout"'
    - item_type: preproc_def
      name: DEF_MILT_MSG_TIME
      pos:
        line_end: 3589
        line_start: 3588
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"300s"'
    - item_type: preproc_def
      name: VAR_MILT_PROTOCOL
      pos:
        line_end: 3592
        line_start: 3591
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"milter_protocol"'
    - item_type: preproc_def
      name: DEF_MILT_PROTOCOL
      pos:
        line_end: 3593
        line_start: 3592
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"6"'
    - item_type: preproc_def
      name: VAR_MILT_DEF_ACTION
      pos:
        line_end: 3596
        line_start: 3595
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"milter_default_action"'
    - item_type: preproc_def
      name: DEF_MILT_DEF_ACTION
      pos:
        line_end: 3597
        line_start: 3596
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tempfail"'
    - item_type: preproc_def
      name: VAR_MILT_DAEMON_NAME
      pos:
        line_end: 3600
        line_start: 3599
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"milter_macro_daemon_name"'
    - item_type: preproc_def
      name: DEF_MILT_DAEMON_NAME
      pos:
        line_end: 3601
        line_start: 3600
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_MYHOSTNAME'
    - item_type: preproc_def
      name: VAR_MILT_V
      pos:
        line_end: 3604
        line_start: 3603
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"milter_macro_v"'
    - item_type: preproc_def
      name: DEF_MILT_V
      pos:
        line_end: 3605
        line_start: 3604
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_MAIL_NAME " $" VAR_MAIL_VERSION'
    - item_type: preproc_def
      name: VAR_MILT_HEAD_CHECKS
      pos:
        line_end: 3608
        line_start: 3607
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"milter_header_checks"'
    - item_type: preproc_def
      name: DEF_MILT_HEAD_CHECKS
      pos:
        line_end: 3609
        line_start: 3608
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_MILT_MACRO_DEFLTS
      pos:
        line_end: 3612
        line_start: 3611
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"milter_macro_defaults"'
    - item_type: preproc_def
      name: DEF_MILT_MACRO_DEFLTS
      pos:
        line_end: 3613
        line_start: 3612
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: INT_FILT_CLASS_NONE
      pos:
        line_end: 3620
        line_start: 3619
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: INT_FILT_CLASS_NOTIFY
      pos:
        line_end: 3621
        line_start: 3620
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"notify"'
    - item_type: preproc_def
      name: INT_FILT_CLASS_BOUNCE
      pos:
        line_end: 3622
        line_start: 3621
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"bounce"'
    - item_type: preproc_def
      name: VAR_INT_FILT_CLASSES
      pos:
        line_end: 3624
        line_start: 3623
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"internal_mail_filter_classes"'
    - item_type: preproc_def
      name: DEF_INT_FILT_CLASSES
      pos:
        line_end: 3625
        line_start: 3624
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: INT_FILT_CLASS_NONE
    - item_type: preproc_def
      name: VAR_SMTPD_CLIENT_PORT_LOG
      pos:
        line_end: 3631
        line_start: 3630
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_client_port_logging"'
    - item_type: preproc_def
      name: DEF_SMTPD_CLIENT_PORT_LOG
      pos:
        line_end: 3632
        line_start: 3631
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_QMQPD_CLIENT_PORT_LOG
      pos:
        line_end: 3635
        line_start: 3634
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"qmqpd_client_port_logging"'
    - item_type: preproc_def
      name: DEF_QMQPD_CLIENT_PORT_LOG
      pos:
        line_end: 3636
        line_start: 3635
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTP_HEAD_CHKS
      pos:
        line_end: 3642
        line_start: 3641
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_header_checks"'
    - item_type: preproc_def
      name: DEF_SMTP_HEAD_CHKS
      pos:
        line_end: 3643
        line_start: 3642
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_MIME_CHKS
      pos:
        line_end: 3646
        line_start: 3645
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_mime_header_checks"'
    - item_type: preproc_def
      name: DEF_SMTP_MIME_CHKS
      pos:
        line_end: 3647
        line_start: 3646
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_NEST_CHKS
      pos:
        line_end: 3650
        line_start: 3649
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_nested_header_checks"'
    - item_type: preproc_def
      name: DEF_SMTP_NEST_CHKS
      pos:
        line_end: 3651
        line_start: 3650
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_BODY_CHKS
      pos:
        line_end: 3654
        line_start: 3653
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_body_checks"'
    - item_type: preproc_def
      name: DEF_SMTP_BODY_CHKS
      pos:
        line_end: 3655
        line_start: 3654
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_HEAD_CHKS
      pos:
        line_end: 3658
        line_start: 3657
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_header_checks"'
    - item_type: preproc_def
      name: DEF_LMTP_HEAD_CHKS
      pos:
        line_end: 3659
        line_start: 3658
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_MIME_CHKS
      pos:
        line_end: 3660
        line_start: 3659
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_mime_header_checks"'
    - item_type: preproc_def
      name: DEF_LMTP_MIME_CHKS
      pos:
        line_end: 3661
        line_start: 3660
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_NEST_CHKS
      pos:
        line_end: 3662
        line_start: 3661
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_nested_header_checks"'
    - item_type: preproc_def
      name: DEF_LMTP_NEST_CHKS
      pos:
        line_end: 3663
        line_start: 3662
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_BODY_CHKS
      pos:
        line_end: 3664
        line_start: 3663
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_body_checks"'
    - item_type: preproc_def
      name: DEF_LMTP_BODY_CHKS
      pos:
        line_end: 3665
        line_start: 3664
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_ADDR_PREF
      pos:
        line_end: 3667
        line_start: 3666
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_address_preference"'
    - item_type: preproc_def
      name: DEF_SMTP_ADDR_PREF
      pos:
        line_end: 3669
        line_start: 3668
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: INET_PROTO_NAME_ANY
    - item_type: preproc_def
      name: DEF_SMTP_ADDR_PREF
      pos:
        line_end: 3671
        line_start: 3670
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: INET_PROTO_NAME_IPV4
    - item_type: preproc_def
      name: VAR_LMTP_ADDR_PREF
      pos:
        line_end: 3675
        line_start: 3674
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_address_preference"'
    - item_type: preproc_def
      name: DEF_LMTP_ADDR_PREF
      pos:
        line_end: 3676
        line_start: 3675
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: DEF_SMTP_ADDR_PREF
    - item_type: preproc_def
      name: VAR_CONC_POS_FDBACK
      pos:
        line_end: 3681
        line_start: 3680
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"default_destination_concurrency_positive_feedback"'
    - item_type: preproc_def
      name: _CONC_POS_FDBACK
      pos:
        line_end: 3682
        line_start: 3681
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"_destination_concurrency_positive_feedback"'
    - item_type: preproc_def
      name: DEF_CONC_POS_FDBACK
      pos:
        line_end: 3683
        line_start: 3682
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"1"'
    - item_type: preproc_def
      name: VAR_CONC_NEG_FDBACK
      pos:
        line_end: 3686
        line_start: 3685
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"default_destination_concurrency_negative_feedback"'
    - item_type: preproc_def
      name: _CONC_NEG_FDBACK
      pos:
        line_end: 3687
        line_start: 3686
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"_destination_concurrency_negative_feedback"'
    - item_type: preproc_def
      name: DEF_CONC_NEG_FDBACK
      pos:
        line_end: 3688
        line_start: 3687
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"1"'
    - item_type: preproc_def
      name: CONC_FDBACK_NAME_WIN
      pos:
        line_end: 3691
        line_start: 3690
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"concurrency"'
    - item_type: preproc_def
      name: CONC_FDBACK_NAME_SQRT_WIN
      pos:
        line_end: 3692
        line_start: 3691
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"sqrt_concurrency"'
    - item_type: preproc_def
      name: VAR_CONC_COHORT_LIM
      pos:
        line_end: 3694
        line_start: 3693
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"default_destination_concurrency_failed_cohort_limit"'
    - item_type: preproc_def
      name: _CONC_COHORT_LIM
      pos:
        line_end: 3695
        line_start: 3694
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"_destination_concurrency_failed_cohort_limit"'
    - item_type: preproc_def
      name: DEF_CONC_COHORT_LIM
      pos:
        line_end: 3696
        line_start: 3695
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_CONC_FDBACK_DEBUG
      pos:
        line_end: 3699
        line_start: 3698
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"destination_concurrency_feedback_debug"'
    - item_type: preproc_def
      name: DEF_CONC_FDBACK_DEBUG
      pos:
        line_end: 3700
        line_start: 3699
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_DEST_RATE_DELAY
      pos:
        line_end: 3703
        line_start: 3702
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"default_destination_rate_delay"'
    - item_type: preproc_def
      name: _DEST_RATE_DELAY
      pos:
        line_end: 3704
        line_start: 3703
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"_destination_rate_delay"'
    - item_type: preproc_def
      name: DEF_DEST_RATE_DELAY
      pos:
        line_end: 3705
        line_start: 3704
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"0s"'
    - item_type: preproc_def
      name: VAR_XPORT_RATE_DELAY
      pos:
        line_end: 3708
        line_start: 3707
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"default_transport_rate_delay"'
    - item_type: preproc_def
      name: _XPORT_RATE_DELAY
      pos:
        line_end: 3709
        line_start: 3708
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"_transport_rate_delay"'
    - item_type: preproc_def
      name: DEF_XPORT_RATE_DELAY
      pos:
        line_end: 3710
        line_start: 3709
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"0s"'
    - item_type: preproc_def
      name: VAR_STRESS
      pos:
        line_end: 3716
        line_start: 3715
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"stress"'
    - item_type: preproc_def
      name: DEF_STRESS
      pos:
        line_end: 3717
        line_start: 3716
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_STRICT_MBOX_OWNER
      pos:
        line_end: 3723
        line_start: 3722
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"strict_mailbox_ownership"'
    - item_type: preproc_def
      name: DEF_STRICT_MBOX_OWNER
      pos:
        line_end: 3724
        line_start: 3723
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_INET_WINDOW
      pos:
        line_end: 3730
        line_start: 3729
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tcp_windowsize"'
    - item_type: preproc_def
      name: DEF_INET_WINDOW
      pos:
        line_end: 3731
        line_start: 3730
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_MULTI_CONF_DIRS
      pos:
        line_end: 3738
        line_start: 3737
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"multi_instance_directories"'
    - item_type: preproc_def
      name: DEF_MULTI_CONF_DIRS
      pos:
        line_end: 3739
        line_start: 3738
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_MULTI_WRAPPER
      pos:
        line_end: 3742
        line_start: 3741
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"multi_instance_wrapper"'
    - item_type: preproc_def
      name: DEF_MULTI_WRAPPER
      pos:
        line_end: 3743
        line_start: 3742
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_MULTI_NAME
      pos:
        line_end: 3746
        line_start: 3745
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"multi_instance_name"'
    - item_type: preproc_def
      name: DEF_MULTI_NAME
      pos:
        line_end: 3747
        line_start: 3746
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_MULTI_GROUP
      pos:
        line_end: 3750
        line_start: 3749
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"multi_instance_group"'
    - item_type: preproc_def
      name: DEF_MULTI_GROUP
      pos:
        line_end: 3751
        line_start: 3750
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_MULTI_ENABLE
      pos:
        line_end: 3754
        line_start: 3753
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"multi_instance_enable"'
    - item_type: preproc_def
      name: DEF_MULTI_ENABLE
      pos:
        line_end: 3755
        line_start: 3754
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_MULTI_START_CMDS
      pos:
        line_end: 3761
        line_start: 3760
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postmulti_start_commands"'
    - item_type: preproc_def
      name: DEF_MULTI_START_CMDS
      pos:
        line_end: 3762
        line_start: 3761
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"start"'
    - item_type: preproc_def
      name: VAR_MULTI_STOP_CMDS
      pos:
        line_end: 3765
        line_start: 3764
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postmulti_stop_commands"'
    - item_type: preproc_def
      name: DEF_MULTI_STOP_CMDS
      pos:
        line_end: 3766
        line_start: 3765
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"stop abort drain quick-stop"'
    - item_type: preproc_def
      name: VAR_MULTI_CNTRL_CMDS
      pos:
        line_end: 3769
        line_start: 3768
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postmulti_control_commands"'
    - item_type: preproc_def
      name: DEF_MULTI_CNTRL_CMDS
      pos:
        line_end: 3770
        line_start: 3769
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"reload flush"'
    - item_type: preproc_def
      name: VAR_PSC_CACHE_MAP
      pos:
        line_end: 3776
        line_start: 3775
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_cache_map"'
    - item_type: preproc_def
      name: DEF_PSC_CACHE_MAP
      pos:
        line_end: 3777
        line_start: 3776
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"btree:$data_directory/postscreen_cache"'
    - item_type: preproc_def
      name: VAR_SMTPD_SERVICE
      pos:
        line_end: 3780
        line_start: 3779
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_service_name"'
    - item_type: preproc_def
      name: DEF_SMTPD_SERVICE
      pos:
        line_end: 3781
        line_start: 3780
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd"'
    - item_type: preproc_def
      name: VAR_PSC_POST_QLIMIT
      pos:
        line_end: 3784
        line_start: 3783
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_post_queue_limit"'
    - item_type: preproc_def
      name: DEF_PSC_POST_QLIMIT
      pos:
        line_end: 3785
        line_start: 3784
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_PROC_LIMIT'
    - item_type: preproc_def
      name: VAR_PSC_PRE_QLIMIT
      pos:
        line_end: 3788
        line_start: 3787
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_pre_queue_limit"'
    - item_type: preproc_def
      name: DEF_PSC_PRE_QLIMIT
      pos:
        line_end: 3789
        line_start: 3788
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_PROC_LIMIT'
    - item_type: preproc_def
      name: VAR_PSC_CACHE_RET
      pos:
        line_end: 3792
        line_start: 3791
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_cache_retention_time"'
    - item_type: preproc_def
      name: DEF_PSC_CACHE_RET
      pos:
        line_end: 3793
        line_start: 3792
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"7d"'
    - item_type: preproc_def
      name: VAR_PSC_CACHE_SCAN
      pos:
        line_end: 3796
        line_start: 3795
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_cache_cleanup_interval"'
    - item_type: preproc_def
      name: DEF_PSC_CACHE_SCAN
      pos:
        line_end: 3797
        line_start: 3796
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"12h"'
    - item_type: preproc_def
      name: VAR_PSC_GREET_WAIT
      pos:
        line_end: 3800
        line_start: 3799
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_greet_wait"'
    - item_type: preproc_def
      name: DEF_PSC_GREET_WAIT
      pos:
        line_end: 3801
        line_start: 3800
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"${stress?{2}:{6}}s"'
    - item_type: preproc_def
      name: VAR_PSC_PREGR_BANNER
      pos:
        line_end: 3804
        line_start: 3803
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_greet_banner"'
    - item_type: preproc_def
      name: DEF_PSC_PREGR_BANNER
      pos:
        line_end: 3805
        line_start: 3804
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_BANNER'
    - item_type: preproc_def
      name: VAR_PSC_PREGR_ENABLE
      pos:
        line_end: 3808
        line_start: 3807
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_greet_enable"'
    - item_type: preproc_def
      name: DEF_PSC_PREGR_ENABLE
      pos:
        line_end: 3809
        line_start: 3808
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: 'no'
    - item_type: preproc_def
      name: VAR_PSC_PREGR_ACTION
      pos:
        line_end: 3812
        line_start: 3811
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_greet_action"'
    - item_type: preproc_def
      name: DEF_PSC_PREGR_ACTION
      pos:
        line_end: 3813
        line_start: 3812
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"ignore"'
    - item_type: preproc_def
      name: VAR_PSC_PREGR_TTL
      pos:
        line_end: 3816
        line_start: 3815
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_greet_ttl"'
    - item_type: preproc_def
      name: DEF_PSC_PREGR_TTL
      pos:
        line_end: 3817
        line_start: 3816
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"1d"'
    - item_type: preproc_def
      name: VAR_PSC_DNSBL_SITES
      pos:
        line_end: 3820
        line_start: 3819
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_dnsbl_sites"'
    - item_type: preproc_def
      name: DEF_PSC_DNSBL_SITES
      pos:
        line_end: 3821
        line_start: 3820
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_PSC_DNSBL_THRESH
      pos:
        line_end: 3824
        line_start: 3823
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_dnsbl_threshold"'
    - item_type: preproc_def
      name: DEF_PSC_DNSBL_THRESH
      pos:
        line_end: 3825
        line_start: 3824
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_PSC_DNSBL_WTHRESH
      pos:
        line_end: 3828
        line_start: 3827
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_dnsbl_whitelist_threshold"'
    - item_type: preproc_def
      name: DEF_PSC_DNSBL_WTHRESH
      pos:
        line_end: 3829
        line_start: 3828
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_PSC_DNSBL_ALTHRESH
      pos:
        line_end: 3831
        line_start: 3830
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_dnsbl_allowlist_threshold"'
    - item_type: preproc_def
      name: DEF_PSC_DNSBL_ALTHRESH
      pos:
        line_end: 3833
        line_start: 3831
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"${" VAR_PSC_DNSBL_WTHRESH "?{$" VAR_PSC_DNSBL_WTHRESH "}:{0}}"'
    - item_type: preproc_def
      name: VAR_PSC_DNSBL_ENABLE
      pos:
        line_end: 3836
        line_start: 3835
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_dnsbl_enable"'
    - item_type: preproc_def
      name: DEF_PSC_DNSBL_ENABLE
      pos:
        line_end: 3837
        line_start: 3836
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_PSC_DNSBL_ACTION
      pos:
        line_end: 3840
        line_start: 3839
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_dnsbl_action"'
    - item_type: preproc_def
      name: DEF_PSC_DNSBL_ACTION
      pos:
        line_end: 3841
        line_start: 3840
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"ignore"'
    - item_type: preproc_def
      name: VAR_PSC_DNSBL_MIN_TTL
      pos:
        line_end: 3844
        line_start: 3843
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_dnsbl_min_ttl"'
    - item_type: preproc_def
      name: DEF_PSC_DNSBL_MIN_TTL
      pos:
        line_end: 3845
        line_start: 3844
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"60s"'
    - item_type: preproc_def
      name: VAR_PSC_DNSBL_MAX_TTL
      pos:
        line_end: 3848
        line_start: 3847
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_dnsbl_max_ttl"'
    - item_type: preproc_def
      name: DEF_PSC_DNSBL_MAX_TTL
      pos:
        line_end: 3849
        line_start: 3848
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"${postscreen_dnsbl_ttl?{$postscreen_dnsbl_ttl}:{1}}h"'
    - item_type: preproc_def
      name: VAR_PSC_DNSBL_REPLY
      pos:
        line_end: 3852
        line_start: 3851
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_dnsbl_reply_map"'
    - item_type: preproc_def
      name: DEF_PSC_DNSBL_REPLY
      pos:
        line_end: 3853
        line_start: 3852
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_PSC_DNSBL_TMOUT
      pos:
        line_end: 3856
        line_start: 3855
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_dnsbl_timeout"'
    - item_type: preproc_def
      name: DEF_PSC_DNSBL_TMOUT
      pos:
        line_end: 3857
        line_start: 3856
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"10s"'
    - item_type: preproc_def
      name: VAR_PSC_PIPEL_ENABLE
      pos:
        line_end: 3860
        line_start: 3859
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_pipelining_enable"'
    - item_type: preproc_def
      name: DEF_PSC_PIPEL_ENABLE
      pos:
        line_end: 3861
        line_start: 3860
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_PSC_PIPEL_ACTION
      pos:
        line_end: 3864
        line_start: 3863
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_pipelining_action"'
    - item_type: preproc_def
      name: DEF_PSC_PIPEL_ACTION
      pos:
        line_end: 3865
        line_start: 3864
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"enforce"'
    - item_type: preproc_def
      name: VAR_PSC_PIPEL_TTL
      pos:
        line_end: 3868
        line_start: 3867
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_pipelining_ttl"'
    - item_type: preproc_def
      name: DEF_PSC_PIPEL_TTL
      pos:
        line_end: 3869
        line_start: 3868
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"30d"'
    - item_type: preproc_def
      name: VAR_PSC_NSMTP_ENABLE
      pos:
        line_end: 3872
        line_start: 3871
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_non_smtp_command_enable"'
    - item_type: preproc_def
      name: DEF_PSC_NSMTP_ENABLE
      pos:
        line_end: 3873
        line_start: 3872
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_PSC_NSMTP_ACTION
      pos:
        line_end: 3876
        line_start: 3875
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_non_smtp_command_action"'
    - item_type: preproc_def
      name: DEF_PSC_NSMTP_ACTION
      pos:
        line_end: 3877
        line_start: 3876
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"drop"'
    - item_type: preproc_def
      name: VAR_PSC_NSMTP_TTL
      pos:
        line_end: 3880
        line_start: 3879
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_non_smtp_command_ttl"'
    - item_type: preproc_def
      name: DEF_PSC_NSMTP_TTL
      pos:
        line_end: 3881
        line_start: 3880
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"30d"'
    - item_type: preproc_def
      name: VAR_PSC_BARLF_ENABLE
      pos:
        line_end: 3884
        line_start: 3883
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_bare_newline_enable"'
    - item_type: preproc_def
      name: DEF_PSC_BARLF_ENABLE
      pos:
        line_end: 3885
        line_start: 3884
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_PSC_BARLF_ACTION
      pos:
        line_end: 3888
        line_start: 3887
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_bare_newline_action"'
    - item_type: preproc_def
      name: DEF_PSC_BARLF_ACTION
      pos:
        line_end: 3889
        line_start: 3888
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"ignore"'
    - item_type: preproc_def
      name: VAR_PSC_BARLF_TTL
      pos:
        line_end: 3892
        line_start: 3891
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_bare_newline_ttl"'
    - item_type: preproc_def
      name: DEF_PSC_BARLF_TTL
      pos:
        line_end: 3893
        line_start: 3892
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"30d"'
    - item_type: preproc_def
      name: VAR_PSC_BLIST_ACTION
      pos:
        line_end: 3896
        line_start: 3895
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_blacklist_action"'
    - item_type: preproc_def
      name: DEF_PSC_BLIST_ACTION
      pos:
        line_end: 3897
        line_start: 3896
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"ignore"'
    - item_type: preproc_def
      name: VAR_PSC_DNLIST_ACTION
      pos:
        line_end: 3899
        line_start: 3898
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_denylist_action"'
    - item_type: preproc_def
      name: DEF_PSC_DNLIST_ACTION
      pos:
        line_end: 3901
        line_start: 3899
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"${" VAR_PSC_BLIST_ACTION "?{$" VAR_PSC_BLIST_ACTION "}:{" DEF_PSC_BLIST_ACTION
        "}}"'
    - item_type: preproc_def
      name: VAR_PSC_CMD_COUNT
      pos:
        line_end: 3904
        line_start: 3903
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_command_count_limit"'
    - item_type: preproc_def
      name: DEF_PSC_CMD_COUNT
      pos:
        line_end: 3905
        line_start: 3904
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '20'
    - item_type: preproc_def
      name: VAR_PSC_CMD_TIME
      pos:
        line_end: 3908
        line_start: 3907
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_command_time_limit"'
    - item_type: preproc_def
      name: DEF_PSC_CMD_TIME
      pos:
        line_end: 3909
        line_start: 3908
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: DEF_SMTPD_TMOUT
    - item_type: preproc_def
      name: VAR_PSC_WATCHDOG
      pos:
        line_end: 3912
        line_start: 3911
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_watchdog_timeout"'
    - item_type: preproc_def
      name: DEF_PSC_WATCHDOG
      pos:
        line_end: 3913
        line_start: 3912
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"10s"'
    - item_type: preproc_def
      name: VAR_PSC_EHLO_DIS_WORDS
      pos:
        line_end: 3916
        line_start: 3915
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_discard_ehlo_keywords"'
    - item_type: preproc_def
      name: DEF_PSC_EHLO_DIS_WORDS
      pos:
        line_end: 3917
        line_start: 3916
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_EHLO_DIS_WORDS'
    - item_type: preproc_def
      name: VAR_PSC_EHLO_DIS_MAPS
      pos:
        line_end: 3920
        line_start: 3919
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_discard_ehlo_keyword_address_maps"'
    - item_type: preproc_def
      name: DEF_PSC_EHLO_DIS_MAPS
      pos:
        line_end: 3921
        line_start: 3920
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_EHLO_DIS_MAPS'
    - item_type: preproc_def
      name: VAR_PSC_TLS_LEVEL
      pos:
        line_end: 3924
        line_start: 3923
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_tls_security_level"'
    - item_type: preproc_def
      name: DEF_PSC_TLS_LEVEL
      pos:
        line_end: 3925
        line_start: 3924
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_LEVEL'
    - item_type: preproc_def
      name: VAR_PSC_USE_TLS
      pos:
        line_end: 3928
        line_start: 3927
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_use_tls"'
    - item_type: preproc_def
      name: DEF_PSC_USE_TLS
      pos:
        line_end: 3929
        line_start: 3928
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_USE_TLS'
    - item_type: preproc_def
      name: VAR_PSC_ENFORCE_TLS
      pos:
        line_end: 3932
        line_start: 3931
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_enforce_tls"'
    - item_type: preproc_def
      name: DEF_PSC_ENFORCE_TLS
      pos:
        line_end: 3933
        line_start: 3932
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_ENFORCE_TLS'
    - item_type: preproc_def
      name: VAR_PSC_FORBID_CMDS
      pos:
        line_end: 3936
        line_start: 3935
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_forbidden_commands"'
    - item_type: preproc_def
      name: DEF_PSC_FORBID_CMDS
      pos:
        line_end: 3937
        line_start: 3936
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_FORBID_CMDS'
    - item_type: preproc_def
      name: VAR_PSC_HELO_REQUIRED
      pos:
        line_end: 3940
        line_start: 3939
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_helo_required"'
    - item_type: preproc_def
      name: DEF_PSC_HELO_REQUIRED
      pos:
        line_end: 3941
        line_start: 3940
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_HELO_REQUIRED'
    - item_type: preproc_def
      name: VAR_PSC_DISABLE_VRFY
      pos:
        line_end: 3944
        line_start: 3943
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_disable_vrfy_command"'
    - item_type: preproc_def
      name: DEF_PSC_DISABLE_VRFY
      pos:
        line_end: 3945
        line_start: 3944
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_DISABLE_VRFY_CMD'
    - item_type: preproc_def
      name: VAR_PSC_CCONN_LIMIT
      pos:
        line_end: 3948
        line_start: 3947
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_client_connection_count_limit"'
    - item_type: preproc_def
      name: DEF_PSC_CCONN_LIMIT
      pos:
        line_end: 3949
        line_start: 3948
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_CCONN_LIMIT'
    - item_type: preproc_def
      name: VAR_PSC_REJ_FOOTER
      pos:
        line_end: 3952
        line_start: 3951
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_reject_footer"'
    - item_type: preproc_def
      name: DEF_PSC_REJ_FOOTER
      pos:
        line_end: 3953
        line_start: 3952
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_REJ_FOOTER'
    - item_type: preproc_def
      name: VAR_PSC_REJ_FTR_MAPS
      pos:
        line_end: 3956
        line_start: 3955
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_reject_footer_maps"'
    - item_type: preproc_def
      name: DEF_PSC_REJ_FTR_MAPS
      pos:
        line_end: 3957
        line_start: 3956
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_REJ_FTR_MAPS'
    - item_type: preproc_def
      name: VAR_PSC_EXP_FILTER
      pos:
        line_end: 3960
        line_start: 3959
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_expansion_filter"'
    - item_type: preproc_def
      name: DEF_PSC_EXP_FILTER
      pos:
        line_end: 3961
        line_start: 3960
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_EXP_FILTER'
    - item_type: preproc_def
      name: VAR_PSC_CMD_FILTER
      pos:
        line_end: 3964
        line_start: 3963
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_command_filter"'
    - item_type: preproc_def
      name: DEF_PSC_CMD_FILTER
      pos:
        line_end: 3965
        line_start: 3964
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_PSC_ACL
      pos:
        line_end: 3968
        line_start: 3967
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_access_list"'
    - item_type: preproc_def
      name: DEF_PSC_ACL
      pos:
        line_end: 3969
        line_start: 3968
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: SERVER_ACL_NAME_WL_MYNETWORKS
    - item_type: preproc_def
      name: VAR_PSC_WLIST_IF
      pos:
        line_end: 3972
        line_start: 3971
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_whitelist_interfaces"'
    - item_type: preproc_def
      name: DEF_PSC_WLIST_IF
      pos:
        line_end: 3973
        line_start: 3972
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"static:all"'
    - item_type: preproc_def
      name: VAR_PSC_ALLIST_IF
      pos:
        line_end: 3975
        line_start: 3974
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_allowlist_interfaces"'
    - item_type: preproc_def
      name: DEF_PSC_ALLIST_IF
      pos:
        line_end: 3977
        line_start: 3975
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"${" VAR_PSC_WLIST_IF "?{$" VAR_PSC_WLIST_IF "}:{" DEF_PSC_WLIST_IF
        "}}"'
    - item_type: preproc_def
      name: NOPROXY_PROTO_NAME
      pos:
        line_end: 3980
        line_start: 3979
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_PSC_UPROXY_PROTO
      pos:
        line_end: 3982
        line_start: 3981
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_upstream_proxy_protocol"'
    - item_type: preproc_def
      name: DEF_PSC_UPROXY_PROTO
      pos:
        line_end: 3983
        line_start: 3982
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: NOPROXY_PROTO_NAME
    - item_type: preproc_def
      name: VAR_PSC_UPROXY_TMOUT
      pos:
        line_end: 3986
        line_start: 3985
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postscreen_upstream_proxy_timeout"'
    - item_type: preproc_def
      name: DEF_PSC_UPROXY_TMOUT
      pos:
        line_end: 3987
        line_start: 3986
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"5s"'
    - item_type: preproc_def
      name: VAR_RESPECTFUL_LOGGING
      pos:
        line_end: 3990
        line_start: 3989
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"respectful_logging"'
    - item_type: preproc_def
      name: DEF_RESPECTFUL_LOGGING
      pos:
        line_end: 3992
        line_start: 3990
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"${{$compatibility_level} <level {3.6} ?" " {no} : {yes}}"'
    - item_type: preproc_def
      name: VAR_DNSBLOG_SERVICE
      pos:
        line_end: 3995
        line_start: 3994
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"dnsblog_service_name"'
    - item_type: preproc_def
      name: DEF_DNSBLOG_SERVICE
      pos:
        line_end: 3996
        line_start: 3995
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: MAIL_SERVICE_DNSBLOG
    - item_type: preproc_def
      name: VAR_DNSBLOG_DELAY
      pos:
        line_end: 3999
        line_start: 3998
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"dnsblog_reply_delay"'
    - item_type: preproc_def
      name: DEF_DNSBLOG_DELAY
      pos:
        line_end: 4000
        line_start: 3999
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"0s"'
    - item_type: preproc_def
      name: VAR_TLSPROXY_SERVICE
      pos:
        line_end: 4003
        line_start: 4002
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_service_name"'
    - item_type: preproc_def
      name: DEF_TLSPROXY_SERVICE
      pos:
        line_end: 4004
        line_start: 4003
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: MAIL_SERVICE_TLSPROXY
    - item_type: preproc_def
      name: VAR_TLSP_WATCHDOG
      pos:
        line_end: 4007
        line_start: 4006
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_watchdog_timeout"'
    - item_type: preproc_def
      name: DEF_TLSP_WATCHDOG
      pos:
        line_end: 4008
        line_start: 4007
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"10s"'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_LEVEL
      pos:
        line_end: 4011
        line_start: 4010
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_security_level"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_LEVEL
      pos:
        line_end: 4012
        line_start: 4011
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_LEVEL'
    - item_type: preproc_def
      name: VAR_TLSP_USE_TLS
      pos:
        line_end: 4015
        line_start: 4014
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_use_tls"'
    - item_type: preproc_def
      name: DEF_TLSP_USE_TLS
      pos:
        line_end: 4016
        line_start: 4015
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_USE_TLS'
    - item_type: preproc_def
      name: VAR_TLSP_ENFORCE_TLS
      pos:
        line_end: 4019
        line_start: 4018
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_enforce_tls"'
    - item_type: preproc_def
      name: DEF_TLSP_ENFORCE_TLS
      pos:
        line_end: 4020
        line_start: 4019
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_ENFORCE_TLS'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_ACERT
      pos:
        line_end: 4023
        line_start: 4022
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_ask_ccert"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_ACERT
      pos:
        line_end: 4024
        line_start: 4023
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_ACERT'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_RCERT
      pos:
        line_end: 4027
        line_start: 4026
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_req_ccert"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_RCERT
      pos:
        line_end: 4028
        line_start: 4027
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_RCERT'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_ENABLE_RPK
      pos:
        line_end: 4031
        line_start: 4030
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_enable_rpk"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_ENABLE_RPK
      pos:
        line_end: 4032
        line_start: 4031
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_ENABLE_RPK'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_CCERT_VD
      pos:
        line_end: 4035
        line_start: 4034
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_ccert_verifydepth"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_CCERT_VD
      pos:
        line_end: 4036
        line_start: 4035
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_CCERT_VD'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_CHAIN_FILES
      pos:
        line_end: 4039
        line_start: 4038
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_chain_files"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_CHAIN_FILES
      pos:
        line_end: 4040
        line_start: 4039
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_CHAIN_FILES'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_CERT_FILE
      pos:
        line_end: 4043
        line_start: 4042
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_cert_file"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_CERT_FILE
      pos:
        line_end: 4044
        line_start: 4043
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_CERT_FILE'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_KEY_FILE
      pos:
        line_end: 4047
        line_start: 4046
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_key_file"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_KEY_FILE
      pos:
        line_end: 4048
        line_start: 4047
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_KEY_FILE'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_DCERT_FILE
      pos:
        line_end: 4051
        line_start: 4050
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_dcert_file"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_DCERT_FILE
      pos:
        line_end: 4052
        line_start: 4051
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_DCERT_FILE'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_DKEY_FILE
      pos:
        line_end: 4055
        line_start: 4054
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_dkey_file"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_DKEY_FILE
      pos:
        line_end: 4056
        line_start: 4055
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_DKEY_FILE'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_ECCERT_FILE
      pos:
        line_end: 4059
        line_start: 4058
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_eccert_file"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_ECCERT_FILE
      pos:
        line_end: 4060
        line_start: 4059
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_ECCERT_FILE'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_ECKEY_FILE
      pos:
        line_end: 4063
        line_start: 4062
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_eckey_file"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_ECKEY_FILE
      pos:
        line_end: 4064
        line_start: 4063
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_ECKEY_FILE'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_ECKEY_FILE
      pos:
        line_end: 4067
        line_start: 4066
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_ECKEY_FILE'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_CA_FILE
      pos:
        line_end: 4070
        line_start: 4069
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_CAfile"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_CA_FILE
      pos:
        line_end: 4071
        line_start: 4070
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_CA_FILE'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_CA_PATH
      pos:
        line_end: 4074
        line_start: 4073
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_CApath"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_CA_PATH
      pos:
        line_end: 4075
        line_start: 4074
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_CA_PATH'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_PROTO
      pos:
        line_end: 4078
        line_start: 4077
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_protocols"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_PROTO
      pos:
        line_end: 4079
        line_start: 4078
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_PROTO'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_MAND_PROTO
      pos:
        line_end: 4082
        line_start: 4081
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_mandatory_protocols"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_MAND_PROTO
      pos:
        line_end: 4083
        line_start: 4082
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_MAND_PROTO'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_CIPH
      pos:
        line_end: 4086
        line_start: 4085
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_ciphers"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_CIPH
      pos:
        line_end: 4087
        line_start: 4086
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_CIPH'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_MAND_CIPH
      pos:
        line_end: 4090
        line_start: 4089
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_mandatory_ciphers"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_MAND_CIPH
      pos:
        line_end: 4091
        line_start: 4090
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_MAND_CIPH'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_EXCL_CIPH
      pos:
        line_end: 4094
        line_start: 4093
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_exclude_ciphers"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_EXCL_CIPH
      pos:
        line_end: 4095
        line_start: 4094
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_EXCL_CIPH'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_MAND_EXCL
      pos:
        line_end: 4098
        line_start: 4097
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_mandatory_exclude_ciphers"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_MAND_EXCL
      pos:
        line_end: 4099
        line_start: 4098
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_MAND_EXCL'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_FPT_DGST
      pos:
        line_end: 4102
        line_start: 4101
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_fingerprint_digest"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_FPT_DGST
      pos:
        line_end: 4103
        line_start: 4102
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_FPT_DGST'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_512_FILE
      pos:
        line_end: 4106
        line_start: 4105
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_dh512_param_file"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_512_FILE
      pos:
        line_end: 4107
        line_start: 4106
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_512_FILE'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_1024_FILE
      pos:
        line_end: 4110
        line_start: 4109
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_dh1024_param_file"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_1024_FILE
      pos:
        line_end: 4111
        line_start: 4110
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_1024_FILE'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_EECDH
      pos:
        line_end: 4114
        line_start: 4113
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_eecdh_grade"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_EECDH
      pos:
        line_end: 4115
        line_start: 4114
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_EECDH'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_LOGLEVEL
      pos:
        line_end: 4118
        line_start: 4117
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_loglevel"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_LOGLEVEL
      pos:
        line_end: 4119
        line_start: 4118
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_LOGLEVEL'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_RECHEAD
      pos:
        line_end: 4122
        line_start: 4121
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_received_header"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_RECHEAD
      pos:
        line_end: 4123
        line_start: 4122
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_RECHEAD'
    - item_type: preproc_def
      name: VAR_TLSP_TLS_SET_SESSID
      pos:
        line_end: 4126
        line_start: 4125
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_tls_always_issue_session_ids"'
    - item_type: preproc_def
      name: DEF_TLSP_TLS_SET_SESSID
      pos:
        line_end: 4127
        line_start: 4126
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTPD_TLS_SET_SESSID'
    - item_type: preproc_def
      name: VAR_TLSP_CLNT_LOGLEVEL
      pos:
        line_end: 4133
        line_start: 4132
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_client_loglevel"'
    - item_type: preproc_def
      name: DEF_TLSP_CLNT_LOGLEVEL
      pos:
        line_end: 4134
        line_start: 4133
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTP_TLS_LOGLEVEL'
    - item_type: preproc_def
      name: VAR_TLSP_CLNT_LOGPARAM
      pos:
        line_end: 4137
        line_start: 4136
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_client_loglevel_parameter"'
    - item_type: preproc_def
      name: DEF_TLSP_CLNT_LOGPARAM
      pos:
        line_end: 4138
        line_start: 4137
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: VAR_SMTP_TLS_LOGLEVEL
    - item_type: preproc_def
      name: VAR_TLSP_CLNT_SCERT_VD
      pos:
        line_end: 4141
        line_start: 4140
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_client_scert_verifydepth"'
    - item_type: preproc_def
      name: DEF_TLSP_CLNT_SCERT_VD
      pos:
        line_end: 4142
        line_start: 4141
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTP_TLS_SCERT_VD'
    - item_type: preproc_def
      name: VAR_TLSP_CLNT_CHAIN_FILES
      pos:
        line_end: 4145
        line_start: 4144
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_client_chain_files"'
    - item_type: preproc_def
      name: DEF_TLSP_CLNT_CHAIN_FILES
      pos:
        line_end: 4146
        line_start: 4145
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTP_TLS_CHAIN_FILES'
    - item_type: preproc_def
      name: VAR_TLSP_CLNT_CERT_FILE
      pos:
        line_end: 4149
        line_start: 4148
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_client_cert_file"'
    - item_type: preproc_def
      name: DEF_TLSP_CLNT_CERT_FILE
      pos:
        line_end: 4150
        line_start: 4149
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTP_TLS_CERT_FILE'
    - item_type: preproc_def
      name: VAR_TLSP_CLNT_KEY_FILE
      pos:
        line_end: 4153
        line_start: 4152
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_client_key_file"'
    - item_type: preproc_def
      name: DEF_TLSP_CLNT_KEY_FILE
      pos:
        line_end: 4154
        line_start: 4153
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTP_TLS_KEY_FILE'
    - item_type: preproc_def
      name: VAR_TLSP_CLNT_DCERT_FILE
      pos:
        line_end: 4157
        line_start: 4156
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_client_dcert_file"'
    - item_type: preproc_def
      name: DEF_TLSP_CLNT_DCERT_FILE
      pos:
        line_end: 4158
        line_start: 4157
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTP_TLS_DCERT_FILE'
    - item_type: preproc_def
      name: VAR_TLSP_CLNT_DKEY_FILE
      pos:
        line_end: 4161
        line_start: 4160
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_client_dkey_file"'
    - item_type: preproc_def
      name: DEF_TLSP_CLNT_DKEY_FILE
      pos:
        line_end: 4162
        line_start: 4161
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTP_TLS_DKEY_FILE'
    - item_type: preproc_def
      name: VAR_TLSP_CLNT_ECCERT_FILE
      pos:
        line_end: 4165
        line_start: 4164
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_client_eccert_file"'
    - item_type: preproc_def
      name: DEF_TLSP_CLNT_ECCERT_FILE
      pos:
        line_end: 4166
        line_start: 4165
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTP_TLS_ECCERT_FILE'
    - item_type: preproc_def
      name: VAR_TLSP_CLNT_ECKEY_FILE
      pos:
        line_end: 4169
        line_start: 4168
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_client_eckey_file"'
    - item_type: preproc_def
      name: DEF_TLSP_CLNT_ECKEY_FILE
      pos:
        line_end: 4170
        line_start: 4169
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTP_TLS_ECKEY_FILE'
    - item_type: preproc_def
      name: VAR_TLSP_CLNT_CAFILE
      pos:
        line_end: 4173
        line_start: 4172
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_client_CAfile"'
    - item_type: preproc_def
      name: DEF_TLSP_CLNT_CAFILE
      pos:
        line_end: 4174
        line_start: 4173
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTP_TLS_CA_FILE'
    - item_type: preproc_def
      name: VAR_TLSP_CLNT_CAPATH
      pos:
        line_end: 4177
        line_start: 4176
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_client_CApath"'
    - item_type: preproc_def
      name: DEF_TLSP_CLNT_CAPATH
      pos:
        line_end: 4178
        line_start: 4177
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTP_TLS_CA_PATH'
    - item_type: preproc_def
      name: VAR_TLSP_CLNT_FPT_DGST
      pos:
        line_end: 4181
        line_start: 4180
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_client_fingerprint_digest"'
    - item_type: preproc_def
      name: DEF_TLSP_CLNT_FPT_DGST
      pos:
        line_end: 4182
        line_start: 4181
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTP_TLS_FPT_DGST'
    - item_type: preproc_def
      name: VAR_TLSP_CLNT_USE_TLS
      pos:
        line_end: 4185
        line_start: 4184
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_client_use_tls"'
    - item_type: preproc_def
      name: DEF_TLSP_CLNT_USE_TLS
      pos:
        line_end: 4186
        line_start: 4185
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTP_USE_TLS'
    - item_type: preproc_def
      name: VAR_TLSP_CLNT_ENFORCE_TLS
      pos:
        line_end: 4189
        line_start: 4188
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_client_enforce_tls"'
    - item_type: preproc_def
      name: DEF_TLSP_CLNT_ENFORCE_TLS
      pos:
        line_end: 4190
        line_start: 4189
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTP_ENFORCE_TLS'
    - item_type: preproc_def
      name: OBS_TLSP_CLNT_LEVEL
      pos:
        line_end: 4194
        line_start: 4193
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_client_level"'
    - item_type: preproc_def
      name: VAR_TLSP_CLNT_LEVEL
      pos:
        line_end: 4195
        line_start: 4194
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_client_security_level"'
    - item_type: preproc_def
      name: DEF_TLSP_CLNT_LEVEL
      pos:
        line_end: 4198
        line_start: 4195
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"${\" OBS_TLSP_CLNT_LEVEL \"?{$\" \\\n\t\t\t\t\tOBS_TLSP_CLNT_LEVEL
        \"}:{$\" \\\n\t\t\t\t\tVAR_SMTP_TLS_LEVEL \"}}\""
    - item_type: preproc_def
      name: VAR_TLSP_CLNT_PER_SITE
      pos:
        line_end: 4201
        line_start: 4200
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_client_per_site"'
    - item_type: preproc_def
      name: DEF_TLSP_CLNT_PER_SITE
      pos:
        line_end: 4202
        line_start: 4201
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_SMTP_TLS_PER_SITE'
    - item_type: preproc_def
      name: OBS_TLSP_CLNT_POLICY
      pos:
        line_end: 4206
        line_start: 4205
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_client_policy"'
    - item_type: preproc_def
      name: VAR_TLSP_CLNT_POLICY
      pos:
        line_end: 4207
        line_start: 4206
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tlsproxy_client_policy_maps"'
    - item_type: preproc_def
      name: DEF_TLSP_CLNT_POLICY
      pos:
        line_end: 4210
        line_start: 4207
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"${\" OBS_TLSP_CLNT_POLICY \"?{$\" \\\n\t\t\t\t\tOBS_TLSP_CLNT_POLICY
        \"}:{$\" \\\n\t\t\t\t\tVAR_SMTP_TLS_POLICY \"}}\""
    - item_type: preproc_def
      name: VAR_SMTPD_REJ_FOOTER
      pos:
        line_end: 4216
        line_start: 4215
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_reject_footer"'
    - item_type: preproc_def
      name: DEF_SMTPD_REJ_FOOTER
      pos:
        line_end: 4217
        line_start: 4216
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_REJ_FTR_MAPS
      pos:
        line_end: 4220
        line_start: 4219
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_reject_footer_maps"'
    - item_type: preproc_def
      name: DEF_SMTPD_REJ_FTR_MAPS
      pos:
        line_end: 4221
        line_start: 4220
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_REC_DEADLINE
      pos:
        line_end: 4227
        line_start: 4226
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_per_record_deadline"'
    - item_type: preproc_def
      name: DEF_SMTPD_REC_DEADLINE
      pos:
        line_end: 4228
        line_start: 4227
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"${stress?{yes}:{no}}"'
    - item_type: preproc_def
      name: VAR_SMTP_REC_DEADLINE
      pos:
        line_end: 4231
        line_start: 4230
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_per_record_deadline"'
    - item_type: preproc_def
      name: DEF_SMTP_REC_DEADLINE
      pos:
        line_end: 4232
        line_start: 4231
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_LMTP_REC_DEADLINE
      pos:
        line_end: 4233
        line_start: 4232
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_per_record_deadline"'
    - item_type: preproc_def
      name: DEF_LMTP_REC_DEADLINE
      pos:
        line_end: 4234
        line_start: 4233
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTPD_REQ_DEADLINE
      pos:
        line_end: 4237
        line_start: 4236
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_per_request_deadline"'
    - item_type: preproc_def
      name: DEF_SMTPD_REQ_DEADLINE
      pos:
        line_end: 4240
        line_start: 4237
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"${smtpd_per_record_deadline?\" \\\n\t\t\t\t\"{$smtpd_per_record_deadline}:\"
        \\\n\t\t\t\t\"{${stress?{yes}:{no}}}}\""
    - item_type: preproc_def
      name: VAR_SMTP_REQ_DEADLINE
      pos:
        line_end: 4243
        line_start: 4242
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_per_request_deadline"'
    - item_type: preproc_def
      name: DEF_SMTP_REQ_DEADLINE
      pos:
        line_end: 4245
        line_start: 4243
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"${smtp_per_record_deadline?\" \\\n\t\t\t\t\"{$smtp_per_record_deadline}:{no}}\""
    - item_type: preproc_def
      name: VAR_LMTP_REQ_DEADLINE
      pos:
        line_end: 4246
        line_start: 4245
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_per_request_deadline"'
    - item_type: preproc_def
      name: DEF_LMTP_REQ_DEADLINE
      pos:
        line_end: 4248
        line_start: 4246
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"${lmtp_per_record_deadline?\" \\\n\t\t\t\t\"{$lmtp_per_record_deadline}:{no}}\""
    - item_type: preproc_def
      name: VAR_SMTPD_MIN_DATA_RATE
      pos:
        line_end: 4251
        line_start: 4250
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_min_data_rate"'
    - item_type: preproc_def
      name: DEF_SMTPD_MIN_DATA_RATE
      pos:
        line_end: 4252
        line_start: 4251
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '500'
    - item_type: preproc_def
      name: VAR_SMTP_MIN_DATA_RATE
      pos:
        line_end: 4255
        line_start: 4254
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_min_data_rate"'
    - item_type: preproc_def
      name: DEF_SMTP_MIN_DATA_RATE
      pos:
        line_end: 4256
        line_start: 4255
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '500'
    - item_type: preproc_def
      name: VAR_LMTP_MIN_DATA_RATE
      pos:
        line_end: 4257
        line_start: 4256
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_min_data_rate"'
    - item_type: preproc_def
      name: DEF_LMTP_MIN_DATA_RATE
      pos:
        line_end: 4258
        line_start: 4257
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '500'
    - item_type: preproc_def
      name: VAR_SMTPD_ACL_PERM_LOG
      pos:
        line_end: 4264
        line_start: 4263
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_log_access_permit_actions"'
    - item_type: preproc_def
      name: DEF_SMTPD_ACL_PERM_LOG
      pos:
        line_end: 4265
        line_start: 4264
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_UPROXY_PROTO
      pos:
        line_end: 4271
        line_start: 4270
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_upstream_proxy_protocol"'
    - item_type: preproc_def
      name: DEF_SMTPD_UPROXY_PROTO
      pos:
        line_end: 4272
        line_start: 4271
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_UPROXY_TMOUT
      pos:
        line_end: 4275
        line_start: 4274
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_upstream_proxy_timeout"'
    - item_type: preproc_def
      name: DEF_SMTPD_UPROXY_TMOUT
      pos:
        line_end: 4276
        line_start: 4275
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"5s"'
    - item_type: preproc_def
      name: SM_FIX_EOL_STRICT
      pos:
        line_end: 4282
        line_start: 4281
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"strict"'
    - item_type: preproc_def
      name: SM_FIX_EOL_NEVER
      pos:
        line_end: 4283
        line_start: 4282
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"never"'
    - item_type: preproc_def
      name: SM_FIX_EOL_ALWAYS
      pos:
        line_end: 4284
        line_start: 4283
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"always"'
    - item_type: preproc_def
      name: VAR_SM_FIX_EOL
      pos:
        line_end: 4286
        line_start: 4285
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"sendmail_fix_line_endings"'
    - item_type: preproc_def
      name: DEF_SM_FIX_EOL
      pos:
        line_end: 4287
        line_start: 4286
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: SM_FIX_EOL_ALWAYS
    - item_type: preproc_def
      name: VAR_DAEMON_OPEN_FATAL
      pos:
        line_end: 4293
        line_start: 4292
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"daemon_table_open_error_is_fatal"'
    - item_type: preproc_def
      name: DEF_DAEMON_OPEN_FATAL
      pos:
        line_end: 4294
        line_start: 4293
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_DSN_FILTER
      pos:
        line_end: 4300
        line_start: 4299
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"default_delivery_status_filter"'
    - item_type: preproc_def
      name: DEF_DSN_FILTER
      pos:
        line_end: 4301
        line_start: 4300
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTP_DSN_FILTER
      pos:
        line_end: 4304
        line_start: 4303
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_delivery_status_filter"'
    - item_type: preproc_def
      name: DEF_SMTP_DSN_FILTER
      pos:
        line_end: 4305
        line_start: 4304
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_DSN_FILTER'
    - item_type: preproc_def
      name: VAR_LMTP_DSN_FILTER
      pos:
        line_end: 4306
        line_start: 4305
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_delivery_status_filter"'
    - item_type: preproc_def
      name: DEF_LMTP_DSN_FILTER
      pos:
        line_end: 4307
        line_start: 4306
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_DSN_FILTER'
    - item_type: preproc_def
      name: VAR_PIPE_DSN_FILTER
      pos:
        line_end: 4310
        line_start: 4309
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"pipe_delivery_status_filter"'
    - item_type: preproc_def
      name: DEF_PIPE_DSN_FILTER
      pos:
        line_end: 4311
        line_start: 4310
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_DSN_FILTER'
    - item_type: preproc_def
      name: VAR_VIRT_DSN_FILTER
      pos:
        line_end: 4314
        line_start: 4313
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"virtual_delivery_status_filter"'
    - item_type: preproc_def
      name: DEF_VIRT_DSN_FILTER
      pos:
        line_end: 4315
        line_start: 4314
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_DSN_FILTER'
    - item_type: preproc_def
      name: VAR_LOCAL_DSN_FILTER
      pos:
        line_end: 4318
        line_start: 4317
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"local_delivery_status_filter"'
    - item_type: preproc_def
      name: DEF_LOCAL_DSN_FILTER
      pos:
        line_end: 4319
        line_start: 4318
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_DSN_FILTER'
    - item_type: preproc_def
      name: VAR_SMTP_DNS_RE_FILTER
      pos:
        line_end: 4325
        line_start: 4324
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_dns_reply_filter"'
    - item_type: preproc_def
      name: DEF_SMTP_DNS_RE_FILTER
      pos:
        line_end: 4326
        line_start: 4325
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_DNS_RE_FILTER
      pos:
        line_end: 4327
        line_start: 4326
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_dns_reply_filter"'
    - item_type: preproc_def
      name: DEF_LMTP_DNS_RE_FILTER
      pos:
        line_end: 4328
        line_start: 4327
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_DNS_RE_FILTER
      pos:
        line_end: 4331
        line_start: 4330
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_dns_reply_filter"'
    - item_type: preproc_def
      name: DEF_SMTPD_DNS_RE_FILTER
      pos:
        line_end: 4332
        line_start: 4331
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_SMTPD_FORBID_BARE_LF
      pos:
        line_end: 4338
        line_start: 4337
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_forbid_bare_newline"'
    - item_type: preproc_def
      name: DEF_SMTPD_FORBID_BARE_LF
      pos:
        line_end: 4339
        line_start: 4338
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"normalize"'
    - item_type: preproc_def
      name: VAR_SMTPD_FORBID_BARE_LF_EXCL
      pos:
        line_end: 4341
        line_start: 4340
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_forbid_bare_newline_exclusions"'
    - item_type: preproc_def
      name: DEF_SMTPD_FORBID_BARE_LF_EXCL
      pos:
        line_end: 4342
        line_start: 4341
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"$" VAR_MYNETWORKS'
    - item_type: preproc_def
      name: VAR_SMTPD_FORBID_BARE_LF_CODE
      pos:
        line_end: 4344
        line_start: 4343
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_forbid_bare_newline_reject_code"'
    - item_type: preproc_def
      name: DEF_SMTPD_FORBID_BARE_LF_CODE
      pos:
        line_end: 4345
        line_start: 4344
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '550'
    - item_type: preproc_def
      name: VAR_CLEANUP_MASK_STRAY_CR_LF
      pos:
        line_end: 4347
        line_start: 4346
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"cleanup_replace_stray_cr_lf"'
    - item_type: preproc_def
      name: DEF_CLEANUP_MASK_STRAY_CR_LF
      pos:
        line_end: 4348
        line_start: 4347
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VAR_SMTP_TLS_CONN_REUSE
      pos:
        line_end: 4354
        line_start: 4353
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tls_connection_reuse"'
    - item_type: preproc_def
      name: DEF_SMTP_TLS_CONN_REUSE
      pos:
        line_end: 4355
        line_start: 4354
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_LMTP_TLS_CONN_REUSE
      pos:
        line_end: 4356
        line_start: 4355
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tls_connection_reuse"'
    - item_type: preproc_def
      name: DEF_LMTP_TLS_CONN_REUSE
      pos:
        line_end: 4357
        line_start: 4356
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SHLIB_DIR
      pos:
        line_end: 4370
        line_start: 4369
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"shlib_directory"'
    - item_type: preproc_def
      name: DEF_SHLIB_DIR
      pos:
        line_end: 4372
        line_start: 4371
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"/usr/lib/postfix"'
    - item_type: preproc_def
      name: VAR_META_DIR
      pos:
        line_end: 4376
        line_start: 4375
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"meta_directory"'
    - item_type: preproc_def
      name: DEF_META_DIR
      pos:
        line_end: 4378
        line_start: 4377
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: DEF_CONFIG_DIR
    - item_type: preproc_def
      name: VAR_SMTPUTF8_ENABLE
      pos:
        line_end: 4385
        line_start: 4384
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtputf8_enable"'
    - item_type: preproc_def
      name: DEF_SMTPUTF8_ENABLE
      pos:
        line_end: 4388
        line_start: 4386
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "\"${{$compatibility_level} <level {1} ? \" \\\n\t\t\t\t\t\"{no}
        : {yes}}\""
    - item_type: preproc_def
      name: VAR_STRICT_SMTPUTF8
      pos:
        line_end: 4392
        line_start: 4391
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"strict_smtputf8"'
    - item_type: preproc_def
      name: DEF_STRICT_SMTPUTF8
      pos:
        line_end: 4393
        line_start: 4392
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTPUTF8_AUTOCLASS
      pos:
        line_end: 4396
        line_start: 4395
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtputf8_autodetect_classes"'
    - item_type: preproc_def
      name: DEF_SMTPUTF8_AUTOCLASS
      pos:
        line_end: 4398
        line_start: 4396
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "MAIL_SRC_NAME_SENDMAIL \", \" \\\n\t\t\t\t\tMAIL_SRC_NAME_VERIFY"
    - item_type: preproc_def
      name: VAR_IDNA2003_COMPAT
      pos:
        line_end: 4401
        line_start: 4400
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"enable_idna2003_compatibility"'
    - item_type: preproc_def
      name: DEF_IDNA2003_COMPAT
      pos:
        line_end: 4402
        line_start: 4401
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"no"'
    - item_type: preproc_def
      name: VAR_TLSREQUIRED_ENABLE
      pos:
        line_end: 4408
        line_start: 4407
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"tls_required_enable"'
    - item_type: preproc_def
      name: DEF_TLSREQUIRED_ENABLE
      pos:
        line_end: 4409
        line_start: 4408
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"yes"'
    - item_type: preproc_def
      name: VAR_DNS_NCACHE_TTL_FIX
      pos:
        line_end: 4420
        line_start: 4419
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"dns_ncache_ttl_fix_enable"'
    - item_type: preproc_def
      name: DEF_DNS_NCACHE_TTL_FIX
      pos:
        line_end: 4421
        line_start: 4420
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_MAILLOG_FILE
      pos:
        line_end: 4427
        line_start: 4426
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"maillog_file"'
    - item_type: preproc_def
      name: DEF_MAILLOG_FILE
      pos:
        line_end: 4428
        line_start: 4427
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_MAILLOG_FILE_PFXS
      pos:
        line_end: 4431
        line_start: 4430
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"maillog_file_prefixes"'
    - item_type: preproc_def
      name: DEF_MAILLOG_FILE_PFXS
      pos:
        line_end: 4432
        line_start: 4431
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"/var, /dev/stdout"'
    - item_type: preproc_def
      name: VAR_MAILLOG_FILE_COMP
      pos:
        line_end: 4435
        line_start: 4434
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"maillog_file_compressor"'
    - item_type: preproc_def
      name: DEF_MAILLOG_FILE_COMP
      pos:
        line_end: 4436
        line_start: 4435
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"gzip"'
    - item_type: preproc_def
      name: VAR_MAILLOG_FILE_STAMP
      pos:
        line_end: 4439
        line_start: 4438
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"maillog_file_rotate_suffix"'
    - item_type: preproc_def
      name: DEF_MAILLOG_FILE_STAMP
      pos:
        line_end: 4440
        line_start: 4439
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"%Y%m%d-%H%M%S"'
    - item_type: preproc_def
      name: VAR_MAILLOG_FILE_PERMS
      pos:
        line_end: 4443
        line_start: 4442
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"maillog_file_permissions"'
    - item_type: preproc_def
      name: DEF_MAILLOG_FILE_PERMS
      pos:
        line_end: 4444
        line_start: 4443
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"0600"'
    - item_type: preproc_def
      name: VAR_POSTLOG_SERVICE
      pos:
        line_end: 4447
        line_start: 4446
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postlog_service_name"'
    - item_type: preproc_def
      name: DEF_POSTLOG_SERVICE
      pos:
        line_end: 4448
        line_start: 4447
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: MAIL_SERVICE_POSTLOG
    - item_type: preproc_def
      name: VAR_POSTLOGD_WATCHDOG
      pos:
        line_end: 4451
        line_start: 4450
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"postlogd_watchdog_timeout"'
    - item_type: preproc_def
      name: DEF_POSTLOGD_WATCHDOG
      pos:
        line_end: 4452
        line_start: 4451
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"10s"'
    - item_type: preproc_def
      name: INFO_LOG_ADDR_FORM_NAME_EXTERNAL
      pos:
        line_end: 4458
        line_start: 4457
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"external"'
    - item_type: preproc_def
      name: INFO_LOG_ADDR_FORM_NAME_INTERNAL
      pos:
        line_end: 4459
        line_start: 4458
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"internal"'
    - item_type: preproc_def
      name: VAR_INFO_LOG_ADDR_FORM
      pos:
        line_end: 4461
        line_start: 4460
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"info_log_address_format"'
    - item_type: preproc_def
      name: DEF_INFO_LOG_ADDR_FORM
      pos:
        line_end: 4462
        line_start: 4461
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: INFO_LOG_ADDR_FORM_NAME_EXTERNAL
    - item_type: preproc_def
      name: VAR_DNSSEC_PROBE
      pos:
        line_end: 4468
        line_start: 4467
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"dnssec_probe"'
    - item_type: preproc_def
      name: DEF_DNSSEC_PROBE
      pos:
        line_end: 4469
        line_start: 4468
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"ns:."'
    - item_type: preproc_def
      name: VAR_KNOWN_TCP_PORTS
      pos:
        line_end: 4475
        line_start: 4474
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"known_tcp_ports"'
    - item_type: preproc_def
      name: DEF_KNOWN_TCP_PORTS
      pos:
        line_end: 4477
        line_start: 4475
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp=24, smtp=25, smtps=submissions=465, submission=587"'
    - item_type: preproc_def
      name: VAR_USE_SRV_LOOKUP
      pos:
        line_end: 4483
        line_start: 4482
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"use_srv_lookup"'
    - item_type: preproc_def
      name: DEF_USE_SRV_LOOKUP
      pos:
        line_end: 4484
        line_start: 4483
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_IGN_SRV_LOOKUP_ERR
      pos:
        line_end: 4487
        line_start: 4486
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"ignore_srv_lookup_error"'
    - item_type: preproc_def
      name: DEF_IGN_SRV_LOOKUP_ERR
      pos:
        line_end: 4488
        line_start: 4487
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_ALLOW_SRV_FALLBACK
      pos:
        line_end: 4491
        line_start: 4490
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"allow_srv_lookup_fallback"'
    - item_type: preproc_def
      name: DEF_ALLOW_SRV_FALLBACK
      pos:
        line_end: 4492
        line_start: 4491
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VAR_SMTP_TLSRPT_ENABLE
      pos:
        line_end: 4499
        line_start: 4498
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tlsrpt_enable"'
    - item_type: preproc_def
      name: DEF_SMTP_TLSRPT_ENABLE
      pos:
        line_end: 4500
        line_start: 4499
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"no"'
    - item_type: preproc_def
      name: VAR_LMTP_TLSRPT_ENABLE
      pos:
        line_end: 4501
        line_start: 4500
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tlsrpt_enable"'
    - item_type: preproc_def
      name: DEF_LMTP_TLSRPT_ENABLE
      pos:
        line_end: 4502
        line_start: 4501
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: DEF_SMTP_TLSRPT_ENABLE
    - item_type: preproc_def
      name: VAR_SMTP_TLSRPT_SOCKNAME
      pos:
        line_end: 4505
        line_start: 4504
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tlsrpt_socket_name"'
    - item_type: preproc_def
      name: DEF_SMTP_TLSRPT_SOCKNAME
      pos:
        line_end: 4506
        line_start: 4505
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VAR_LMTP_TLSRPT_SOCKNAME
      pos:
        line_end: 4507
        line_start: 4506
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tlsrpt_socket_name"'
    - item_type: preproc_def
      name: DEF_LMTP_TLSRPT_SOCKNAME
      pos:
        line_end: 4508
        line_start: 4507
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: DEF_SMTP_TLSRPT_SOCKNAME
    - item_type: preproc_def
      name: VAR_SMTP_TLSRPT_SKIP_REUSED_HS
      pos:
        line_end: 4511
        line_start: 4510
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtp_tlsrpt_skip_reused_handshakes"'
    - item_type: preproc_def
      name: DEF_SMTP_TLSRPT_SKIP_REUSED_HS
      pos:
        line_end: 4512
        line_start: 4511
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"no"'
    - item_type: preproc_def
      name: VAR_LMTP_TLSRPT_SKIP_REUSED_HS
      pos:
        line_end: 4513
        line_start: 4512
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"lmtp_tlsrpt_skip_reused_handshakes"'
    - item_type: preproc_def
      name: DEF_LMTP_TLSRPT_SKIP_REUSED_HS
      pos:
        line_end: 4514
        line_start: 4513
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: DEF_SMTP_TLSRPT_SKIP_REUSED_HS
    - item_type: preproc_def
      name: VAR_FULL_NAME_ENCODING_CHARSET
      pos:
        line_end: 4520
        line_start: 4519
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"full_name_encoding_charset"'
    - item_type: preproc_def
      name: DEF_FULL_NAME_ENCODING_CHARSET
      pos:
        line_end: 4521
        line_start: 4520
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"utf-8"'
    - item_type: preproc_def
      name: VAR_SOCKMAP_MAX_REPLY
      pos:
        line_end: 4527
        line_start: 4526
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"socketmap_max_reply_size"'
    - item_type: preproc_def
      name: DEF_SOCKMAP_MAX_REPLY
      pos:
        line_end: 4528
        line_start: 4527
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: "100000\t"
    - item_type: preproc_def
      name: VAR_SMTPD_HIDE_CLIENT_SESSION
      pos:
        line_end: 4534
        line_start: 4533
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_hide_client_session"'
    - item_type: preproc_def
      name: DEF_SMTPD_HIDE_CLIENT_SESSION
      pos:
        line_end: 4535
        line_start: 4534
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"no"'
    - item_type: preproc_def
      name: VAR_SMTPD_REJECT_FILTER_MAPS
      pos:
        line_end: 4541
        line_start: 4540
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '"smtpd_reject_filter_maps"'
    - item_type: preproc_def
      name: DEF_SMTPD_REJECT_FILTER_MAPS
      pos:
        line_end: 4542
        line_start: 4541
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type_or_value: '""'
    structs: []
    typedefs:
    - item_type: typedef
      name: bool
      pos:
        line_end: 16
        line_start: 16
        source_file: /src/postfix/postfix/src/global/mail_params.h
      type: int
    union: []
- function_names:
  - REC_TYPE_WARN_ARG
  - REC_TYPE_WARN_SCAN
  - REC_TYPE_TIME_ARG
  - REC_TYPE_TIME_SCAN
  source_file: /src/postfix/postfix/src/global/rec_type.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: REC_TYPE_EOF
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "-1\t\t"
    - item_type: preproc_def
      name: REC_TYPE_ERROR
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "-2\t\t"
    - item_type: preproc_def
      name: REC_TYPE_SIZE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'C'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_TIME
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'T'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_CTIME
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'c'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_FULL
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'F'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_INSP
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'I'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_FILT
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'L'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_FROM
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'S'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_DONE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'D'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_RCPT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'R'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_ORCP
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'O'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_DRCP
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'/'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_WARN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'W'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_ATTR
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'A'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_KILL
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'K'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_RDR
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'>'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_FLGS
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'f'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_DELAY
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'d'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_MESG
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'M'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_CONT
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'L'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_NORM
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'N'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_DTXT
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'w'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_XTRA
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'X'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_RRTO
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'r'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_ERTO
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'e'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_PRIO
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'P'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_PTR
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'p'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_VERP
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'V'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_DSN_RET
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'<'\t"
    - item_type: preproc_def
      name: REC_TYPE_DSN_ENVID
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'i'\t"
    - item_type: preproc_def
      name: REC_TYPE_DSN_ORCPT
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'o'\t"
    - item_type: preproc_def
      name: REC_TYPE_DSN_NOTIFY
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'n'\t"
    - item_type: preproc_def
      name: REC_TYPE_MILT_COUNT
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: '''m'''
    - item_type: preproc_def
      name: REC_TYPE_END
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "'E'\t\t"
    - item_type: preproc_def
      name: REC_TYPE_ENV_RECIPIENT
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: '"MDRO/Kon"'
    - item_type: preproc_def
      name: REC_TYPE_EXT_RECIPIENT
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: '"EDRO/Kon"'
    - item_type: preproc_def
      name: REC_TYPE_ENVELOPE
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: '"MCTcFILSDRO/WVA>K<ion"'
    - item_type: preproc_def
      name: REC_TYPE_CONTENT
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: '"XLNw"'
    - item_type: preproc_def
      name: REC_TYPE_EXTRACT
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: '"EDRO/PreAFIL>Kon"'
    - item_type: preproc_def
      name: REC_TYPE_POST_ENVELOPE
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: '"MFSRVAin"'
    - item_type: preproc_def
      name: REC_TYPE_POST_CONTENT
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: '"XLN"'
    - item_type: preproc_def
      name: REC_TYPE_POST_EXTRACT
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: '"EAR"'
    - item_type: preproc_def
      name: REC_TYPE_SIZE_FORMAT
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: '"%15ld %15ld %15ld %15ld %15ld %15ld"'
    - item_type: preproc_def
      name: REC_TYPE_SIZE_CAST1
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "long\t"
    - item_type: preproc_def
      name: REC_TYPE_SIZE_CAST2
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "long\t"
    - item_type: preproc_def
      name: REC_TYPE_SIZE_CAST3
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "long\t"
    - item_type: preproc_def
      name: REC_TYPE_SIZE_CAST4
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "long\t"
    - item_type: preproc_def
      name: REC_TYPE_SIZE_CAST5
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "long\t"
    - item_type: preproc_def
      name: REC_TYPE_SIZE_CAST6
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "long\t"
    - item_type: preproc_def
      name: REC_TYPE_WARN_FORMAT
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "\"%15ld\"\t"
    - item_type: preproc_def
      name: REC_TYPE_TIME_FORMAT
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: '"%ld %ld"'
    - item_type: preproc_def
      name: REC_TYPE_PTR_FORMAT
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: '"%15ld"'
    - item_type: preproc_def
      name: REC_TYPE_PTR_PAYL_SIZE
      pos:
        line_end: 181
        line_start: 179
        source_file: /src/postfix/postfix/src/global/rec_type.h
      type_or_value: "15\t"
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/dict_memcache.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_MEMCACHE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/global/dict_memcache.h
      type_or_value: '"memcache"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/global/deliver_completed.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - resolve_clnt_init
  - resolve_clnt_handshake
  - resolve_clnt
  - IFSET
  - resolve_clnt_free
  - usage
  - resolve
  - main
  source_file: /src/postfix/postfix/src/global/resolve_clnt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/postfix/postfix/src/global/resolve_clnt.c
      type_or_value: vstring_str
    structs:
    - fields:
      - name: flag
        type: int
      - name: '*name'
        type: char
      item_type: struct
      name: RESOLVE_FLAG_TABLE
      pos:
        line_end: 322
        line_start: 319
        source_file: /src/postfix/postfix/src/global/resolve_clnt.c
    typedefs: []
    union: []
- function_names:
  - haproxy_srvr_parse
  - haproxy_srvr_receive
  source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAPROXY_PROTO_NAME
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: '"haproxy"'
    - item_type: preproc_def
      name: DO_GRIPE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DONT_GRIPE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: '0'
    - item_type: preproc_def
      name: HAPROXY_HEADER_MAX_LEN
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: '536'
    - item_type: preproc_def
      name: PP2_SIGNATURE
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: '"\r\n\r\n\0\r\nQUIT\n"'
    - item_type: preproc_def
      name: PP2_SIGNATURE_LEN
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: '12'
    - item_type: preproc_def
      name: PP2_HEADER_LEN
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: '16'
    - item_type: preproc_def
      name: PP2_CMD_LOCAL
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: PP2_CMD_PROXY
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: PP2_CMD_MASK
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: '0x0F'
    - item_type: preproc_def
      name: PP2_VERSION
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: PP2_VERSION_MASK
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: '0xF0'
    - item_type: preproc_def
      name: PP2_TRANS_UNSPEC
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: PP2_TRANS_STREAM
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: PP2_TRANS_DGRAM
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: PP2_TRANS_MASK
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: '0x0F'
    - item_type: preproc_def
      name: PP2_FAM_UNSPEC
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: PP2_FAM_INET
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: PP2_FAM_INET6
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: PP2_FAM_UNIX
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: '0x30'
    - item_type: preproc_def
      name: PP2_FAM_MASK
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: '0xF0'
    - item_type: preproc_def
      name: PP2_ADDR_LEN_UNSPEC
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: (0)
    - item_type: preproc_def
      name: PP2_ADDR_LEN_INET
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: (4 + 4 + 2 + 2)
    - item_type: preproc_def
      name: PP2_ADDR_LEN_INET6
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: (16 + 16 + 2 + 2)
    - item_type: preproc_def
      name: PP2_ADDR_LEN_UNIX
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: (108 + 108)
    - item_type: preproc_def
      name: PP2_HDR_LEN_UNSPEC
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: (PP2_HEADER_LEN + PP2_ADDR_LEN_UNSPEC)
    - item_type: preproc_def
      name: PP2_HDR_LEN_INET
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: (PP2_HEADER_LEN + PP2_ADDR_LEN_INET)
    - item_type: preproc_def
      name: PP2_HDR_LEN_INET6
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: (PP2_HEADER_LEN + PP2_ADDR_LEN_INET6)
    - item_type: preproc_def
      name: PP2_HDR_LEN_UNIX
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
      type_or_value: (PP2_HEADER_LEN + PP2_ADDR_LEN_UNIX)
    structs:
    - fields:
      - name: sig[PP2_SIGNATURE_LEN]
        type: uint8_t
      - name: ver_cmd
        type: uint8_t
      - name: fam
        type: uint8_t
      - name: len
        type: uint16_t
      - name: addr
        type: "union {\n\tstruct {\t\t\t/* for TCP/UDP over IPv4, len = 12 */\n\t
          \   uint32_t src_addr;\n\t    uint32_t dst_addr;\n\t    uint16_t src_port;\n\t
          \   uint16_t dst_port;\n\t}       ip4;\n\tstruct {\t\t\t/* for TCP/UDP over
          IPv6, len = 36 */\n\t    uint8_t src_addr[16];\n\t    uint8_t dst_addr[16];\n\t
          \   uint16_t src_port;\n\t    uint16_t dst_port;\n\t}       ip6;\n\tstruct
          {\t\t\t/* for AF_UNIX sockets, len = 216 */\n\t    uint8_t src_addr[108];\n\t
          \   uint8_t dst_addr[108];\n\t}       unx;\n    }"
      item_type: struct
      name: proxy_hdr_v2
      pos:
        line_end: 127
        line_start: 104
        source_file: /src/postfix/postfix/src/global/haproxy_srvr.h
    typedefs: []
    union: []
- function_names:
  - mkmap_proxy_open
  source_file: /src/postfix/postfix/src/global/mkmap_proxy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - level_map
  - log_argv
  - log_stream
  - main
  source_file: /src/postfix/postfix/src/postlog/postlog.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: POSTLOG_CMD
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/postfix/postfix/src/postlog/postlog.c
      type_or_value: '"postlog"'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: level
        type: int
      item_type: struct
      name: level_table
      pos:
        line_end: 181
        line_start: 178
        source_file: /src/postfix/postfix/src/postlog/postlog.c
    typedefs: []
    union: []
- function_names:
  - MESSAGE_QUEUE
  - READY_MESSAGE
  - find_queue_info
  - postremove
  - postexpire
  - POSTEXPIRE_RETURN
  - postrename
  - postrmdir
  - delete_one
  - requeue_one
  - hold_one
  - release_one
  - expire_one
  - exp_rel_one
  - fix_queue_id
  - super
  - interrupted
  - fatal_warning
  - main
  source_file: /src/postfix/postfix/src/postsuper/postsuper.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_TEMP_AGE
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: "(7 * 60 * 60 * 24)\t"
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: "vstring_str\t\t\t"
    - item_type: preproc_def
      name: ACTION_STRUCT
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: "(1<<0)\t\t"
    - item_type: preproc_def
      name: ACTION_PURGE
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: "(1<<1)\t\t"
    - item_type: preproc_def
      name: ACTION_DELETE_ONE
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: ACTION_DELETE_ALL
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: ACTION_REQUEUE_ONE
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: "(1<<4)\t"
    - item_type: preproc_def
      name: ACTION_REQUEUE_ALL
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: "(1<<5)\t"
    - item_type: preproc_def
      name: ACTION_HOLD_ONE
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: "(1<<6)\t\t"
    - item_type: preproc_def
      name: ACTION_HOLD_ALL
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: "(1<<7)\t\t"
    - item_type: preproc_def
      name: ACTION_RELEASE_ONE
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: "(1<<8)\t"
    - item_type: preproc_def
      name: ACTION_RELEASE_ALL
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: "(1<<9)\t"
    - item_type: preproc_def
      name: ACTION_STRUCT_RED
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: "(1<<10)\t"
    - item_type: preproc_def
      name: ACTION_EXPIRE_ONE
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: "(1<<11)\t"
    - item_type: preproc_def
      name: ACTION_EXPIRE_ALL
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: "(1<<12)\t"
    - item_type: preproc_def
      name: ACTION_EXP_REL_ONE
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: "(1<<13)\t"
    - item_type: preproc_def
      name: ACTION_EXP_REL_ALL
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: "(1<<14)\t"
    - item_type: preproc_def
      name: ACTION_DEFAULT
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: (ACTION_STRUCT | ACTION_PURGE)
    - item_type: preproc_def
      name: ACTIONS_BY_QUEUE_ID
      pos:
        line_end: 402
        line_start: 399
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: "(ACTION_DELETE_ONE | ACTION_REQUEUE_ONE \\\n\t\t\t\t| ACTION_HOLD_ONE
        | ACTION_RELEASE_ONE \\\n\t\t\t\t| ACTION_EXPIRE_ONE | ACTION_EXP_REL_ONE)"
    - item_type: preproc_def
      name: ACTIONS_BY_WILDCARD
      pos:
        line_end: 411
        line_start: 408
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: "(ACTION_DELETE_ALL | ACTION_REQUEUE_ALL \\\n\t\t\t\t| ACTION_HOLD_ALL
        | ACTION_RELEASE_ALL \\\n\t\t\t\t| ACTION_EXPIRE_ALL | ACTION_EXP_REL_ALL)"
    - item_type: preproc_def
      name: ACTIONS_FOR_REPAIR
      pos:
        line_end: 414
        line_start: 412
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: "(ACTION_PURGE | ACTION_STRUCT \\\n\t\t\t\t| ACTION_STRUCT_RED)"
    - item_type: preproc_def
      name: RECURSE
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: "(1<<0)\t\t"
    - item_type: preproc_def
      name: DONT_RECURSE
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: SUFFIX
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: '"#FIX"'
    - item_type: preproc_def
      name: SUFFIX_LEN
      pos:
        line_end: 462
        line_start: 461
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: '4'
    - item_type: preproc_def
      name: GETOPT_LIST
      pos:
        line_end: 1353
        line_start: 1352
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
      type_or_value: '"c:d:e:f:h:H:pr:sSv"'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: perms
        type: int
      - name: flags
        type: int
      item_type: struct
      name: queue_info
      pos:
        line_end: 426
        line_start: 422
        source_file: /src/postfix/postfix/src/postsuper/postsuper.c
    typedefs: []
    union: []
- function_names:
  - deliver_message
  - BOUNCE_FLAGS
  - error_service
  - pre_init
  - main
  source_file: /src/postfix/postfix/src/error/error.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - transport_pre_init
  - transport_post_init
  - transport_free
  - update_entry
  - parse_transport_entry
  - transport_wildcard_init
  - transport_lookup
  - STREQ
  - usage
  - main
  - UPDATE
  source_file: /src/postfix/postfix/src/trivial-rewrite/transport.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FOUND
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/postfix/postfix/src/trivial-rewrite/transport.c
      type_or_value: '1'
    - item_type: preproc_def
      name: NOTFOUND
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/postfix/postfix/src/trivial-rewrite/transport.c
      type_or_value: '0'
    - item_type: preproc_def
      name: WILDCARD
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/postfix/postfix/src/trivial-rewrite/transport.c
      type_or_value: '"*"'
    - item_type: preproc_def
      name: FULL
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/postfix/postfix/src/trivial-rewrite/transport.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PARTIAL
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/postfix/postfix/src/trivial-rewrite/transport.c
      type_or_value: DICT_FLAG_FIXED
    - item_type: preproc_def
      name: DISCARD_EXTENSION
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/postfix/postfix/src/trivial-rewrite/transport.c
      type_or_value: ((char **) 0)
    - item_type: preproc_def
      name: LOOKUP_STRATEGY
      pos:
        line_end: 271
        line_start: 267
        source_file: /src/postfix/postfix/src/trivial-rewrite/transport.c
      type_or_value: "(MA_FIND_FULL | MA_FIND_NOEXT | MA_FIND_DOMAIN | \\\n\t(transport_match_parent_style
        == MATCH_FLAG_PARENT ? \\\n\t\tMA_FIND_PDMS : MA_FIND_PDDMDS))"
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/trivial-rewrite/transport.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*transport_path'
        type: MAPS
      - name: '*wildcard_channel'
        type: VSTRING
      - name: '*wildcard_nexthop'
        type: VSTRING
      - name: wildcard_errno
        type: int
      - name: expire
        type: time_t
      item_type: struct
      name: TRANSPORT_INFO
      pos:
        line_end: 34
        line_start: 28
        source_file: /src/postfix/postfix/src/trivial-rewrite/transport.h
    typedefs: []
    union: []
- function_names:
  - rewrite_tree
  - rewrite_proto
  - rewrite_init
  source_file: /src/postfix/postfix/src/trivial-rewrite/rewrite.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - REW_PARAM_VALUE
  - RES_PARAM_VALUE
  source_file: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*origin_name'
        type: char
      - name: '**origin'
        type: char
      - name: '*domain_name'
        type: char
      - name: '**domain'
        type: char
      item_type: struct
      name: RWR_CONTEXT
      pos:
        line_end: 35
        line_start: 30
        source_file: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.h
    - fields:
      - name: '*local_transport_name'
        type: char
      - name: '**local_transport'
        type: char
      - name: '*virt_transport_name'
        type: char
      - name: '**virt_transport'
        type: char
      - name: '*relay_transport_name'
        type: char
      - name: '**relay_transport'
        type: char
      - name: '*def_transport_name'
        type: char
      - name: '**def_transport'
        type: char
      - name: '*snd_def_xp_maps_name'
        type: char
      - name: '**snd_def_xp_maps'
        type: char
      - name: '*snd_def_xp_info'
        type: MAPS
      - name: '*relayhost_name'
        type: char
      - name: '**relayhost'
        type: char
      - name: '*snd_relay_maps_name'
        type: char
      - name: '**snd_relay_maps'
        type: char
      - name: '*snd_relay_info'
        type: MAPS
      - name: '*transport_maps_name'
        type: char
      - name: '**transport_maps'
        type: char
      - name: '*transport_info'
        type: struct TRANSPORT_INFO
      item_type: struct
      name: RES_CONTEXT
      pos:
        line_end: 69
        line_start: 49
        source_file: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.h
    typedefs: []
    union: []
- function_names:
  - resolve_class
  - resolve_addr
  - RESOLVE_LOCAL
  - STREQ
  - resolve_proto
  - resolve_init
  source_file: /src/postfix/postfix/src/trivial-rewrite/resolve.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/postfix/postfix/src/trivial-rewrite/resolve.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: LEN
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/postfix/postfix/src/trivial-rewrite/resolve.c
      type_or_value: VSTRING_LEN
    - item_type: preproc_def
      name: FREE_MEMORY_AND_RETURN
      pos:
        line_end: 251
        line_start: 242
        source_file: /src/postfix/postfix/src/trivial-rewrite/resolve.c
      type_or_value: "{ \\\n\tif (saved_domain) \\\n\t    tok822_free_tree(saved_domain);
        \\\n\tif(tree) \\\n\t    tok822_free_tree(tree); \\\n\tif (addr_buf) \\\n\t
        \   vstring_free(addr_buf); \\\n\treturn; \\\n    }"
    - item_type: preproc_def
      name: IGNORE_ADDR_EXTENSION
      pos:
        line_end: 716
        line_start: 715
        source_file: /src/postfix/postfix/src/trivial-rewrite/resolve.c
      type_or_value: ((char **) 0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - rewrite_service
  - pre_accept
  - post_accept
  - check_table_stats
  - pre_jail_init
  - post_jail_init
  - main
  source_file: /src/postfix/postfix/src/trivial-rewrite/trivial-rewrite.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_strtype
  - dns_type
  source_file: /src/postfix/postfix/src/dns/dns_strtype.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: type
        type: unsigned
      - name: '*text'
        type: char
      item_type: struct
      name: dns_type_map
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/postfix/postfix/src/dns/dns_strtype.c
    typedefs: []
    union: []
- function_names:
  - TEST_HAVE_DNS_REPLY_PACKET
  - SET_HAVE_DNS_REPLY_PACKET
  - SET_NO_DNS_REPLY_PACKET
  - DNS_GET_H_ERRNO
  - DNS_RES_NINIT
  - DNS_RES_NMKQUERY
  - DNS_RES_NSEARCH
  - DNS_RES_NSEND
  - DNS_GET_H_ERRNO
  - DNS_SET_H_ERRNO
  - DNS_SET_H_ERRNO
  - dns_neg_query
  - dns_neg_search
  - NOT_FOUND_H_ERRNO
  - dns_query
  - dns_skip_query
  - dns_get_fixed
  - valid_rr_name
  - dns_get_rr
  - MIN2
  - dns_get_alias
  - dns_get_answer
  - CORRUPT
  - dns_lookup_x
  - dns_lookup_rl
  - SAVE_HPREF_STATUS
  - RESTORE_HPREF_STATUS
  - dns_lookup_rv
  - dns_get_h_errno
  source_file: /src/postfix/postfix/src/dns/dns_lookup.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEF_DNS_REPLY_SIZE
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/postfix/postfix/src/dns/dns_lookup.c
      type_or_value: "4096\t"
    - item_type: preproc_def
      name: MAX_DNS_REPLY_SIZE
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/postfix/postfix/src/dns/dns_lookup.c
      type_or_value: "65536\t"
    - item_type: preproc_def
      name: MAX_DNS_QUERY_SIZE
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/postfix/postfix/src/dns/dns_lookup.c
      type_or_value: "2048\t"
    - item_type: preproc_def
      name: INET_ADDR_LEN
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/postfix/postfix/src/dns/dns_lookup.c
      type_or_value: "4\t\t"
    - item_type: preproc_def
      name: INET6_ADDR_LEN
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/postfix/postfix/src/dns/dns_lookup.c
      type_or_value: "16\t\t"
    - item_type: preproc_def
      name: DNS_RES_NINIT
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/postfix/postfix/src/dns/dns_lookup.c
      type_or_value: res_ninit
    - item_type: preproc_def
      name: DNS_RES_NMKQUERY
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/postfix/postfix/src/dns/dns_lookup.c
      type_or_value: res_nmkquery
    - item_type: preproc_def
      name: DNS_RES_NSEARCH
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/postfix/postfix/src/dns/dns_lookup.c
      type_or_value: res_nsearch
    - item_type: preproc_def
      name: DNS_RES_NSEND
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/postfix/postfix/src/dns/dns_lookup.c
      type_or_value: res_nsend
    - item_type: preproc_def
      name: dns_res_state
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/postfix/postfix/src/dns/dns_lookup.c
      type_or_value: _res
    - item_type: preproc_def
      name: NO_MKQUERY_DATA_BUF
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/postfix/postfix/src/dns/dns_lookup.c
      type_or_value: ((unsigned char *) 0)
    - item_type: preproc_def
      name: NO_MKQUERY_DATA_LEN
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/postfix/postfix/src/dns/dns_lookup.c
      type_or_value: ((int) 0)
    - item_type: preproc_def
      name: NO_MKQUERY_NEWRR
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/postfix/postfix/src/dns/dns_lookup.c
      type_or_value: ((unsigned char *) 0)
    - item_type: preproc_def
      name: USER_FLAGS
      pos:
        line_end: 519
        line_start: 518
        source_file: /src/postfix/postfix/src/dns/dns_lookup.c
      type_or_value: (RES_DEBUG | RES_DNSRCH | RES_DEFNAMES | RES_USE_DNSSEC)
    - item_type: preproc_def
      name: XTRA_FLAGS
      pos:
        line_end: 527
        line_start: 526
        source_file: /src/postfix/postfix/src/dns/dns_lookup.c
      type_or_value: (RES_USE_EDNS0 | RES_TRUSTAD)
    - item_type: preproc_def
      name: APPEND_DOMAIN_FLAGS
      pos:
        line_end: 535
        line_start: 534
        source_file: /src/postfix/postfix/src/dns/dns_lookup.c
      type_or_value: (RES_DNSRCH | RES_DEFNAMES)
    - item_type: preproc_def
      name: SAVE_FLAGS
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/postfix/postfix/src/dns/dns_lookup.c
      type_or_value: (USER_FLAGS | XTRA_FLAGS)
    - item_type: preproc_def
      name: PASS_NAME
      pos:
        line_end: 713
        line_start: 712
        source_file: /src/postfix/postfix/src/dns/dns_lookup.c
      type_or_value: '1'
    - item_type: preproc_def
      name: REJECT_NAME
      pos:
        line_end: 714
        line_start: 713
        source_file: /src/postfix/postfix/src/dns/dns_lookup.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*buf'
        type: unsigned char
      - name: buf_len
        type: size_t
      - name: rcode
        type: int
      - name: dnssec_ad
        type: int
      - name: query_count
        type: int
      - name: answer_count
        type: int
      - name: auth_count
        type: int
      - name: '*query_start'
        type: unsigned char
      - name: '*answer_start'
        type: unsigned char
      - name: '*end'
        type: unsigned char
      item_type: struct
      name: DNS_REPLY
      pos:
        line_end: 292
        line_start: 281
        source_file: /src/postfix/postfix/src/dns/dns_lookup.c
    typedefs: []
    union: []
- function_names:
  - dns_rr_to_sa
  - usage
  - main
  source_file: /src/postfix/postfix/src/dns/dns_rr_to_sa.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_rr_filter_compile
  - dns_rr_action
  - STREQUAL
  - dns_rr_filter_execute
  source_file: /src/postfix/postfix/src/dns/dns_rr_filter.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/postfix/postfix/src/dns/dns_rr_filter.c
      type_or_value: vstring_str
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_sec_probe
  source_file: /src/postfix/postfix/src/dns/dns_sec.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_strerror
  source_file: /src/postfix/postfix/src/dns/dns_strerror.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: error
        type: unsigned
      - name: '*text'
        type: char
      item_type: struct
      name: dns_error_map
      pos:
        line_end: 45
        line_start: 42
        source_file: /src/postfix/postfix/src/dns/dns_strerror.c
    typedefs: []
    union: []
- function_names:
  - GETSHORT
  - GETLONG
  - DNS_RR_IS_TRUNCATED
  - dns_rr_create_noport
  - dns_rr_create_nopref
  - DNS_RR_EQ_SA
  - DNS_RR_EQ_SA
  - dns_lookup
  - dns_lookup_r
  - dns_lookup_l
  - dns_lookup_v
  - DNS_WANT_DNSSEC_VALIDATION
  - DNS_SEC_STATS_SET
  - DNS_SEC_STATS_TEST
  source_file: /src/postfix/postfix/src/dns/dns.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: h_errno
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: use_dns_get_h_errno_instead_of_h_errno
    - item_type: preproc_def
      name: RES_USE_DNSSEC
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RES_USE_EDNS0
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RES_TRUSTAD
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: '0'
    - item_type: preproc_def
      name: T_TLSA
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: '52'
    - item_type: preproc_def
      name: T_RRSIG
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: "46\t\t"
    - item_type: preproc_def
      name: T_DNAME
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: "39\t\t"
    - item_type: preproc_def
      name: DNS_TLSA_USAGE_CA_CONSTRAINT
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DNS_TLSA_USAGE_SERVICE_CERTIFICATE_CONSTRAINT
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DNS_TLSA_USAGE_TRUST_ANCHOR_ASSERTION
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DNS_TLSA_USAGE_DOMAIN_ISSUED_CERTIFICATE
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DNS_TLSA_SELECTOR_FULL_CERTIFICATE
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DNS_TLSA_SELECTOR_SUBJECTPUBLICKEYINFO
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DNS_TLSA_MATCHING_TYPE_NO_HASH_USED
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DNS_TLSA_MATCHING_TYPE_SHA256
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DNS_TLSA_MATCHING_TYPE_SHA512
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: '2'
    - item_type: preproc_def
      name: T_TXT
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: '16'
    - item_type: preproc_def
      name: DNS_RR_FLAG_TRUNCATED
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: DNS_RR_NOPREF
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: (0)
    - item_type: preproc_def
      name: DNS_RR_NOWEIGHT
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: (0)
    - item_type: preproc_def
      name: DNS_RR_NOPORT
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: (0)
    - item_type: preproc_def
      name: DNS_REQ_FLAG_STOP_OK
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: DNS_REQ_FLAG_STOP_INVAL
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: DNS_REQ_FLAG_STOP_NULLMX
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: DNS_REQ_FLAG_STOP_MX_POLICY
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: DNS_REQ_FLAG_NCACHE_TTL
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: DNS_REQ_FLAG_NONE
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: (0)
    - item_type: preproc_def
      name: DNS_RECURSE
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: "(-8)\t\t"
    - item_type: preproc_def
      name: DNS_NOTFOUND
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: "(-7)\t\t"
    - item_type: preproc_def
      name: DNS_NULLSRV
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: "(-6)\t\t"
    - item_type: preproc_def
      name: DNS_NULLMX
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: "(-5)\t\t"
    - item_type: preproc_def
      name: DNS_FAIL
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: "(-4)\t\t"
    - item_type: preproc_def
      name: DNS_INVAL
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: "(-3)\t\t"
    - item_type: preproc_def
      name: DNS_RETRY
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: "(-2)\t\t"
    - item_type: preproc_def
      name: DNS_POLICY
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: "(-1)\t\t"
    - item_type: preproc_def
      name: DNS_OK
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: DNS_NAME_LEN
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: DNS_SEC_FLAG_AVAILABLE
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: DNS_SEC_FLAG_DONT_PROBE
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/postfix/postfix/src/dns/dns.h
      type_or_value: "(1<<1)\t"
    structs:
    - fields:
      - name: type
        type: unsigned short
      - name: class
        type: unsigned short
      - name: ttl
        type: unsigned int
      - name: length
        type: unsigned
      item_type: struct
      name: DNS_FIXED
      pos:
        line_end: 147
        line_start: 142
        source_file: /src/postfix/postfix/src/dns/dns.h
    - fields:
      - name: '*qname'
        type: char
      - name: '*rname'
        type: char
      - name: type
        type: unsigned short
      - name: class
        type: unsigned short
      - name: ttl
        type: unsigned int
      - name: dnssec_valid
        type: unsigned int
      - name: pref
        type: unsigned short
      - name: weight
        type: unsigned short
      - name: port
        type: unsigned short
      - name: flags
        type: unsigned short
      - name: '*next'
        type: struct DNS_RR
      - name: data_len
        type: size_t
      - name: '*data'
        type: char
      item_type: struct
      name: DNS_RR
      pos:
        line_end: 169
        line_start: 153
        source_file: /src/postfix/postfix/src/dns/dns.h
    typedefs: []
    union: []
- function_names:
  - STR
  - print_dns_rr
  - eq_dns_rr
  - EQ_DNS_RR_RETURN
  - eq_dns_rr_free
  - eq_dns_rr_qname_differ
  - eq_dns_rr_reply_differ
  - eq_dns_rr_flags_differ
  - append_to_null_from_null
  - append_to_elem_from_null
  - appent_to_null_from_elem
  - append_to_elem_from_elem
  - append_to_elem_from_list
  - append_to_list_from_elem
  - append_to_list_from_list
  - append_propagates_flags
  - append_to_list_from_list_truncate
  - append_to_list_from_elem_elem_truncate
  - append_to_list_from_elem_truncate
  - append_to_elem_from_list_truncate
  - append_to_list_from_elem_exact_fit
  - append_to_elem_from_list_exact_fit
  - delete_middle_element
  - delete_first_element
  - delete_last_element
  - detach_middle_element
  - detach_first_element
  - detach_last_element
  - main
  source_file: /src/postfix/postfix/src/dns/dns_rr_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PASS
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/postfix/postfix/src/dns/dns_rr_test.c
      type_or_value: (0)
    - item_type: preproc_def
      name: FAIL
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/postfix/postfix/src/dns/dns_rr_test.c
      type_or_value: (1)
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: (*fn) (void)
        type: int
      item_type: struct
      name: TEST_CASE
      pos:
        line_end: 92
        line_start: 89
        source_file: /src/postfix/postfix/src/dns/dns_rr_test.c
    typedefs: []
    union: []
- function_names:
  - dns_sa_to_rr
  - usage
  - compare_family
  - main
  source_file: /src/postfix/postfix/src/dns/dns_sa_to_rr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DUMMY_TTL
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/postfix/postfix/src/dns/dns_sa_to_rr.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_str_resflags
  source_file: /src/postfix/postfix/src/dns/dns_str_resflags.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_rr_create
  - dns_rr_free
  - dns_rr_copy
  - dns_rr_append_with_limit
  - dns_rr_append
  - dns_rr_compare_pref_ipv6
  - dns_rr_compare_pref_ipv4
  - dns_rr_compare_pref_any
  - dns_rr_compare_pref
  - dns_rr_sort_callback
  - dns_rr_sort
  - dns_rr_shuffle
  - dns_rr_remove
  - dns_rr_detach
  - weight_order
  - dns_srv_rr_sort
  source_file: /src/postfix/postfix/src/dns/dns_rr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_rr_to_pa
  - usage
  - main
  source_file: /src/postfix/postfix/src/dns/dns_rr_to_pa.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_rr_eq_sa
  - usage
  - compare_family
  - main
  source_file: /src/postfix/postfix/src/dns/dns_rr_eq_sa.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_rr
  - usage
  - main
  source_file: /src/postfix/postfix/src/dns/test_dns_lookup.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_strrecord
  source_file: /src/postfix/postfix/src/dns/dns_strrecord.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - postalias
  - postalias_queries
  - postalias_query
  - postalias_deletes
  - postalias_delete
  - postalias_seq
  - usage
  - main
  source_file: /src/postfix/postfix/src/postalias/postalias.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/postfix/postfix/src/postalias/postalias.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: LEN
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/postfix/postfix/src/postalias/postalias.c
      type_or_value: VSTRING_LEN
    - item_type: preproc_def
      name: POSTALIAS_FLAG_AS_OWNER
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/postfix/postfix/src/postalias/postalias.c
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: POSTALIAS_FLAG_SAVE_PERM
      pos:
        line_end: 288
        line_start: 286
        source_file: /src/postfix/postfix/src/postalias/postalias.c
      type_or_value: "(1<<1)\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - VSTREQ
  - get_nested_dict_name
  - COUNT_OF
  - proxy_map_find
  - PROXY_MAP_FIND_ERROR_RETURN
  - PROXY_MAP_PARAM_NAME
  - proxymap_sequence_service
  - proxymap_lookup_service
  - proxymap_update_service
  - proxymap_delete_service
  - proxymap_open_service
  - proxymap_service
  - dict_proxy_open
  - authorize_proxied_maps
  - post_jail_init
  - pre_accept
  - post_accept
  - main
  source_file: /src/postfix/postfix/src/proxymap/proxymap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PROXY_COLON
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/postfix/postfix/src/proxymap/proxymap.c
      type_or_value: DICT_TYPE_PROXY ":"
    - item_type: preproc_def
      name: PROXY_COLON_LEN
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/postfix/postfix/src/proxymap/proxymap.c
      type_or_value: (sizeof(PROXY_COLON) - 1)
    - item_type: preproc_def
      name: READ_OPEN_FLAGS
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/postfix/postfix/src/proxymap/proxymap.c
      type_or_value: O_RDONLY
    - item_type: preproc_def
      name: WRITE_OPEN_FLAGS
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/postfix/postfix/src/proxymap/proxymap.c
      type_or_value: (O_RDWR | O_CREAT)
    structs:
    - fields:
      - name: '*type_col'
        type: char
      - name: type_col_len
        type: ssize_t
      item_type: struct
      name: '*prefix'
      pos:
        line_end: 319
        line_start: 316
        source_file: /src/postfix/postfix/src/proxymap/proxymap.c
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - postlogd_fallback
  - postlogd_service
  - pre_jail_init
  - post_jail_init
  - main
  source_file: /src/postfix/postfix/src/postlogd/postlogd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DGRAM_BUF_SIZE
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/postfix/postfix/src/postlogd/postlogd.c
      type_or_value: '4096'
    structs: []
    typedefs: []
    union: []
- function_names:
  - bounce_notify_verp
  source_file: /src/postfix/postfix/src/bounce/bounce_notify_verp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/postfix/postfix/src/bounce/bounce_notify_verp.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: NULL_SENDER
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/postfix/postfix/src/bounce/bounce_notify_verp.c
      type_or_value: "MAIL_ADDR_EMPTY\t"
    - item_type: preproc_def
      name: NULL_TRACE_FLAGS
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/postfix/postfix/src/bounce/bounce_notify_verp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SEND_POSTMASTER_SINGLE_BOUNCE_NOTICE
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/postfix/postfix/src/bounce/bounce_notify_verp.c
      type_or_value: (notify_mask & MAIL_ERROR_BOUNCE)
    structs: []
    typedefs: []
    union: []
- function_names:
  - bounce_warn_service
  source_file: /src/postfix/postfix/src/bounce/bounce_warn_service.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/postfix/postfix/src/bounce/bounce_warn_service.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: NULL_SENDER
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/postfix/postfix/src/bounce/bounce_warn_service.c
      type_or_value: "MAIL_ADDR_EMPTY\t"
    - item_type: preproc_def
      name: NULL_TRACE_FLAGS
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/postfix/postfix/src/bounce/bounce_warn_service.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ANY_BOUNCE
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/postfix/postfix/src/bounce/bounce_warn_service.c
      type_or_value: (MAIL_ERROR_2BOUNCE | MAIL_ERROR_BOUNCE)
    - item_type: preproc_def
      name: SEND_POSTMASTER_DELAY_NOTICE
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/postfix/postfix/src/bounce/bounce_warn_service.c
      type_or_value: (notify_mask & MAIL_ERROR_DELAY)
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - test_driver
  - main
  source_file: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_ENCODING
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c
      type_or_value: '"7bit"'
    - item_type: preproc_def
      name: NO_SMTPUTF8
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c
      type_or_value: (0)
    - item_type: preproc_def
      name: TEST_DSN_ENVID
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c
      type_or_value: '"TEST-ENVID"'
    - item_type: preproc_def
      name: TEST_RECIPIENT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/bounce/bounce_notify_util_tester.c
      type_or_value: '"test-recipient"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - VS_NEUTER
  - bounce_append_proto
  - bounce_notify_proto
  - bounce_verp_proto
  - bounce_one_proto
  - bounce_service
  - load_helper
  - pre_jail_init
  - post_jail_init
  - main
  source_file: /src/postfix/postfix/src/bounce/bounce.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/postfix/postfix/src/bounce/bounce.c
      type_or_value: vstring_str
    structs: []
    typedefs: []
    union: []
- function_names:
  - STRING_AND_LEN
  - STR
  - bounce_template_create
  - bounce_template_free
  - bounce_template_reset
  - bounce_template_load
  - bounce_template_parse_buffer
  - CLEANUP_AND_RETURN
  - GETLINE
  - NON_ASCII
  - bounce_template_lookup
  - bounce_template_headers
  - bounce_template_expand
  - bounce_template_dump
  source_file: /src/postfix/postfix/src/bounce/bounce_template.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*suffix'
        type: char
      - name: suffix_len
        type: int
      - name: divisor
        type: int
      item_type: struct
      name: BOUNCE_TIME_DIVISOR
      pos:
        line_end: 180
        line_start: 176
        source_file: /src/postfix/postfix/src/bounce/bounce_template.c
    - fields:
      - name: '*param_name'
        type: char
      - name: param_name_len
        type: int
      - name: '*value'
        type: int
      item_type: struct
      name: BOUNCE_TIME_PARAMETER
      pos:
        line_end: 201
        line_start: 197
        source_file: /src/postfix/postfix/src/bounce/bounce_template.c
    - fields:
      - name: '*param_name'
        type: char
      - name: '**value'
        type: char
      item_type: struct
      name: BOUNCE_STR_PARAMETER
      pos:
        line_end: 216
        line_start: 213
        source_file: /src/postfix/postfix/src/bounce/bounce_template.c
    typedefs: []
    union: []
- function_names:
  - bounce_mail_alloc
  - bounce_mail_init
  - bounce_mail_one_init
  - bounce_mail_free
  - STREQ
  - STRNE
  - NOT_US_ASCII
  - NOT_7BIT_MIME
  - bounce_boilerplate
  - bounce_print
  - bounce_print_wrap
  - bounce_recipient_log
  - NON_NULL_EMPTY
  - bounce_diagnostic_log
  - bounce_header_dsn
  - IS_UTF8_ADDRESS
  - bounce_recipient_dsn
  - bounce_diagnostic_dsn
  - bounce_original
  - IS_UNDELIVERED_TEMPLATE
  - IS_HEADER
  - bounce_delrcpt
  - bounce_delrcpt_one
  source_file: /src/postfix/postfix/src/bounce/bounce_notify_util.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/postfix/postfix/src/bounce/bounce_notify_util.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: LEN
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/postfix/postfix/src/bounce/bounce_notify_util.c
      type_or_value: VSTRING_LEN
    - item_type: preproc_def
      name: DELIVER_LOCK_MODE
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/postfix/postfix/src/bounce/bounce_notify_util.c
      type_or_value: (MYFLOCK_OP_SHARED | MYFLOCK_OP_NOWAIT)
    - item_type: preproc_def
      name: LENGTH
      pos:
        line_end: 620
        line_start: 619
        source_file: /src/postfix/postfix/src/bounce/bounce_notify_util.c
      type_or_value: '79'
    - item_type: preproc_def
      name: INDENT
      pos:
        line_end: 621
        line_start: 620
        source_file: /src/postfix/postfix/src/bounce/bounce_notify_util.c
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names:
  - bounce_notify_service
  source_file: /src/postfix/postfix/src/bounce/bounce_notify_service.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/postfix/postfix/src/bounce/bounce_notify_service.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: NULL_SENDER
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/postfix/postfix/src/bounce/bounce_notify_service.c
      type_or_value: "MAIL_ADDR_EMPTY\t"
    - item_type: preproc_def
      name: NULL_TRACE_FLAGS
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/postfix/postfix/src/bounce/bounce_notify_service.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ANY_BOUNCE
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/postfix/postfix/src/bounce/bounce_notify_service.c
      type_or_value: (MAIL_ERROR_2BOUNCE | MAIL_ERROR_BOUNCE)
    - item_type: preproc_def
      name: SEND_POSTMASTER_ANY_BOUNCE_NOTICE
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/postfix/postfix/src/bounce/bounce_notify_service.c
      type_or_value: (notify_mask & ANY_BOUNCE)
    - item_type: preproc_def
      name: SEND_POSTMASTER_SINGLE_BOUNCE_NOTICE
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/postfix/postfix/src/bounce/bounce_notify_service.c
      type_or_value: (notify_mask & MAIL_ERROR_BOUNCE)
    structs: []
    typedefs: []
    union: []
- function_names:
  - bounce_one_service
  source_file: /src/postfix/postfix/src/bounce/bounce_one_service.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/postfix/postfix/src/bounce/bounce_one_service.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: NULL_SENDER
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/postfix/postfix/src/bounce/bounce_one_service.c
      type_or_value: "MAIL_ADDR_EMPTY\t"
    - item_type: preproc_def
      name: NULL_TRACE_FLAGS
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/postfix/postfix/src/bounce/bounce_one_service.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ANY_BOUNCE
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/postfix/postfix/src/bounce/bounce_one_service.c
      type_or_value: (MAIL_ERROR_2BOUNCE | MAIL_ERROR_BOUNCE)
    - item_type: preproc_def
      name: SEND_POSTMASTER_ANY_BOUNCE_NOTICE
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/postfix/postfix/src/bounce/bounce_one_service.c
      type_or_value: (notify_mask & ANY_BOUNCE)
    - item_type: preproc_def
      name: SEND_POSTMASTER_SINGLE_BOUNCE_NOTICE
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/postfix/postfix/src/bounce/bounce_one_service.c
      type_or_value: (notify_mask & MAIL_ERROR_BOUNCE)
    structs: []
    typedefs: []
    union: []
- function_names:
  - bounce_trace_service
  source_file: /src/postfix/postfix/src/bounce/bounce_trace_service.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/postfix/postfix/src/bounce/bounce_trace_service.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: NULL_SENDER
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/postfix/postfix/src/bounce/bounce_trace_service.c
      type_or_value: "MAIL_ADDR_EMPTY\t"
    - item_type: preproc_def
      name: NON_DSN_FLAGS
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/postfix/postfix/src/bounce/bounce_trace_service.c
      type_or_value: (DEL_REQ_FLAG_USR_VRFY | DEL_REQ_FLAG_RECORD)
    - item_type: preproc_def
      name: NULL_TRACE_FLAGS
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/postfix/postfix/src/bounce/bounce_trace_service.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - IS_FAILURE_TEMPLATE
  - IS_DELAY_TEMPLATE
  - IS_SUCCESS_TEMPLATE
  - bounce_template_encoding
  - bounce_template_charset
  source_file: /src/postfix/postfix/src/bounce/bounce_template.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BOUNCE_TMPL_FLAG_NEW_BUFFER
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postfix/postfix/src/bounce/bounce_template.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: BOUNCE_TMPL_CLASS_FAILURE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postfix/postfix/src/bounce/bounce_template.h
      type_or_value: '"failure"'
    - item_type: preproc_def
      name: BOUNCE_TMPL_CLASS_DELAY
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/bounce/bounce_template.h
      type_or_value: '"delay"'
    - item_type: preproc_def
      name: BOUNCE_TMPL_CLASS_SUCCESS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postfix/postfix/src/bounce/bounce_template.h
      type_or_value: '"success"'
    - item_type: preproc_def
      name: BOUNCE_TMPL_CLASS_VERIFY
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/bounce/bounce_template.h
      type_or_value: '"verify"'
    - item_type: preproc_def
      name: POSTMASTER_COPY
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/postfix/postfix/src/bounce/bounce_template.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: NO_POSTMASTER_COPY
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/postfix/postfix/src/bounce/bounce_template.h
      type_or_value: "0\t"
    structs:
    - fields:
      - name: flags
        type: int
      - name: '*class'
        type: char
      - name: '*origin'
        type: char
      - name: '*mime_charset'
        type: char
      - name: '*mime_encoding'
        type: char
      - name: '*obs_from'
        type: char
      - name: '*std_from'
        type: char
      - name: '*subject'
        type: char
      - name: '*postmaster_subject'
        type: char
      - name: '**message_text'
        type: char
      - name: '*prototype'
        type: struct BOUNCE_TEMPLATE
      - name: '*buffer'
        type: char
      item_type: struct
      name: BOUNCE_TEMPLATE
      pos:
        line_end: 36
        line_start: 23
        source_file: /src/postfix/postfix/src/bounce/bounce_template.h
    - fields:
      - name: '*failure'
        type: BOUNCE_TEMPLATE
      - name: '*delay'
        type: BOUNCE_TEMPLATE
      - name: '*success'
        type: BOUNCE_TEMPLATE
      - name: '*verify'
        type: BOUNCE_TEMPLATE
      item_type: struct
      name: BOUNCE_TEMPLATES
      pos:
        line_end: 74
        line_start: 69
        source_file: /src/postfix/postfix/src/bounce/bounce_template.h
    typedefs:
    - item_type: typedef
      name: PRINTFPTRLIKE(2, 3) (*BOUNCE_XP_PRN_FN) (VSTREAM *, const char *,...)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/postfix/postfix/src/bounce/bounce_template.h
      type: int
    - item_type: typedef
      name: (*BOUNCE_XP_PUT_FN) (VSTREAM *, const char *)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/postfix/postfix/src/bounce/bounce_template.h
      type: int
    union: []
- function_names:
  - bounce_append_service
  - NOT_NULL_EMPTY
  - STR
  source_file: /src/postfix/postfix/src/bounce/bounce_append_service.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - bounce_cleanup_callback
  - bounce_cleanup_log
  - bounce_cleanup_sig
  - bounce_cleanup_register
  - bounce_cleanup_unregister
  source_file: /src/postfix/postfix/src/bounce/bounce_cleanup.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - bounce_cleanup_registered
  source_file: /src/postfix/postfix/src/bounce/bounce_service.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*service'
        type: char
      - name: '*queue_name'
        type: char
      - name: '*queue_id'
        type: char
      - name: '*mime_encoding'
        type: char
      - name: '*dsn_envid'
        type: char
      - name: '*mime_boundary'
        type: char
      - name: '*template'
        type: BOUNCE_TEMPLATE
      - name: '*buf'
        type: VSTRING
      - name: '*sender'
        type: VSTRING
      - name: '*orig_fp'
        type: VSTREAM
      - name: orig_offs
        type: long
      - name: arrival_time
        type: time_t
      - name: message_size
        type: long
      - name: '*orig_msgid'
        type: VSTRING
      - name: '*rcpt_buf'
        type: RCPT_BUF
      - name: '*dsn_buf'
        type: DSN_BUF
      - name: '*log_handle'
        type: BOUNCE_LOG
      - name: '*mail_name'
        type: char
      - name: sendopts
        type: int
      item_type: struct
      name: BOUNCE_INFO
      pos:
        line_end: 93
        line_start: 73
        source_file: /src/postfix/postfix/src/bounce/bounce_service.h
    typedefs: []
    union: []
- function_names:
  - STR
  - bounce_templates_create
  - bounce_templates_free
  - bounce_templates_load
  - MATCH_TMPL_NAME
  - bounce_plain_out
  - bounce_templates_expand
  - bounce_templates_dump
  source_file: /src/postfix/postfix/src/bounce/bounce_templates.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - main
  source_file: /src/postfix/postfix/src/postkick/postkick.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - format_json
  - QUOTE_JSON
  - showq_json
  source_file: /src/postfix/postfix/src/postqueue/showq_json.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/postqueue/postqueue.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - showq_message
  - showq_compat
  source_file: /src/postfix/postfix/src/postqueue/showq_compat.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: S_STRING_FORMAT
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/postfix/postfix/src/postqueue/showq_compat.c
      type_or_value: '"%-11s %7s %-20s %s\n"'
    - item_type: preproc_def
      name: S_SENDER_FORMAT
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/postfix/postfix/src/postqueue/showq_compat.c
      type_or_value: '"%-11s %7ld %20.20s %s\n"'
    - item_type: preproc_def
      name: S_HEADINGS
      pos:
        line_end: 71
        line_start: 69
        source_file: /src/postfix/postfix/src/postqueue/showq_compat.c
      type_or_value: "\"-Queue ID-\", \"--Size--\", \\\n\t\t\t    \"----Arrival Time----\",
        \"-Sender/Recipient-------\""
    - item_type: preproc_def
      name: L_STRING_FORMAT
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/postfix/postfix/src/postqueue/showq_compat.c
      type_or_value: '"%-17s %8s %-19s %s\n"'
    - item_type: preproc_def
      name: L_SENDER_FORMAT
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/postfix/postfix/src/postqueue/showq_compat.c
      type_or_value: '"%-17s %8ld %19.19s %s\n"'
    - item_type: preproc_def
      name: L_HEADINGS
      pos:
        line_end: 76
        line_start: 74
        source_file: /src/postfix/postfix/src/postqueue/showq_compat.c
      type_or_value: "\"----Queue ID-----\", \"--Size--\", \\\n\t\t\t    \"---Arrival
        Time----\", \"--Sender/Recipient------\""
    structs: []
    typedefs: []
    union: []
- function_names:
  - showq_client
  - show_queue
  - flush_queue
  - flush_site
  - flush_file
  - unavailable
  - usage
  - main
  source_file: /src/postfix/postfix/src/postqueue/postqueue.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PQ_MODE_DEFAULT
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/postfix/postfix/src/postqueue/postqueue.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: PQ_MODE_MAILQ_LIST
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/postfix/postfix/src/postqueue/postqueue.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: PQ_MODE_FLUSH_QUEUE
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/postfix/postfix/src/postqueue/postqueue.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: PQ_MODE_FLUSH_SITE
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/postfix/postfix/src/postqueue/postqueue.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: PQ_MODE_FLUSH_FILE
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/postfix/postfix/src/postqueue/postqueue.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: PQ_MODE_JSON_LIST
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/postfix/postfix/src/postqueue/postqueue.c
      type_or_value: "5\t"
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/postfix/postfix/src/postqueue/postqueue.c
      type_or_value: vstring_str
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - showq_report
  - showq_reasons
  - showq_service
  - main
  source_file: /src/postfix/postfix/src/showq/showq.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHOWQ_CLEANUP_AND_RETURN
      pos:
        line_end: 193
        line_start: 181
        source_file: /src/postfix/postfix/src/showq/showq.c
      type_or_value: "{ \\\n\tif (sender_seen > 0) \\\n\t    attr_print(client, ATTR_FLAG_NONE,
        ATTR_TYPE_END); \\\n\tvstring_free(buf); \\\n\tvstring_free(printable_quoted_addr);
        \\\n\tif (rcpt_buf) \\\n\t    rcpb_free(rcpt_buf); \\\n\tif (dsn_buf) \\\n\t
        \   dsb_free(dsn_buf); \\\n\tif (dup_filter) \\\n\t    htable_free(dup_filter,
        (void (*) (void *)) 0); \\\n    }"
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*(*scan_next) (SCAN_DIR *)'
        type: char
      item_type: struct
      name: queue_info
      pos:
        line_end: 346
        line_start: 343
        source_file: /src/postfix/postfix/src/showq/showq.c
    typedefs: []
    union: []
- function_names:
  - postmap
  - postmap_body
  - postmap_header
  - postmap_head_end
  - postmap_queries
  - postmap_query
  - postmap_deletes
  - postmap_delete
  - postmap_seq
  - usage
  - main
  source_file: /src/postfix/postfix/src/postmap/postmap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/postfix/postfix/src/postmap/postmap.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: LEN
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/postfix/postfix/src/postmap/postmap.c
      type_or_value: VSTRING_LEN
    - item_type: preproc_def
      name: POSTMAP_FLAG_AS_OWNER
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/postfix/postfix/src/postmap/postmap.c
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: POSTMAP_FLAG_SAVE_PERM
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/postfix/postfix/src/postmap/postmap.c
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: POSTMAP_FLAG_HEADER_KEY
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/postfix/postfix/src/postmap/postmap.c
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: POSTMAP_FLAG_BODY_KEY
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/postfix/postfix/src/postmap/postmap.c
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: POSTMAP_FLAG_MIME_KEY
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/postfix/postfix/src/postmap/postmap.c
      type_or_value: "(1<<4)\t"
    - item_type: preproc_def
      name: POSTMAP_FLAG_HB_KEY
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/postfix/postfix/src/postmap/postmap.c
      type_or_value: (POSTMAP_FLAG_HEADER_KEY | POSTMAP_FLAG_BODY_KEY)
    - item_type: preproc_def
      name: POSTMAP_FLAG_FULL_KEY
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/postfix/postfix/src/postmap/postmap.c
      type_or_value: (POSTMAP_FLAG_BODY_KEY | POSTMAP_FLAG_MIME_KEY)
    - item_type: preproc_def
      name: POSTMAP_FLAG_ANY_KEY
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/postfix/postfix/src/postmap/postmap.c
      type_or_value: (POSTMAP_FLAG_HB_KEY | POSTMAP_FLAG_MIME_KEY)
    structs:
    - fields:
      - name: '**dicts'
        type: DICT
      - name: '**maps'
        type: char
      - name: map_count
        type: int
      - name: dict_flags
        type: int
      - name: header_done
        type: int
      - name: found
        type: int
      item_type: struct
      name: POSTMAP_KEY_STATE
      pos:
        line_end: 386
        line_start: 379
        source_file: /src/postfix/postfix/src/postmap/postmap.c
    typedefs: []
    union: []
- function_names:
  - STR
  - STREQ
  - STATUS_FROM_RAW_ENTRY
  - verify_make_entry
  - verify_parse_entry
  - verify_stat2name
  - verify_update_service
  - verify_post_mail_fclose_action
  - verify_post_mail_action
  - verify_query_service
  - POSITIVE_ENTRY_EXPIRED
  - NEGATIVE_ENTRY_EXPIRED
  - POSITIVE_REFRESH_NEEDED
  - NEGATIVE_REFRESH_NEEDED
  - verify_cache_validator
  - POS_OR_NEG_ENTRY_EXPIRED
  - verify_service
  - verify_dump
  - post_jail_init
  - pre_jail_init
  - post_accept_init
  - main
  source_file: /src/postfix/postfix/src/verify/verify.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PROBE_TTL
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/postfix/postfix/src/verify/verify.c
      type_or_value: '1000'
    - item_type: preproc_def
      name: VERIFY_DICT_OPEN_FLAGS
      pos:
        line_end: 716
        line_start: 714
        source_file: /src/postfix/postfix/src/verify/verify.c
      type_or_value: "(DICT_FLAG_DUP_REPLACE | DICT_FLAG_SYNC_UPDATE \\\n\t    | DICT_FLAG_OPEN_LOCK
        | DICT_FLAG_UTF8_REQUEST)"
    structs: []
    typedefs: []
    union: []
- function_names:
  - rename_file
  - make_file
  - use_file
  - remove_file
  - remove_silent
  - usage
  - main
  source_file: /src/postfix/postfix/src/fsstone/fsstone.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - postdrop_sig
  - postdrop_cleanup
  - check_login_sender_acl
  - main
  - STREQ
  source_file: /src/postfix/postfix/src/postdrop/postdrop.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - IS_AVAIL_CLIENT_ATTR
  - IS_AVAIL_CLIENT_NAME
  - IS_AVAIL_CLIENT_ADDR
  - IS_AVAIL_CLIENT_PORT
  - IS_AVAIL_CLIENT_NAMADDR
  - IS_AVAIL_CLIENT_HELO
  - IS_AVAIL_CLIENT_PROTO
  - IS_AVAIL_CLIENT_IDENT
  - IS_AVAIL_CLIENT_DOMAIN
  - SMTPD_STAND_ALONE_STREAM
  - SMTPD_STAND_ALONE
  - USE_SMTPD_PROXY
  - SMTPD_IN_MAIL_TRANSACTION
  - SMTPD_PROCESSING_BDAT
  - SMTPD_BUILD_NAMADDRPORT
  - HAVE_FORWARDED_CLIENT_ATTR
  - FORWARD_CLIENT_ATTR
  - FORWARD_ADDR
  - FORWARD_NAME
  - FORWARD_NAMADDR
  - FORWARD_PROTO
  - FORWARD_HELO
  - FORWARD_PORT
  - HAVE_FORWARDED_IDENT
  - FORWARD_IDENT
  - FORWARD_DOMAIN
  source_file: /src/postfix/postfix/src/smtpd/smtpd.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SMTPD_BDAT_STAT_NONE
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: SMTPD_BDAT_STAT_OK
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: SMTPD_BDAT_STAT_ERROR
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: SMTPD_FLAG_HANGUP
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: SMTPD_FLAG_ILL_PIPELINING
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: SMTPD_FLAG_AUTH_USED
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: SMTPD_FLAG_SMTPUTF8
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: SMTPD_FLAG_NEED_MILTER_ABORT
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: "(1<<4)\t"
    - item_type: preproc_def
      name: SMTPD_NOTE_BARE_LF
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: SMTPD_MASK_MAIL_KEEP
      pos:
        line_end: 217
        line_start: 215
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: "~(SMTPD_FLAG_SMTPUTF8)\t"
    - item_type: preproc_def
      name: SMTPD_STATE_XFORWARD_INIT
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: SMTPD_STATE_XFORWARD_NAME
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: SMTPD_STATE_XFORWARD_ADDR
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: SMTPD_STATE_XFORWARD_PROTO
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: SMTPD_STATE_XFORWARD_HELO
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: "(1<<4)\t"
    - item_type: preproc_def
      name: SMTPD_STATE_XFORWARD_IDENT
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: "(1<<5)\t"
    - item_type: preproc_def
      name: SMTPD_STATE_XFORWARD_DOMAIN
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: "(1<<6)\t"
    - item_type: preproc_def
      name: SMTPD_STATE_XFORWARD_PORT
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: "(1<<7)\t"
    - item_type: preproc_def
      name: SMTPD_STATE_XFORWARD_CLIENT_MASK
      pos:
        line_end: 231
        line_start: 227
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: "(SMTPD_STATE_XFORWARD_NAME | SMTPD_STATE_XFORWARD_ADDR \\\n\t|
        SMTPD_STATE_XFORWARD_PROTO | SMTPD_STATE_XFORWARD_HELO \\\n\t| SMTPD_STATE_XFORWARD_PORT)"
    - item_type: preproc_def
      name: SMTPD_AFTER_CONNECT
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '"CONNECT"'
    - item_type: preproc_def
      name: SMTPD_AFTER_DATA
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '"DATA content"'
    - item_type: preproc_def
      name: SMTPD_AFTER_BDAT
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '"BDAT content"'
    - item_type: preproc_def
      name: SMTPD_AFTER_EOM
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '"END-OF-MESSAGE"'
    - item_type: preproc_def
      name: SMTPD_CMD_HELO
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '"HELO"'
    - item_type: preproc_def
      name: SMTPD_CMD_EHLO
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '"EHLO"'
    - item_type: preproc_def
      name: SMTPD_CMD_STARTTLS
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '"STARTTLS"'
    - item_type: preproc_def
      name: SMTPD_CMD_AUTH
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '"AUTH"'
    - item_type: preproc_def
      name: SMTPD_CMD_MAIL
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '"MAIL"'
    - item_type: preproc_def
      name: SMTPD_CMD_RCPT
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '"RCPT"'
    - item_type: preproc_def
      name: SMTPD_CMD_DATA
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '"DATA"'
    - item_type: preproc_def
      name: SMTPD_CMD_BDAT
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '"BDAT"'
    - item_type: preproc_def
      name: SMTPD_CMD_EOD
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: "SMTPD_AFTER_EOM\t"
    - item_type: preproc_def
      name: SMTPD_CMD_RSET
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '"RSET"'
    - item_type: preproc_def
      name: SMTPD_CMD_NOOP
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '"NOOP"'
    - item_type: preproc_def
      name: SMTPD_CMD_VRFY
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '"VRFY"'
    - item_type: preproc_def
      name: SMTPD_CMD_ETRN
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '"ETRN"'
    - item_type: preproc_def
      name: SMTPD_CMD_QUIT
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '"QUIT"'
    - item_type: preproc_def
      name: SMTPD_CMD_XCLIENT
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '"XCLIENT"'
    - item_type: preproc_def
      name: SMTPD_CMD_XFORWARD
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '"XFORWARD"'
    - item_type: preproc_def
      name: SMTPD_CMD_UNKNOWN
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '"UNKNOWN"'
    - item_type: preproc_def
      name: SMTPD_CMD_HELP
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '"HELP"'
    - item_type: preproc_def
      name: CLIENT_ATTR_UNKNOWN
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '"unknown"'
    - item_type: preproc_def
      name: CLIENT_NAME_UNKNOWN
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: CLIENT_ATTR_UNKNOWN
    - item_type: preproc_def
      name: CLIENT_ADDR_UNKNOWN
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: CLIENT_ATTR_UNKNOWN
    - item_type: preproc_def
      name: CLIENT_PORT_UNKNOWN
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: CLIENT_ATTR_UNKNOWN
    - item_type: preproc_def
      name: CLIENT_NAMADDR_UNKNOWN
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: CLIENT_ATTR_UNKNOWN
    - item_type: preproc_def
      name: CLIENT_HELO_UNKNOWN
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CLIENT_PROTO_UNKNOWN
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: CLIENT_ATTR_UNKNOWN
    - item_type: preproc_def
      name: CLIENT_IDENT_UNKNOWN
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CLIENT_DOMAIN_UNKNOWN
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CLIENT_LOGIN_UNKNOWN
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SERVER_ATTR_UNKNOWN
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '"unknown"'
    - item_type: preproc_def
      name: SERVER_ADDR_UNKNOWN
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: SERVER_ATTR_UNKNOWN
    - item_type: preproc_def
      name: SERVER_PORT_UNKNOWN
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: SERVER_ATTR_UNKNOWN
    - item_type: preproc_def
      name: SMTPD_PEER_CODE_OK
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '2'
    - item_type: preproc_def
      name: SMTPD_PEER_CODE_TEMP
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SMTPD_PEER_CODE_PERM
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '5'
    - item_type: preproc_def
      name: SMTPD_PEER_CODE_FORGED
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
      type_or_value: '6'
    structs:
    - fields:
      - name: active
        type: int
      - name: '*reason'
        type: VSTRING
      - name: '*dsn'
        type: VSTRING
      - name: code
        type: int
      - name: class
        type: int
      item_type: struct
      name: SMTPD_DEFER
      pos:
        line_end: 51
        line_start: 45
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
    - fields:
      - name: flags
        type: int
      - name: '*name'
        type: char
      - name: '*addr'
        type: char
      - name: '*port'
        type: char
      - name: '*namaddr'
        type: char
      - name: '*rfc_addr'
        type: char
      - name: '*protocol'
        type: char
      - name: '*helo_name'
        type: char
      - name: '*ident'
        type: char
      - name: '*domain'
        type: char
      item_type: struct
      name: SMTPD_XFORWARD_ATTR
      pos:
        line_end: 64
        line_start: 53
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
    - fields:
      - name: flags
        type: int
      - name: err
        type: int
      - name: '*client'
        type: VSTREAM
      - name: '*buffer'
        type: VSTRING
      - name: '*addr_buf'
        type: VSTRING
      - name: '*service'
        type: char
      - name: arrival_time
        type: struct timeval
      - name: '*name'
        type: char
      - name: '*reverse_name'
        type: char
      - name: '*addr'
        type: char
      - name: '*port'
        type: char
      - name: '*namaddr'
        type: char
      - name: '*anvil_range'
        type: char
      - name: '*rfc_addr'
        type: char
      - name: addr_family
        type: int
      - name: '*dest_addr'
        type: char
      - name: '*dest_port'
        type: char
      - name: sockaddr
        type: struct sockaddr_storage
      - name: sockaddr_len
        type: SOCKADDR_SIZE
      - name: dest_sockaddr
        type: struct sockaddr_storage
      - name: dest_sockaddr_len
        type: SOCKADDR_SIZE
      - name: name_status
        type: int
      - name: reverse_name_status
        type: int
      - name: conn_count
        type: int
      - name: conn_rate
        type: int
      - name: error_count
        type: int
      - name: error_mask
        type: int
      - name: notify_mask
        type: int
      - name: '*helo_name'
        type: char
      - name: '*queue_id'
        type: char
      - name: '*cleanup'
        type: VSTREAM
      - name: '*dest'
        type: MAIL_STREAM
      - name: rcpt_count
        type: int
      - name: '*access_denied'
        type: char
      - name: '*history'
        type: ARGV
      - name: '*reason'
        type: char
      - name: '*sender'
        type: char
      - name: '*encoding'
        type: char
      - name: '*verp_delims'
        type: char
      - name: '*recipient'
        type: char
      - name: '*etrn_name'
        type: char
      - name: '*protocol'
        type: char
      - name: '*where'
        type: char
      - name: recursion
        type: int
      - name: msg_size
        type: off_t
      - name: act_size
        type: off_t
      - name: junk_cmds
        type: int
      - name: rcpt_overshoot
        type: int
      - name: '*rewrite_context'
        type: char
      - name: notes
        type: int
      - name: sender_rcptmap_checked
        type: int
      - name: recipient_rcptmap_checked
        type: int
      - name: warn_if_reject
        type: int
      - name: defer_if_reject
        type: SMTPD_DEFER
      - name: defer_if_permit
        type: SMTPD_DEFER
      - name: defer_if_permit_client
        type: int
      - name: defer_if_permit_helo
        type: int
      - name: defer_if_permit_sender
        type: int
      - name: discard
        type: int
      - name: '*saved_filter'
        type: char
      - name: '*saved_redirect'
        type: char
      - name: '*saved_bcc'
        type: ARGV
      - name: saved_flags
        type: int
      - name: '*expand_buf'
        type: VSTRING
      - name: '*prepend'
        type: ARGV
      - name: '*instance'
        type: VSTRING
      - name: seqno
        type: int
      - name: ehlo_discard_mask
        type: int
      - name: '*dsn_envid'
        type: char
      - name: dsn_ret
        type: int
      - name: '*dsn_buf'
        type: VSTRING
      - name: '*dsn_orcpt_buf'
        type: VSTRING
      - name: '*proxy'
        type: struct SMTPD_PROXY
      - name: '*proxy_mail'
        type: char
      - name: xforward
        type: SMTPD_XFORWARD_ATTR
      - name: '**milter_argv'
        type: char
      - name: milter_argc
        type: ssize_t
      - name: '*milter_reject_text'
        type: char
      - name: '*milters'
        type: MILTERS
      - name: '*ehlo_buf'
        type: VSTRING
      - name: '*ehlo_argv'
        type: ARGV
      - name: bdat_state
        type: int
      - name: '*bdat_get_stream'
        type: VSTREAM
      - name: '*bdat_get_buffer'
        type: VSTRING
      - name: bdat_prev_rec_type
        type: int
      item_type: struct
      name: SMTPD_STATE
      pos:
        line_end: 204
        line_start: 66
        source_file: /src/postfix/postfix/src/smtpd/smtpd.h
    typedefs: []
    union: []
- function_names:
  - smtpd_expand_init
  - smtpd_expand_unknown
  - smtpd_expand_addr
  - STREQ
  - if
  - if
  - smtpd_expand_lookup
  - STREQN
  - CONST_LEN
  - smtpd_expand
  source_file: /src/postfix/postfix/src/smtpd/smtpd_expand.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/postfix/postfix/src/smtpd/smtpd_expand.c
      type_or_value: vstring_str
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtpd_chat_pre_jail_init
  - smtpd_chat_reset
  - smtp_chat_append
  - smtpd_chat_query_limit
  - smtpd_chat_reply
  - vsmtpd_chat_reply
  - print_line
  - smtpd_chat_notify
  source_file: /src/postfix/postfix/src/smtpd/smtpd_chat.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/postfix/postfix/src/smtpd/smtpd_chat.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: LEN
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/postfix/postfix/src/smtpd/smtpd_chat.c
      type_or_value: VSTRING_LEN
    - item_type: preproc_def
      name: NULL_TRACE_FLAGS
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/postfix/postfix/src/smtpd/smtpd_chat.c
      type_or_value: '0'
    - item_type: preproc_def
      name: NO_QUEUE_ID
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/postfix/postfix/src/smtpd/smtpd_chat.c
      type_or_value: ((VSTRING *) 0)
    - item_type: preproc_def
      name: LENGTH
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/postfix/postfix/src/smtpd/smtpd_chat.c
      type_or_value: '78'
    - item_type: preproc_def
      name: INDENT
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/postfix/postfix/src/smtpd/smtpd_chat.c
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtpd_state_init
  - smtpd_state_reset
  source_file: /src/postfix/postfix/src/smtpd/smtpd_state.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtpd_peer_sockaddr_to_hostaddr
  - smtpd_peer_sockaddr_to_hostname
  - TEMP_AI_ERROR
  - REJECT_PEER_NAME
  - smtpd_peer_hostaddr_to_sockaddr
  - smtpd_peer_assume_local_client
  - smtpd_peer_assume_unknown_client
  - smtpd_peer_from_pass_attr
  - BAD_PASS_ATTR
  - smtpd_peer_from_default
  - smtpd_peer_fall_back_and_hangup
  - smtpd_peer_from_proxy
  - smtpd_peer_init
  - smtpd_peer_reset
  - MYFREE_AND_ZERO
  source_file: /src/postfix/postfix/src/smtpd/smtpd_peer.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: (*endpt_lookup) (SMTPD_STATE *)
        type: int
      item_type: struct
      name: SMTPD_ENDPT_LOOKUP_INFO
      pos:
        line_end: 569
        line_start: 566
        source_file: /src/postfix/postfix/src/smtpd/smtpd_peer.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/smtpd/smtpd_expand.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - smtpd_milter_eval
  - IF_ENCRYPTED
  - IF_TRUSTED
  - IF_SASL_ENABLED
  source_file: /src/postfix/postfix/src/smtpd/smtpd_milter.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vstream_swap
  - smtpd_chat_reset
  - smtpd_sasl_state_init
  - smtpd_xforward_init
  - reset_global_variables
  - test_smtpd_peer_init
  - test_peer_from_non_socket
  - test_peer_from_unconn_socket
  - test_peer_from_pass_attr
  - test_peer_from_haproxy
  - main
  source_file: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_TIMEOUT
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c
      type_or_value: '10'
    - item_type: preproc_def
      name: PASS_ATTR_COUNT
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c
      type_or_value: '5'
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: want_hangup
        type: int
      - name: '*want_warning'
        type: char
      - name: '*want_client_name'
        type: char
      - name: want_client_name_status
        type: int
      - name: '*want_client_reverse_name'
        type: char
      - name: want_client_reverse_name_status
        type: int
      - name: '*want_client_addr'
        type: char
      - name: '*want_client_rfc_addr'
        type: char
      - name: '*want_client_port'
        type: char
      - name: want_client_addr_family
        type: int
      - name: '*want_server_addr'
        type: char
      - name: '*want_server_port'
        type: char
      - name: want_sockaddr_len
        type: int
      - name: want_dest_sockaddr_len
        type: int
      item_type: struct
      name: TEST_BASE
      pos:
        line_end: 120
        line_start: 104
        source_file: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c
    - fields:
      - name: base
        type: TEST_BASE
      - name: '*inet_protocols'
        type: char
      item_type: struct
      name: PEER_FROM_NON_SOCKET_CASE
      pos:
        line_end: 265
        line_start: 262
        source_file: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c
    - fields:
      - name: base
        type: TEST_BASE
      - name: proto_family
        type: int
      item_type: struct
      name: PEER_FROM_UNCONN_SOCKET_CASE
      pos:
        line_end: 345
        line_start: 342
        source_file: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c
    - fields:
      - name: '*key'
        type: char
      - name: '*value'
        type: char
      item_type: struct
      name: PASS_ATTR
      pos:
        line_end: 440
        line_start: 437
        source_file: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c
    - fields:
      - name: base
        type: TEST_BASE
      - name: attrs[PASS_ATTR_COUNT]
        type: struct PASS_ATTR
      item_type: struct
      name: PEER_FROM_PASS_ATTR_CASE
      pos:
        line_end: 444
        line_start: 441
        source_file: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c
    - fields:
      - name: base
        type: TEST_BASE
      - name: '*proxy_header'
        type: char
      item_type: struct
      name: PEER_FROM_HAPROXY_CASE
      pos:
        line_end: 621
        line_start: 618
        source_file: /src/postfix/postfix/src/smtpd/smtpd_peer_test.c
    typedefs: []
    union: []
- function_names:
  - smtpd_sasl_auth_cmd
  - smtpd_sasl_mail_opt
  - smtpd_sasl_mail_reset
  - permit_sasl_auth
  source_file: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XSASL_TYPE_CYRUS
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.c
      type_or_value: '"cyrus"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/smtpd/smtpd_check.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtp_quoted
  - ENTER_CHAR
  - LEAVE_CHAR
  - smtp_next_token
  - STR
  - LEN
  - STREQ
  - smtpd_token_init
  - smtpd_token
  - main
  source_file: /src/postfix/postfix/src/smtpd/smtpd_token.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - IS_BARE_LF_WANT_STD_EOD
  - IS_BARE_LF_REPLY_REJECT
  - IS_BARE_LF_NOTE_LOG
  - sasl_client_exception
  - smtpd_whatsup
  - collapse_args
  - check_milter_reply
  - helo_cmd
  - PUSH_STRING
  - POP_STRING
  - cant_announce_feature
  - cant_permit_command
  - ehlo_cmd
  - EHLO_APPEND
  - EHLO_APPEND1
  - helo_reset
  - smtpd_sasl_auth_cmd_wrapper
  - mail_open_stream
  - PRINT_OR_NULL
  - PRINT2_OR_NULL
  - extract_addr
  - milter_argv
  - mail_cmd
  - mail_reset
  - rcpt_cmd
  - rcpt_reset
  - rfc2047_comment_encode
  - comment_sanitize
  - data_cmd
  - common_pre_message_handling
  - VSTRING_STRDUP
  - receive_data_message
  - common_post_message_handling
  - IS_SMTP_REJECT
  - skip_bdat
  - bdat_cmd
  - rset_cmd
  - noop_cmd
  - vrfy_cmd
  - etrn_cmd
  - quit_cmd
  - xclient_cmd
  - STREQ
  - UPDATE_STR
  - if
  - if
  - if
  - xforward_cmd
  - chat_reset
  - smtpd_start_tls
  - ADD_EXCLUDE
  - starttls_cmd
  - tls_reset
  - milter_unknown_reply_override
  - unimpl_cmd
  - LAST_TABLE_PTR
  - help_cmd
  - smtpd_flag_ill_pipelining
  - smtpd_proto
  - smtpd_format_cmd_stats
  - setup_milters
  - teardown_milters
  - smtpd_service
  - pre_accept
  - pre_jail_init
  - post_jail_init
  - main
  source_file: /src/postfix/postfix/src/smtpd/smtpd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VERP_CMD
      pos:
        line_end: 1596
        line_start: 1595
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
      type_or_value: '"XVERP"'
    - item_type: preproc_def
      name: VERP_CMD_LEN
      pos:
        line_end: 1597
        line_start: 1596
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
      type_or_value: '5'
    - item_type: preproc_def
      name: NEUTER_CHARACTERS
      pos:
        line_end: 1641
        line_start: 1640
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
      type_or_value: '" <>()\\\";@"'
    - item_type: preproc_def
      name: REASON_TIMEOUT
      pos:
        line_end: 1646
        line_start: 1645
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
      type_or_value: '"timeout"'
    - item_type: preproc_def
      name: REASON_LOST_CONNECTION
      pos:
        line_end: 1647
        line_start: 1646
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
      type_or_value: '"lost connection"'
    - item_type: preproc_def
      name: REASON_ERROR_LIMIT
      pos:
        line_end: 1648
        line_start: 1647
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
      type_or_value: '"too many errors"'
    - item_type: preproc_def
      name: BARE_LF_FLAG_WANT_STD_EOD
      pos:
        line_end: 1692
        line_start: 1691
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: BARE_LF_FLAG_REPLY_REJECT
      pos:
        line_end: 1693
        line_start: 1692
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: BARE_LF_FLAG_NOTE_LOG
      pos:
        line_end: 1694
        line_start: 1693
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: MILTER_SKIP_FLAGS
      pos:
        line_end: 1799
        line_start: 1798
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
      type_or_value: (CLEANUP_FLAG_DISCARD)
    - item_type: preproc_def
      name: AUTH_CMD
      pos:
        line_end: 2062
        line_start: 2061
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
      type_or_value: '"AUTH"'
    - item_type: preproc_def
      name: XCLIENT_LOGIN_KLUDGE
      pos:
        line_end: 2072
        line_start: 2071
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
      type_or_value: '" " XCLIENT_LOGIN'
    - item_type: preproc_def
      name: XCLIENT_LOGIN_KLUDGE
      pos:
        line_end: 2074
        line_start: 2073
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
      type_or_value: '""'
    - item_type: preproc_def
      name: PERMIT_EMPTY_ADDR
      pos:
        line_end: 2446
        line_start: 2445
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
      type_or_value: '1'
    - item_type: preproc_def
      name: REJECT_EMPTY_ADDR
      pos:
        line_end: 2447
        line_start: 2446
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ESPECIALS
      pos:
        line_end: 3287
        line_start: 3286
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
      type_or_value: "\"()<>@,;:\\\"/[]?.=\"\t\t"
    - item_type: preproc_def
      name: QSPECIALS
      pos:
        line_end: 3288
        line_start: 3287
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
      type_or_value: "\"_\" ESPECIALS\t\t\t"
    - item_type: preproc_def
      name: CSPECIALS
      pos:
        line_end: 3289
        line_start: 3288
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
      type_or_value: "\"\\\\\\\"()\"\t\t\t"
    - item_type: preproc_def
      name: SLOPPY
      pos:
        line_end: 4368
        line_start: 4367
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
      type_or_value: '0'
    - item_type: preproc_def
      name: NO_NORM_RFC_ADDR
      pos:
        line_end: 4806
        line_start: 4805
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
      type_or_value: ((char **) 0)
    - item_type: preproc_def
      name: NO_NORM_ADDR_FAMILY
      pos:
        line_end: 4807
        line_start: 4806
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
      type_or_value: ((int *) 0)
    - item_type: preproc_def
      name: PROXY_OPEN_FLAGS
      pos:
        line_end: 5431
        line_start: 5429
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
      type_or_value: (TLS_PROXY_FLAG_ROLE_SERVER | TLS_PROXY_FLAG_SEND_CONTEXT)
    - item_type: preproc_def
      name: SMTPD_CMD_FLAG_LIMIT
      pos:
        line_end: 5605
        line_start: 5604
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: SMTPD_CMD_FLAG_PRE_TLS
      pos:
        line_end: 5606
        line_start: 5605
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: SMTPD_CMD_FLAG_LAST
      pos:
        line_end: 5607
        line_start: 5606
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
      type_or_value: "(1<<2)\t"
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: (*action) (SMTPD_STATE *, int, SMTPD_TOKEN *)
        type: int
      - name: flags
        type: int
      - name: success_count
        type: int
      - name: total_count
        type: int
      item_type: struct
      name: SMTPD_CMD
      pos:
        line_end: 5595
        line_start: 5589
        source_file: /src/postfix/postfix/src/smtpd/smtpd.c
    typedefs: []
    union: []
- function_names:
  - smtpd_dsn_fix
  source_file: /src/postfix/postfix/src/smtpd/smtpd_dsn_fix.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*micro_code'
        type: char
      - name: '*sender_dsn'
        type: char
      - name: '*rcpt_dsn'
        type: char
      item_type: struct
      name: dsn_map
      pos:
        line_end: 76
        line_start: 72
        source_file: /src/postfix/postfix/src/smtpd/smtpd_dsn_fix.c
    typedefs: []
    union: []
- function_names:
  - smtpd_sasl_is_active
  - smtpd_sasl_set_inactive
  source_file: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - STREQ
  - smtpd_proxy_xforward_flush
  - smtpd_proxy_xforward_send
  - CONSTR_LEN
  - smtpd_proxy_connect
  - smtpd_proxy_fake_server_reply
  - smtpd_proxy_replay_rdwr_error
  - smtpd_proxy_rdwr_error
  - smtpd_proxy_replay_send
  - smtpd_proxy_save_cmd
  - smtpd_proxy_cmd
  - smtpd_proxy_save_rec_put
  - VSTREAM_TO_SMTPD_STATE
  - smtpd_proxy_rec_put
  - smtpd_proxy_save_rec_fprintf
  - smtpd_proxy_rec_fprintf
  - smtpd_proxy_replay_setup
  - smtpd_proxy_create
  - SMTPD_PROXY_ALLOC
  - smtpd_proxy_close
  - smtpd_proxy_free
  - smtpd_proxy_parse_opts
  source_file: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SMTPD_PROXY_XFORWARD_NAME
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: SMTPD_PROXY_XFORWARD_ADDR
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: SMTPD_PROXY_XFORWARD_PROTO
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: SMTPD_PROXY_XFORWARD_HELO
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: SMTPD_PROXY_XFORWARD_IDENT
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
      type_or_value: "(1<<4)\t"
    - item_type: preproc_def
      name: SMTPD_PROXY_XFORWARD_DOMAIN
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
      type_or_value: "(1<<5)\t"
    - item_type: preproc_def
      name: SMTPD_PROXY_XFORWARD_PORT
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
      type_or_value: "(1<<6)\t"
    - item_type: preproc_def
      name: PAYLOAD_LIMIT
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/postfix/postfix/src/smtpd/smtpd_proxy.c
      type_or_value: (512 - CONSTR_LEN("250 " XFORWARD_CMD "\r\n"))
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtpd_chat_query
  source_file: /src/postfix/postfix/src/smtpd/smtpd_chat.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - resolve_pagein
  - resolve_pageout
  - smtpd_resolve_init
  - smtpd_resolve_addr
  source_file: /src/postfix/postfix/src/smtpd/smtpd_resolve.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SENDER_ADDR_JOIN_CHAR
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/postfix/postfix/src/smtpd/smtpd_resolve.c
      type_or_value: '''\n'''
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - smtpd_peer_from_haproxy
  source_file: /src/postfix/postfix/src/smtpd/smtpd_haproxy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/smtpd/smtpd_proxy.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SMTPD_PROXY_FLAG_SPEED_ADJUST
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/smtpd/smtpd_proxy.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: SMTPD_PROXY_NAME_SPEED_ADJUST
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/smtpd/smtpd_proxy.h
      type_or_value: '"speed_adjust"'
    - item_type: preproc_def
      name: SMTPD_PROX_WANT_BAD
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/smtpd/smtpd_proxy.h
      type_or_value: "0xff\t"
    - item_type: preproc_def
      name: SMTPD_PROX_WANT_NONE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/smtpd/smtpd_proxy.h
      type_or_value: "'\\0'\t"
    - item_type: preproc_def
      name: SMTPD_PROX_WANT_ANY
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postfix/postfix/src/smtpd/smtpd_proxy.h
      type_or_value: "'0'\t"
    - item_type: preproc_def
      name: SMTPD_PROX_WANT_OK
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/postfix/postfix/src/smtpd/smtpd_proxy.h
      type_or_value: "'2'\t"
    - item_type: preproc_def
      name: SMTPD_PROX_WANT_MORE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/postfix/postfix/src/smtpd/smtpd_proxy.h
      type_or_value: "'3'\t"
    structs:
    - fields:
      - name: '*stream'
        type: VSTREAM
      - name: '*request'
        type: VSTRING
      - name: '*reply'
        type: VSTRING
      - name: cmd
        type: SMTPD_PROXY_CMD_FN
      - name: rec_fprintf
        type: SMTPD_PROXY_REC_FPRINTF_FN
      - name: rec_put
        type: SMTPD_PROXY_REC_PUT_FN
      - name: flags
        type: int
      - name: '*service_stream'
        type: VSTREAM
      - name: '*service_name'
        type: char
      - name: timeout
        type: int
      - name: '*ehlo_name'
        type: char
      - name: '*mail_from'
        type: char
      item_type: struct
      name: SMTPD_PROXY
      pos:
        line_end: 39
        line_start: 24
        source_file: /src/postfix/postfix/src/smtpd/smtpd_proxy.h
    typedefs:
    - item_type: typedef
      name: PRINTFPTRLIKE(3, 4) (*SMTPD_PROXY_CMD_FN) (SMTPD_STATE *, int, const char
        *,...)
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/postfix/postfix/src/smtpd/smtpd_proxy.h
      type: int
    - item_type: typedef
      name: PRINTFPTRLIKE(3, 4) (*SMTPD_PROXY_REC_FPRINTF_FN) (VSTREAM *, int, const
        char *,...)
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/postfix/postfix/src/smtpd/smtpd_proxy.h
      type: int
    - item_type: typedef
      name: (*SMTPD_PROXY_REC_PUT_FN) (VSTREAM *, int, const char *, ssize_t)
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/postfix/postfix/src/smtpd/smtpd_proxy.h
      type: int
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/smtpd/smtpd_milter.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtpd_xforward_init
  - smtpd_xforward_preset
  - smtpd_xforward_reset
  - FREE_AND_WIPE
  source_file: /src/postfix/postfix/src/smtpd/smtpd_xforward.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/smtpd/smtpd_resolve.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/smtpd/smtpd_token.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SMTPD_TOK_OTHER
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/postfix/postfix/src/smtpd/smtpd_token.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SMTPD_TOK_ADDR
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postfix/postfix/src/smtpd/smtpd_token.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SMTPD_TOK_ERROR
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/smtpd/smtpd_token.h
      type_or_value: '2'
    structs:
    - fields:
      - name: tokval
        type: int
      - name: '*strval'
        type: char
      - name: '*vstrval'
        type: VSTRING
      item_type: struct
      name: SMTPD_TOKEN
      pos:
        line_end: 22
        line_start: 18
        source_file: /src/postfix/postfix/src/smtpd/smtpd_token.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/smtpd/smtpd_dsn_fix.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SMTPD_NAME_CLIENT
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/postfix/postfix/src/smtpd/smtpd_dsn_fix.h
      type_or_value: '"Client host"'
    - item_type: preproc_def
      name: SMTPD_NAME_REV_CLIENT
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/postfix/postfix/src/smtpd/smtpd_dsn_fix.h
      type_or_value: '"Unverified Client host"'
    - item_type: preproc_def
      name: SMTPD_NAME_CCERT
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/postfix/postfix/src/smtpd/smtpd_dsn_fix.h
      type_or_value: '"Client certificate"'
    - item_type: preproc_def
      name: SMTPD_NAME_SASL_USER
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/postfix/postfix/src/smtpd/smtpd_dsn_fix.h
      type_or_value: '"SASL login name"'
    - item_type: preproc_def
      name: SMTPD_NAME_HELO
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/postfix/postfix/src/smtpd/smtpd_dsn_fix.h
      type_or_value: '"Helo command"'
    - item_type: preproc_def
      name: SMTPD_NAME_SENDER
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/postfix/postfix/src/smtpd/smtpd_dsn_fix.h
      type_or_value: '"Sender address"'
    - item_type: preproc_def
      name: SMTPD_NAME_RECIPIENT
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/postfix/postfix/src/smtpd/smtpd_dsn_fix.h
      type_or_value: '"Recipient address"'
    - item_type: preproc_def
      name: SMTPD_NAME_ETRN
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/smtpd/smtpd_dsn_fix.h
      type_or_value: '"Etrn command"'
    - item_type: preproc_def
      name: SMTPD_NAME_DATA
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/smtpd/smtpd_dsn_fix.h
      type_or_value: '"Data command"'
    - item_type: preproc_def
      name: SMTPD_NAME_EOD
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postfix/postfix/src/smtpd/smtpd_dsn_fix.h
      type_or_value: '"End-of-data"'
    - item_type: preproc_def
      name: SND_DSN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/smtpd/smtpd_dsn_fix.h
      type_or_value: '"4.1.7"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - smtpd_sasl_initialize
  - smtpd_sasl_activate
  - ADDR_OR_EMPTY
  - REALM_OR_NULL
  - smtpd_sasl_state_init
  - smtpd_sasl_deactivate
  - smtpd_sasl_authenticate
  - smtpd_sasl_logout
  - smtpd_sasl_login
  source_file: /src/postfix/postfix/src/smtpd/smtpd_sasl_glue.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CONST_STR
  - UPDATE_STRING
  - DEFER_IF_REJECT2
  - DEFER_IF_REJECT3
  - DEFER_IF_REJECT4
  - DEFER_IF_PERMIT2
  - DEFER_IF_PERMIT3
  - DEFER_IF_PERMIT4
  - link_override_table_to_variable
  - policy_client_register
  - command_map_register
  - smtpd_check_parse
  - has_required
  - fail_required
  - smtpd_check_init
  - log_whatsup
  - smtpd_acl_permit
  - smtpd_check_reject
  - defer_if
  - reject_dict_retry
  - reject_server_error
  - check_mail_addr_find
  - reject_unknown_reverse_name
  - reject_unknown_client
  - reject_plaintext_session
  - permit_inet_interfaces
  - permit_mynetworks
  - dup_if_truncate
  - reject_invalid_hostaddr
  - reject_invalid_hostname
  - reject_non_fqdn_hostname
  - reject_unknown_hostname
  - reject_unknown_mailhost
  - permit_tls_clientcerts
  - check_relay_domains
  - permit_auth_destination
  - reject_unauth_destination
  - reject_unauth_pipelining
  - all_auth_mx_addr
  - has_my_addr
  - HAS_MY_ADDR_RETURN
  - i_am_mx
  - permit_mx_primary
  - permit_mx_backup
  - PERMIT_MX_BACKUP_RETURN
  - reject_non_fqdn_address
  - reject_unknown_address
  - reject_unverified_address
  - can_delegate_action
  - not_in_client_helo
  - check_table_result
  - STREQUAL
  - ADDROF
  - check_access
  - CHK_ACCESS_RETURN
  - check_domain_access
  - CHK_DOMAIN_RETURN
  - check_addr_access
  - CHK_ADDR_RETURN
  - check_namadr_access
  - check_server_access
  - CHECK_SERVER_RETURN
  - check_ccert_access
  - check_sasl_access
  - check_mail_access
  - SUSPICIOUS
  - SMTPD_DNSXL_STAT_SOFT
  - SMTPD_DNXSL_STAT_HARD
  - SMTPD_DNSXL_STAT_OK
  - rbl_pagein
  - rbl_pageout
  - rbl_byte_pagein
  - rbl_byte_pageout
  - rbl_expand_lookup
  - STREQ
  - rbl_reject_reply
  - rbl_match_addr
  - find_dnsxl_addr
  - reject_rbl_addr
  - permit_dnswl_addr
  - find_dnsxl_domain
  - reject_rbl_domain
  - permit_dnswl_domain
  - reject_maps_rbl
  - reject_auth_sender_login_mismatch
  - reject_unauth_sender_login_mismatch
  - valid_utf8_action
  - check_policy_service
  - ENCODE_CN
  - NONEMPTY
  - is_map_command
  - forbid_allowlist
  - generic_checks
  - smtpd_check_addr
  - smtpd_check_rewrite
  - smtpd_check_client
  - SMTPD_CHECK_RESET
  - smtpd_check_helo
  - SMTPD_CHECK_PUSH
  - SMTPD_CHECK_POP
  - SMTPD_CHECK_HELO_RETURN
  - smtpd_check_mail
  - SMTPD_CHECK_MAIL_RETURN
  - smtpd_check_rcpt
  - SMTPD_CHECK_RCPT_RETURN
  - smtpd_check_etrn
  - SMTPD_CHECK_ETRN_RETURN
  - check_recipient_rcpt_maps
  - check_sender_rcpt_maps
  - check_rcpt_maps
  - MATCH
  - NOMATCH
  - MATCH_LEFT
  - smtpd_check_size
  - smtpd_check_queue
  - BLOCKS
  - smtpd_check_data
  - smtpd_check_eod
  - string_init
  - string_update
  - int_init
  - int_update
  - rest_update
  - rest_class
  - resolve_clnt_init
  - resolve_clnt_free
  - smtpd_sasl_activate
  - smtpd_sasl_deactivate
  - permit_sasl_auth
  - smtpd_sasl_state_init
  - verify_clnt_query
  - rewrite_clnt_internal
  - resolve_clnt
  - smtpd_chat_reset
  - usage
  - main
  - UPDATE_MAPS
  - UPDATE_LIST
  - TRIM_ADDR
  - FREE_STRING
  source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SMTPD_CHECK_DUNNO
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: SMTPD_CHECK_OK
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: SMTPD_CHECK_REJECT
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 393
        line_start: 392
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: DEFER_ALL_ACT
      pos:
        line_end: 436
        line_start: 435
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFER_IF_PERMIT_ACT
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '1'
    - item_type: preproc_def
      name: smtpd_policy_tmout_offset
      pos:
        line_end: 520
        line_start: 519
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '0'
    - item_type: preproc_def
      name: smtpd_policy_idle_offset
      pos:
        line_end: 521
        line_start: 520
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '1'
    - item_type: preproc_def
      name: smtpd_policy_ttl_offset
      pos:
        line_end: 522
        line_start: 521
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '2'
    - item_type: preproc_def
      name: smtpd_policy_try_delay_offset
      pos:
        line_end: 523
        line_start: 522
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '3'
    - item_type: preproc_def
      name: smtpd_policy_req_limit_offset
      pos:
        line_end: 525
        line_start: 524
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '0'
    - item_type: preproc_def
      name: smtpd_policy_try_limit_offset
      pos:
        line_end: 526
        line_start: 525
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '1'
    - item_type: preproc_def
      name: smtpd_policy_def_action_offset
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '0'
    - item_type: preproc_def
      name: smtpd_policy_context_offset
      pos:
        line_end: 529
        line_start: 528
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SMTPD_ACL_SEARCH_NAME_CERT_FPRINT
      pos:
        line_end: 534
        line_start: 533
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '"cert_fingerprint"'
    - item_type: preproc_def
      name: SMTPD_ACL_SEARCH_NAME_PKEY_FPRINT
      pos:
        line_end: 535
        line_start: 534
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '"pubkey_fingerprint"'
    - item_type: preproc_def
      name: SMTPD_ACL_SEARCH_NAME_CERT_ISSUER_CN
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '"issuer_cn"'
    - item_type: preproc_def
      name: SMTPD_ACL_SEARCH_NAME_CERT_SUBJECT_CN
      pos:
        line_end: 537
        line_start: 536
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '"subject_cn"'
    - item_type: preproc_def
      name: SMTPD_ACL_SEARCH_CODE_CERT_FPRINT
      pos:
        line_end: 544
        line_start: 543
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SMTPD_ACL_SEARCH_CODE_PKEY_FPRINT
      pos:
        line_end: 545
        line_start: 544
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SMTPD_ACL_SEARCH_CODE_CERT_ISSUER_CN
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '3'
    - item_type: preproc_def
      name: SMTPD_ACL_SEARCH_CODE_CERT_SUBJECT_CN
      pos:
        line_end: 547
        line_start: 546
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '4'
    - item_type: preproc_def
      name: SMTPD_CHECK_PARSE_POLICY
      pos:
        line_end: 678
        line_start: 677
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: SMTPD_CHECK_PARSE_MAPS
      pos:
        line_end: 679
        line_start: 678
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: SMTPD_CHECK_PARSE_ALL
      pos:
        line_end: 680
        line_start: 679
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: (~0)
    - item_type: preproc_def
      name: NO_PRINT_ARGS
      pos:
        line_end: 1045
        line_start: 1044
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '""'
    - item_type: preproc_def
      name: NO_PRINT_ARGS
      pos:
        line_end: 1047
        line_start: 1046
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '"%s", ""'
    - item_type: preproc_def
      name: RR_ADDR_TYPES
      pos:
        line_end: 1501
        line_start: 1500
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: T_A, T_AAAA
    - item_type: preproc_def
      name: RR_ADDR_TYPES
      pos:
        line_end: 1503
        line_start: 1502
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: T_A
    - item_type: preproc_def
      name: MAILHOST_LOOKUP_FLAGS
      pos:
        line_end: 1561
        line_start: 1558
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: "(DNS_REQ_FLAG_STOP_OK | DNS_REQ_FLAG_STOP_INVAL | \\\n\tDNS_REQ_FLAG_STOP_NULLMX
        | DNS_REQ_FLAG_STOP_MX_POLICY)"
    - item_type: preproc_def
      name: NOPE
      pos:
        line_end: 1812
        line_start: 1811
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YUP
      pos:
        line_end: 1813
        line_start: 1812
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YUP
      pos:
        line_end: 1885
        line_start: 1884
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '1'
    - item_type: preproc_def
      name: NOPE
      pos:
        line_end: 1886
        line_start: 1885
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SHUT_RDWR
      pos:
        line_end: 2451
        line_start: 2450
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '2'
    - item_type: preproc_def
      name: FULL
      pos:
        line_end: 2795
        line_start: 2794
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PARTIAL
      pos:
        line_end: 2796
        line_start: 2795
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: DICT_FLAG_FIXED
    - item_type: preproc_def
      name: FOUND
      pos:
        line_end: 2797
        line_start: 2796
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MISSED
      pos:
        line_end: 2798
        line_start: 2797
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '0'
    - item_type: preproc_def
      name: RBL_TXT_LIMIT
      pos:
        line_end: 3458
        line_start: 3457
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '500'
    - item_type: preproc_def
      name: ALLOW_UNKNOWN_SENDER
      pos:
        line_end: 3942
        line_start: 3941
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '1'
    - item_type: preproc_def
      name: FORBID_UNKNOWN_SENDER
      pos:
        line_end: 3943
        line_start: 3942
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '0'
    - item_type: preproc_def
      name: NO_DEF_ACL
      pos:
        line_end: 4272
        line_start: 4271
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DEF_VIRT_ALIAS_MAPS
      pos:
        line_end: 5723
        line_start: 5722
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '""'
    - item_type: preproc_def
      name: DEF_LOCAL_RCPT_MAPS
      pos:
        line_end: 5726
        line_start: 5725
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: '""'
    - item_type: preproc_def
      name: int_table
      pos:
        line_end: 5855
        line_start: 5854
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
      type_or_value: test_int_table
    structs:
    - fields:
      - name: '*txt'
        type: char
      - name: '*a'
        type: DNS_RR
      item_type: struct
      name: SMTPD_RBL_STATE
      pos:
        line_end: 460
        line_start: 457
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
    - fields:
      - name: '*state'
        type: SMTPD_STATE
      - name: '*domain'
        type: char
      - name: '*what'
        type: char
      - name: '*class'
        type: char
      - name: '*txt'
        type: char
      item_type: struct
      name: SMTPD_RBL_EXPAND_CONTEXT
      pos:
        line_end: 476
        line_start: 470
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
    - fields:
      - name: '*client'
        type: ATTR_CLNT
      - name: '*def_action'
        type: char
      - name: '*policy_context'
        type: char
      item_type: struct
      name: SMTPD_POLICY_CLNT
      pos:
        line_end: 491
        line_start: 487
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
    - fields:
      - name: '*name'
        type: char
      - name: '*defval'
        type: char
      - name: '**target'
        type: char
      item_type: struct
      name: STRING_TABLE
      pos:
        line_end: 5719
        line_start: 5715
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
    - fields:
      - name: '*name'
        type: char
      - name: defval
        type: int
      - name: '*target'
        type: int
      item_type: struct
      name: INT_TABLE
      pos:
        line_end: 5810
        line_start: 5806
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
    - fields:
      - name: '*name'
        type: char
      - name: '**target'
        type: ARGV
      item_type: struct
      name: REST_TABLE
      pos:
        line_end: 5932
        line_start: 5929
        source_file: /src/postfix/postfix/src/smtpd/smtpd_check.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: smtpd_sasl_auth_extern
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.h
      type_or_value: smtpd_sasl_login
    - item_type: preproc_def
      name: smtpd_sasl_auth_reset
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/postfix/postfix/src/smtpd/smtpd_sasl_proto.h
      type_or_value: smtpd_sasl_logout
    structs: []
    typedefs: []
    union: []
- function_names:
  - qmgr_feedback_init
  - INCLUSIVE_BOUNDS
  source_file: /src/postfix/postfix/src/qmgr/qmgr_feedback.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - qmgr_transport_unthrottle_wrapper
  - qmgr_transport_unthrottle
  - qmgr_transport_throttle
  - qmgr_transport_abort
  - qmgr_transport_rate_event
  - qmgr_transport_event
  - qmgr_transport_select
  - MIN5af51743e4eef
  - qmgr_transport_alloc
  - qmgr_transport_create
  - qmgr_transport_find
  source_file: /src/postfix/postfix/src/qmgr/qmgr_transport.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QMGR_TRANSPORT_MAX_PEND
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/postfix/postfix/src/qmgr/qmgr_transport.c
      type_or_value: '2'
    - item_type: preproc_def
      name: THRESHOLD_FD_WORKAROUND
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/postfix/postfix/src/qmgr/qmgr_transport.c
      type_or_value: '128'
    structs:
    - fields:
      - name: '*transport'
        type: QMGR_TRANSPORT
      - name: '*stream'
        type: VSTREAM
      - name: notify
        type: QMGR_TRANSPORT_ALLOC_NOTIFY
      item_type: struct
      name: QMGR_TRANSPORT_ALLOC
      pos:
        line_end: 123
        line_start: 119
        source_file: /src/postfix/postfix/src/qmgr/qmgr_transport.c
    typedefs: []
    union: []
- function_names:
  - qmgr_deferred_run_event
  - qmgr_trigger_event
  - qmgr_loop
  - pre_accept
  - qmgr_pre_init
  - qmgr_post_init
  - main
  source_file: /src/postfix/postfix/src/qmgr/qmgr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QMGR_SCAN_IDX_INCOMING
      pos:
        line_end: 524
        line_start: 523
        source_file: /src/postfix/postfix/src/qmgr/qmgr.c
      type_or_value: '0'
    - item_type: preproc_def
      name: QMGR_SCAN_IDX_DEFERRED
      pos:
        line_end: 525
        line_start: 524
        source_file: /src/postfix/postfix/src/qmgr/qmgr.c
      type_or_value: '1'
    - item_type: preproc_def
      name: QMGR_SCAN_IDX_COUNT
      pos:
        line_end: 526
        line_start: 525
        source_file: /src/postfix/postfix/src/qmgr/qmgr.c
      type_or_value: (sizeof(qmgr_scans) / sizeof(qmgr_scans[0]))
    - item_type: preproc_def
      name: QMGR_FLUSH_BEFORE
      pos:
        line_end: 562
        line_start: 561
        source_file: /src/postfix/postfix/src/qmgr/qmgr.c
      type_or_value: (QMGR_FLUSH_ONCE | QMGR_FLUSH_DFXP)
    - item_type: preproc_def
      name: DONT_WAIT
      pos:
        line_end: 621
        line_start: 620
        source_file: /src/postfix/postfix/src/qmgr/qmgr.c
      type_or_value: '0'
    - item_type: preproc_def
      name: WAIT_FOR_EVENT
      pos:
        line_end: 622
        line_start: 621
        source_file: /src/postfix/postfix/src/qmgr/qmgr.c
      type_or_value: (-1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - qmgr_scan_start
  - qmgr_scan_request
  - qmgr_scan_next
  - qmgr_scan_create
  source_file: /src/postfix/postfix/src/qmgr/qmgr_scan.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - QMGR_LIST_ROTATE
  - QMGR_LIST_UNLINK
  - QMGR_LIST_LINK
  - QMGR_LIST_PREPEND
  - QMGR_LIST_APPEND
  - QMGR_LIST_INIT
  - QMGR_FEEDBACK_VAL
  - QMGR_FEEDBACK_VAL
  - QMGR_TRANSPORT_THROTTLED
  - QMGR_QUEUE_READY
  - QMGR_QUEUE_THROTTLED
  - QMGR_QUEUE_SUSPENDED
  - QMGR_QUEUE_SAVED
  - QMGR_QUEUE_BAD
  - QMGR_QUEUE_STATUS
  - QMGR_MSG_STATS
  source_file: /src/postfix/postfix/src/qmgr/qmgr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QMGR_FEEDBACK_IDX_NONE
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: QMGR_FEEDBACK_IDX_WIN
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: QMGR_FEEDBACK_IDX_SQRT_WIN
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: QMGR_TRANSPORT_STAT_DEAD
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: QMGR_TRANSPORT_STAT_RATE_LOCK
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: QMGR_QUEUE_TODO
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: QMGR_QUEUE_BUSY
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
      type_or_value: "2\t\t"
    - item_type: preproc_def
      name: QMGR_QUEUE_STAT_THROTTLED
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: QMGR_QUEUE_STAT_SUSPENDED
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
      type_or_value: "-1\t"
    - item_type: preproc_def
      name: QMGR_QUEUE_STAT_SAVED
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
      type_or_value: "-2\t"
    - item_type: preproc_def
      name: QMGR_QUEUE_STAT_BAD
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
      type_or_value: "-3\t"
    - item_type: preproc_def
      name: QMGR_READ_FLAG_SEEN_ALL_NON_RCPT
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
      type_or_value: (1<<16)
    - item_type: preproc_def
      name: QMGR_MESSAGE_LOCKED
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
      type_or_value: ((QMGR_MESSAGE *) 1)
    - item_type: preproc_def
      name: QMGR_SCAN_START
      pos:
        line_end: 506
        line_start: 505
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
      type_or_value: "(1<<0)\t\t"
    - item_type: preproc_def
      name: QMGR_SCAN_ALL
      pos:
        line_end: 507
        line_start: 506
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
      type_or_value: "(1<<1)\t\t"
    - item_type: preproc_def
      name: QMGR_FLUSH_ONCE
      pos:
        line_end: 508
        line_start: 507
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
      type_or_value: "(1<<2)\t\t"
    - item_type: preproc_def
      name: QMGR_FLUSH_DFXP
      pos:
        line_end: 509
        line_start: 508
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
      type_or_value: "(1<<3)\t\t"
    - item_type: preproc_def
      name: QMGR_FLUSH_EACH
      pos:
        line_end: 510
        line_start: 509
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
      type_or_value: "(1<<4)\t\t"
    - item_type: preproc_def
      name: QMGR_FORCE_EXPIRE
      pos:
        line_end: 511
        line_start: 510
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
      type_or_value: "(1<<5)\t"
    structs:
    - fields:
      - name: '*next'
        type: QMGR_TRANSPORT
      - name: '*prev'
        type: QMGR_TRANSPORT
      item_type: struct
      name: QMGR_TRANSPORT_LIST
      pos:
        line_end: 111
        line_start: 108
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
    - fields:
      - name: hysteresis
        type: int
      - name: base
        type: double
      - name: index
        type: int
      item_type: struct
      name: QMGR_FEEDBACK
      pos:
        line_end: 128
        line_start: 124
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
    - fields:
      - name: '*next'
        type: QMGR_QUEUE
      - name: '*prev'
        type: QMGR_QUEUE
      item_type: struct
      name: QMGR_QUEUE_LIST
      pos:
        line_end: 161
        line_start: 158
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
    - fields:
      - name: '*next'
        type: QMGR_JOB
      - name: '*prev'
        type: QMGR_JOB
      item_type: struct
      name: QMGR_JOB_LIST
      pos:
        line_end: 166
        line_start: 163
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
    - fields:
      - name: flags
        type: int
      - name: pending
        type: int
      - name: '*name'
        type: char
      - name: dest_concurrency_limit
        type: int
      - name: init_dest_concurrency
        type: int
      - name: recipient_limit
        type: int
      - name: rcpt_per_stack
        type: int
      - name: rcpt_unused
        type: int
      - name: refill_limit
        type: int
      - name: refill_delay
        type: int
      - name: slot_cost
        type: int
      - name: slot_loan
        type: int
      - name: slot_loan_factor
        type: int
      - name: min_slots
        type: int
      - name: '*queue_byname'
        type: struct HTABLE
      - name: queue_list
        type: QMGR_QUEUE_LIST
      - name: '*job_byname'
        type: struct HTABLE
      - name: job_list
        type: QMGR_JOB_LIST
      - name: job_bytime
        type: QMGR_JOB_LIST
      - name: '*job_current'
        type: QMGR_JOB
      - name: '*job_next_unread'
        type: QMGR_JOB
      - name: '*candidate_cache'
        type: QMGR_JOB
      - name: '*candidate_cache_current'
        type: QMGR_JOB
      - name: candidate_cache_time
        type: time_t
      - name: blocker_tag
        type: int
      - name: peers
        type: QMGR_TRANSPORT_LIST
      - name: '*dsn'
        type: DSN
      - name: pos_feedback
        type: QMGR_FEEDBACK
      - name: neg_feedback
        type: QMGR_FEEDBACK
      - name: fail_cohort_limit
        type: int
      - name: xport_rate_delay
        type: int
      - name: rate_delay
        type: int
      item_type: struct
      name: QMGR_TRANSPORT
      pos:
        line_end: 208
        line_start: 168
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
    - fields:
      - name: '*next'
        type: QMGR_ENTRY
      - name: '*prev'
        type: QMGR_ENTRY
      item_type: struct
      name: QMGR_ENTRY_LIST
      pos:
        line_end: 233
        line_start: 230
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
    - fields:
      - name: dflags
        type: int
      - name: last_done
        type: time_t
      - name: '*name'
        type: char
      - name: '*nexthop'
        type: char
      - name: todo_refcount
        type: int
      - name: busy_refcount
        type: int
      - name: window
        type: int
      - name: success
        type: double
      - name: failure
        type: double
      - name: fail_cohorts
        type: double
      - name: '*transport'
        type: QMGR_TRANSPORT
      - name: todo
        type: QMGR_ENTRY_LIST
      - name: busy
        type: QMGR_ENTRY_LIST
      - name: peers
        type: QMGR_QUEUE_LIST
      - name: '*dsn'
        type: DSN
      - name: clog_time_to_warn
        type: time_t
      - name: blocker_tag
        type: int
      item_type: struct
      name: QMGR_QUEUE
      pos:
        line_end: 253
        line_start: 235
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
    - fields:
      - name: '*stream'
        type: VSTREAM
      - name: '*message'
        type: QMGR_MESSAGE
      - name: rcpt_list
        type: RECIPIENT_LIST
      - name: '*queue'
        type: QMGR_QUEUE
      - name: '*peer'
        type: QMGR_PEER
      - name: queue_peers
        type: QMGR_ENTRY_LIST
      - name: peer_peers
        type: QMGR_ENTRY_LIST
      item_type: struct
      name: QMGR_ENTRY
      pos:
        line_end: 308
        line_start: 300
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
    - fields:
      - name: flags
        type: int
      - name: qflags
        type: int
      - name: tflags
        type: int
      - name: tflags_offset
        type: long
      - name: rflags
        type: int
      - name: '*fp'
        type: VSTREAM
      - name: refcount
        type: int
      - name: single_rcpt
        type: int
      - name: arrival_time
        type: struct timeval
      - name: create_time
        type: time_t
      - name: active_time
        type: struct timeval
      - name: queued_time
        type: time_t
      - name: refill_time
        type: time_t
      - name: warn_offset
        type: long
      - name: warn_time
        type: time_t
      - name: data_offset
        type: long
      - name: '*queue_name'
        type: char
      - name: '*queue_id'
        type: char
      - name: '*encoding'
        type: char
      - name: '*sender'
        type: char
      - name: '*dsn_envid'
        type: char
      - name: dsn_ret
        type: int
      - name: sendopts
        type: int
      - name: '*verp_delims'
        type: char
      - name: '*filter_xport'
        type: char
      - name: '*inspect_xport'
        type: char
      - name: '*redirect_addr'
        type: char
      - name: data_size
        type: long
      - name: cont_length
        type: long
      - name: rcpt_offset
        type: long
      - name: '*client_name'
        type: char
      - name: '*client_addr'
        type: char
      - name: '*client_port'
        type: char
      - name: '*client_proto'
        type: char
      - name: '*client_helo'
        type: char
      - name: '*sasl_method'
        type: char
      - name: '*sasl_username'
        type: char
      - name: '*sasl_sender'
        type: char
      - name: '*log_ident'
        type: char
      - name: '*rewrite_context'
        type: char
      - name: rcpt_list
        type: RECIPIENT_LIST
      - name: rcpt_count
        type: int
      - name: rcpt_limit
        type: int
      - name: rcpt_unread
        type: int
      - name: job_list
        type: QMGR_JOB_LIST
      item_type: struct
      name: QMGR_MESSAGE
      pos:
        line_end: 371
        line_start: 322
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
    - fields:
      - name: '*next'
        type: QMGR_PEER
      - name: '*prev'
        type: QMGR_PEER
      item_type: struct
      name: QMGR_PEER_LIST
      pos:
        line_end: 405
        line_start: 402
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
    - fields:
      - name: '*message'
        type: QMGR_MESSAGE
      - name: '*transport'
        type: QMGR_TRANSPORT
      - name: message_peers
        type: QMGR_JOB_LIST
      - name: transport_peers
        type: QMGR_JOB_LIST
      - name: time_peers
        type: QMGR_JOB_LIST
      - name: '*stack_parent'
        type: QMGR_JOB
      - name: stack_children
        type: QMGR_JOB_LIST
      - name: stack_siblings
        type: QMGR_JOB_LIST
      - name: stack_level
        type: int
      - name: blocker_tag
        type: int
      - name: '*peer_byname'
        type: struct HTABLE
      - name: peer_list
        type: QMGR_PEER_LIST
      - name: slots_used
        type: int
      - name: slots_available
        type: int
      - name: selected_entries
        type: int
      - name: read_entries
        type: int
      - name: rcpt_count
        type: int
      - name: rcpt_limit
        type: int
      item_type: struct
      name: QMGR_JOB
      pos:
        line_end: 430
        line_start: 407
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
    - fields:
      - name: '*job'
        type: QMGR_JOB
      - name: '*queue'
        type: QMGR_QUEUE
      - name: refcount
        type: int
      - name: entry_list
        type: QMGR_ENTRY_LIST
      - name: peers
        type: QMGR_PEER_LIST
      item_type: struct
      name: QMGR_PEER
      pos:
        line_end: 439
        line_start: 432
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
    - fields:
      - name: '*queue'
        type: char
      - name: flags
        type: int
      - name: nflags
        type: int
      - name: '*handle'
        type: struct SCAN_DIR
      item_type: struct
      name: QMGR_SCAN
      pos:
        line_end: 499
        line_start: 494
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
    typedefs:
    - item_type: typedef
      name: (*QMGR_TRANSPORT_ALLOC_NOTIFY) (QMGR_TRANSPORT *, VSTREAM *)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/postfix/postfix/src/qmgr/qmgr.h
      type: void
    union: []
- function_names:
  - qmgr_defer_transport
  - qmgr_defer_todo
  - qmgr_defer_recipient
  source_file: /src/postfix/postfix/src/qmgr/qmgr_defer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - qmgr_error_transport
  - qmgr_error_queue
  - qmgr_error_nexthop
  source_file: /src/postfix/postfix/src/qmgr/qmgr_error.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - qmgr_message_create
  - qmgr_message_close
  - qmgr_message_open
  - qmgr_message_oldstyle_scan
  - qmgr_message_read
  - qmgr_message_update_warn
  - qmgr_message_kill_record
  - qmgr_message_sort_compare
  - qmgr_message_sort
  - qmgr_resolve_one
  - QMGR_REDIRECT
  - qmgr_message_resolve
  - STREQ
  - FILTER_WITHOUT_NEXTHOP
  - RCPT_WITHOUT_DOMAIN
  - qmgr_message_assign
  - LIMIT_OK
  - qmgr_message_move_limits
  - qmgr_message_free
  - qmgr_message_alloc
  - qmgr_message_realloc
  source_file: /src/postfix/postfix/src/qmgr/qmgr_message.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 1084
        line_start: 1083
        source_file: /src/postfix/postfix/src/qmgr/qmgr_message.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: LEN
      pos:
        line_end: 1085
        line_start: 1084
        source_file: /src/postfix/postfix/src/qmgr/qmgr_message.c
      type_or_value: VSTRING_LEN
    - item_type: preproc_def
      name: QMGR_LOCK_MODE
      pos:
        line_end: 1525
        line_start: 1524
        source_file: /src/postfix/postfix/src/qmgr/qmgr_message.c
      type_or_value: (MYFLOCK_OP_EXCLUSIVE | MYFLOCK_OP_NOWAIT)
    structs: []
    typedefs: []
    union: []
- function_names:
  - qmgr_active_corrupt
  - qmgr_active_defer
  - qmgr_active_feed
  - MAYBE_FLUSH_AFTER
  - MAYBE_FORCE_EXPIRE
  - MAYBE_UPDATE_MODE
  - qmgr_active_done
  - qmgr_active_done_2_bounce_flush
  - qmgr_active_done_2_generic
  - qmgr_active_done_25_trace_flush
  - qmgr_active_done_25_generic
  - qmgr_active_done_3_defer_warn
  - qmgr_active_done_3_defer_flush
  - qmgr_active_done_3_generic
  - qmgr_active_drain
  source_file: /src/postfix/postfix/src/qmgr/qmgr_active.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: S_IRWXU
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/postfix/postfix/src/qmgr/qmgr_active.c
      type_or_value: '0700'
    - item_type: preproc_def
      name: QMGR_FLUSH_AFTER
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/postfix/postfix/src/qmgr/qmgr_active.c
      type_or_value: (QMGR_FLUSH_EACH | QMGR_FLUSH_DFXP)
    structs: []
    typedefs: []
    union: []
- function_names:
  - QMGR_ERROR_OR_RETRY_QUEUE
  - QMGR_LOG_FEEDBACK
  - QMGR_LOG_WINDOW
  - qmgr_queue_resume
  - qmgr_queue_suspend
  - qmgr_queue_unthrottle_wrapper
  - qmgr_queue_unthrottle
  - qmgr_queue_throttle
  - qmgr_queue_done
  - qmgr_queue_create
  - qmgr_queue_find
  source_file: /src/postfix/postfix/src/qmgr/qmgr_queue.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - qmgr_enable_all
  - qmgr_enable_transport
  - qmgr_enable_queue
  source_file: /src/postfix/postfix/src/qmgr/qmgr_enable.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - qmgr_peer_create
  - qmgr_peer_free
  - qmgr_peer_find
  - qmgr_peer_obtain
  - qmgr_peer_select
  source_file: /src/postfix/postfix/src/qmgr/qmgr_peer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - qmgr_move
  source_file: /src/postfix/postfix/src/qmgr/qmgr_move.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - qmgr_entry_select
  - CONCURRENT_OR_BACK_TO_BACK_DELIVERY
  - BACK_TO_BACK_DELIVERY
  - qmgr_entry_unselect
  - qmgr_entry_move_todo
  - qmgr_entry_done
  - qmgr_entry_create
  source_file: /src/postfix/postfix/src/qmgr/qmgr_entry.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - qmgr_bounce_recipient
  source_file: /src/postfix/postfix/src/qmgr/qmgr_bounce.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - qmgr_deliver_initial_reply
  - qmgr_deliver_final_reply
  - qmgr_deliver_send_request
  - qmgr_deliver_abort
  - qmgr_deliver_update
  - QMGR_DELIVER_RELEASE_AGENT
  - qmgr_deliver
  source_file: /src/postfix/postfix/src/qmgr/qmgr_deliver.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DELIVER_STAT_OK
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/postfix/postfix/src/qmgr/qmgr_deliver.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: DELIVER_STAT_DEFER
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/postfix/postfix/src/qmgr/qmgr_deliver.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: DELIVER_STAT_CRASH
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/postfix/postfix/src/qmgr/qmgr_deliver.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: SUSPENDED
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/postfix/postfix/src/qmgr/qmgr_deliver.c
      type_or_value: '"delivery temporarily suspended: "'
    structs: []
    typedefs: []
    union: []
- function_names:
  - HAS_ENTRIES
  - MIN_ENTRIES
  - MAX_ENTRIES
  - RESET_CANDIDATE_CACHE
  - IS_BLOCKER
  - qmgr_job_create
  - qmgr_job_link
  - qmgr_job_find
  - qmgr_job_obtain
  - qmgr_job_move_limits
  - qmgr_job_parent_gone
  - qmgr_job_unlink
  - qmgr_job_retire
  - qmgr_job_free
  - qmgr_job_count_slots
  - qmgr_job_candidate
  - qmgr_job_preempt
  - qmgr_job_pop
  - qmgr_job_peer_select
  - qmgr_job_entry_select
  - qmgr_job_blocker_update
  source_file: /src/postfix/postfix/src/qmgr/qmgr_job.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - qmgr_feedback_init
  - INCLUSIVE_BOUNDS
  source_file: /src/postfix/postfix/src/oqmgr/qmgr_feedback.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - qmgr_transport_unthrottle_wrapper
  - qmgr_transport_unthrottle
  - qmgr_transport_throttle
  - qmgr_transport_abort
  - qmgr_transport_rate_event
  - qmgr_transport_event
  - qmgr_transport_select
  - MIN5af51743e4eef
  - qmgr_transport_alloc
  - qmgr_transport_create
  - qmgr_transport_find
  source_file: /src/postfix/postfix/src/oqmgr/qmgr_transport.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QMGR_TRANSPORT_MAX_PEND
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/postfix/postfix/src/oqmgr/qmgr_transport.c
      type_or_value: '2'
    - item_type: preproc_def
      name: THRESHOLD_FD_WORKAROUND
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/postfix/postfix/src/oqmgr/qmgr_transport.c
      type_or_value: '128'
    structs:
    - fields:
      - name: '*transport'
        type: QMGR_TRANSPORT
      - name: '*stream'
        type: VSTREAM
      - name: notify
        type: QMGR_TRANSPORT_ALLOC_NOTIFY
      item_type: struct
      name: QMGR_TRANSPORT_ALLOC
      pos:
        line_end: 118
        line_start: 114
        source_file: /src/postfix/postfix/src/oqmgr/qmgr_transport.c
    typedefs: []
    union: []
- function_names:
  - qmgr_deferred_run_event
  - qmgr_trigger_event
  - qmgr_loop
  - pre_accept
  - qmgr_pre_init
  - qmgr_post_init
  - main
  source_file: /src/postfix/postfix/src/oqmgr/qmgr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QMGR_SCAN_IDX_INCOMING
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.c
      type_or_value: '0'
    - item_type: preproc_def
      name: QMGR_SCAN_IDX_DEFERRED
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.c
      type_or_value: '1'
    - item_type: preproc_def
      name: QMGR_SCAN_IDX_COUNT
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.c
      type_or_value: (sizeof(qmgr_scans) / sizeof(qmgr_scans[0]))
    - item_type: preproc_def
      name: QMGR_FLUSH_BEFORE
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.c
      type_or_value: (QMGR_FLUSH_ONCE | QMGR_FLUSH_DFXP)
    - item_type: preproc_def
      name: DONT_WAIT
      pos:
        line_end: 545
        line_start: 544
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.c
      type_or_value: '0'
    - item_type: preproc_def
      name: WAIT_FOR_EVENT
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.c
      type_or_value: (-1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - qmgr_scan_start
  - qmgr_scan_request
  - qmgr_scan_next
  - qmgr_scan_create
  source_file: /src/postfix/postfix/src/oqmgr/qmgr_scan.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - QMGR_LIST_ROTATE
  - QMGR_LIST_UNLINK
  - QMGR_LIST_APPEND
  - QMGR_LIST_PREPEND
  - QMGR_LIST_INIT
  - QMGR_FEEDBACK_VAL
  - QMGR_FEEDBACK_VAL
  - QMGR_TRANSPORT_THROTTLED
  - QMGR_QUEUE_READY
  - QMGR_QUEUE_THROTTLED
  - QMGR_QUEUE_SUSPENDED
  - QMGR_QUEUE_SAVED
  - QMGR_QUEUE_BAD
  - QMGR_QUEUE_STATUS
  - QMGR_MSG_STATS
  source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QMGR_FEEDBACK_IDX_NONE
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: QMGR_FEEDBACK_IDX_WIN
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: QMGR_FEEDBACK_IDX_SQRT_WIN
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: QMGR_TRANSPORT_STAT_DEAD
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: QMGR_TRANSPORT_STAT_RATE_LOCK
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: QMGR_QUEUE_TODO
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: QMGR_QUEUE_BUSY
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
      type_or_value: "2\t\t"
    - item_type: preproc_def
      name: QMGR_QUEUE_STAT_THROTTLED
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: QMGR_QUEUE_STAT_SUSPENDED
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
      type_or_value: "-1\t"
    - item_type: preproc_def
      name: QMGR_QUEUE_STAT_SAVED
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
      type_or_value: "-2\t"
    - item_type: preproc_def
      name: QMGR_QUEUE_STAT_BAD
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
      type_or_value: "-3\t"
    - item_type: preproc_def
      name: QMGR_READ_FLAG_SEEN_ALL_NON_RCPT
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
      type_or_value: (1<<16)
    - item_type: preproc_def
      name: QMGR_MESSAGE_LOCKED
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
      type_or_value: ((QMGR_MESSAGE *) 1)
    - item_type: preproc_def
      name: QMGR_SCAN_START
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
      type_or_value: "(1<<0)\t\t"
    - item_type: preproc_def
      name: QMGR_SCAN_ALL
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
      type_or_value: "(1<<1)\t\t"
    - item_type: preproc_def
      name: QMGR_FLUSH_ONCE
      pos:
        line_end: 399
        line_start: 398
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
      type_or_value: "(1<<2)\t\t"
    - item_type: preproc_def
      name: QMGR_FLUSH_DFXP
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
      type_or_value: "(1<<3)\t\t"
    - item_type: preproc_def
      name: QMGR_FLUSH_EACH
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
      type_or_value: "(1<<4)\t\t"
    - item_type: preproc_def
      name: QMGR_FORCE_EXPIRE
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
      type_or_value: "(1<<5)\t"
    structs:
    - fields:
      - name: '*next'
        type: QMGR_TRANSPORT
      - name: '*prev'
        type: QMGR_TRANSPORT
      item_type: struct
      name: QMGR_TRANSPORT_LIST
      pos:
        line_end: 99
        line_start: 96
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
    - fields:
      - name: hysteresis
        type: int
      - name: base
        type: double
      - name: index
        type: int
      item_type: struct
      name: QMGR_FEEDBACK
      pos:
        line_end: 116
        line_start: 112
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
    - fields:
      - name: '*next'
        type: QMGR_QUEUE
      - name: '*prev'
        type: QMGR_QUEUE
      item_type: struct
      name: QMGR_QUEUE_LIST
      pos:
        line_end: 149
        line_start: 146
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
    - fields:
      - name: flags
        type: int
      - name: pending
        type: int
      - name: '*name'
        type: char
      - name: dest_concurrency_limit
        type: int
      - name: init_dest_concurrency
        type: int
      - name: recipient_limit
        type: int
      - name: '*queue_byname'
        type: struct HTABLE
      - name: queue_list
        type: QMGR_QUEUE_LIST
      - name: peers
        type: QMGR_TRANSPORT_LIST
      - name: '*dsn'
        type: DSN
      - name: pos_feedback
        type: QMGR_FEEDBACK
      - name: neg_feedback
        type: QMGR_FEEDBACK
      - name: fail_cohort_limit
        type: int
      - name: xport_rate_delay
        type: int
      - name: rate_delay
        type: int
      item_type: struct
      name: QMGR_TRANSPORT
      pos:
        line_end: 167
        line_start: 151
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
    - fields:
      - name: '*next'
        type: QMGR_ENTRY
      - name: '*prev'
        type: QMGR_ENTRY
      item_type: struct
      name: QMGR_ENTRY_LIST
      pos:
        line_end: 194
        line_start: 191
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
    - fields:
      - name: dflags
        type: int
      - name: last_done
        type: time_t
      - name: '*name'
        type: char
      - name: '*nexthop'
        type: char
      - name: todo_refcount
        type: int
      - name: busy_refcount
        type: int
      - name: window
        type: int
      - name: success
        type: double
      - name: failure
        type: double
      - name: fail_cohorts
        type: double
      - name: '*transport'
        type: QMGR_TRANSPORT
      - name: todo
        type: QMGR_ENTRY_LIST
      - name: busy
        type: QMGR_ENTRY_LIST
      - name: peers
        type: QMGR_QUEUE_LIST
      - name: '*dsn'
        type: DSN
      - name: clog_time_to_warn
        type: time_t
      item_type: struct
      name: QMGR_QUEUE
      pos:
        line_end: 213
        line_start: 196
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
    - fields:
      - name: '*stream'
        type: VSTREAM
      - name: '*message'
        type: QMGR_MESSAGE
      - name: rcpt_list
        type: RECIPIENT_LIST
      - name: '*queue'
        type: QMGR_QUEUE
      - name: peers
        type: QMGR_ENTRY_LIST
      item_type: struct
      name: QMGR_ENTRY
      pos:
        line_end: 267
        line_start: 261
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
    - fields:
      - name: flags
        type: int
      - name: qflags
        type: int
      - name: tflags
        type: int
      - name: tflags_offset
        type: long
      - name: rflags
        type: int
      - name: '*fp'
        type: VSTREAM
      - name: refcount
        type: int
      - name: single_rcpt
        type: int
      - name: arrival_time
        type: struct timeval
      - name: create_time
        type: time_t
      - name: active_time
        type: struct timeval
      - name: warn_offset
        type: long
      - name: warn_time
        type: time_t
      - name: data_offset
        type: long
      - name: '*queue_name'
        type: char
      - name: '*queue_id'
        type: char
      - name: '*encoding'
        type: char
      - name: '*sender'
        type: char
      - name: '*dsn_envid'
        type: char
      - name: dsn_ret
        type: int
      - name: sendopts
        type: int
      - name: '*verp_delims'
        type: char
      - name: '*filter_xport'
        type: char
      - name: '*inspect_xport'
        type: char
      - name: '*redirect_addr'
        type: char
      - name: data_size
        type: long
      - name: cont_length
        type: long
      - name: rcpt_offset
        type: long
      - name: '*client_name'
        type: char
      - name: '*client_addr'
        type: char
      - name: '*client_port'
        type: char
      - name: '*client_proto'
        type: char
      - name: '*client_helo'
        type: char
      - name: '*sasl_method'
        type: char
      - name: '*sasl_username'
        type: char
      - name: '*sasl_sender'
        type: char
      - name: '*log_ident'
        type: char
      - name: '*rewrite_context'
        type: char
      - name: rcpt_list
        type: RECIPIENT_LIST
      item_type: struct
      name: QMGR_MESSAGE
      pos:
        line_end: 321
        line_start: 281
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
    - fields:
      - name: '*queue'
        type: char
      - name: flags
        type: int
      - name: nflags
        type: int
      - name: '*handle'
        type: struct SCAN_DIR
      item_type: struct
      name: QMGR_SCAN
      pos:
        line_end: 390
        line_start: 385
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
    typedefs:
    - item_type: typedef
      name: (*QMGR_TRANSPORT_ALLOC_NOTIFY) (QMGR_TRANSPORT *, VSTREAM *)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/postfix/postfix/src/oqmgr/qmgr.h
      type: void
    union: []
- function_names:
  - qmgr_defer_transport
  - qmgr_defer_todo
  - qmgr_defer_recipient
  source_file: /src/postfix/postfix/src/oqmgr/qmgr_defer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - qmgr_error_transport
  - qmgr_error_queue
  - qmgr_error_nexthop
  source_file: /src/postfix/postfix/src/oqmgr/qmgr_error.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - qmgr_message_create
  - qmgr_message_close
  - qmgr_message_open
  - qmgr_message_oldstyle_scan
  - qmgr_message_read
  - FUDGE
  - qmgr_message_update_warn
  - qmgr_message_kill_record
  - qmgr_message_sort_compare
  - qmgr_message_sort
  - qmgr_resolve_one
  - QMGR_REDIRECT
  - qmgr_message_resolve
  - STREQ
  - FILTER_WITHOUT_NEXTHOP
  - RCPT_WITHOUT_DOMAIN
  - qmgr_message_assign
  - LIMIT_OK
  - qmgr_message_free
  - qmgr_message_alloc
  - qmgr_message_realloc
  source_file: /src/postfix/postfix/src/oqmgr/qmgr_message.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 1027
        line_start: 1026
        source_file: /src/postfix/postfix/src/oqmgr/qmgr_message.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: LEN
      pos:
        line_end: 1028
        line_start: 1027
        source_file: /src/postfix/postfix/src/oqmgr/qmgr_message.c
      type_or_value: VSTRING_LEN
    - item_type: preproc_def
      name: QMGR_LOCK_MODE
      pos:
        line_end: 1404
        line_start: 1403
        source_file: /src/postfix/postfix/src/oqmgr/qmgr_message.c
      type_or_value: (MYFLOCK_OP_EXCLUSIVE | MYFLOCK_OP_NOWAIT)
    structs: []
    typedefs: []
    union: []
- function_names:
  - qmgr_active_corrupt
  - qmgr_active_defer
  - qmgr_active_feed
  - MAYBE_FLUSH_AFTER
  - MAYBE_FORCE_EXPIRE
  - MAYBE_UPDATE_MODE
  - qmgr_active_done
  - qmgr_active_done_2_bounce_flush
  - qmgr_active_done_2_generic
  - qmgr_active_done_25_trace_flush
  - qmgr_active_done_25_generic
  - qmgr_active_done_3_defer_warn
  - qmgr_active_done_3_defer_flush
  - qmgr_active_done_3_generic
  - qmgr_active_drain
  source_file: /src/postfix/postfix/src/oqmgr/qmgr_active.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: S_IRWXU
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/postfix/postfix/src/oqmgr/qmgr_active.c
      type_or_value: '0700'
    - item_type: preproc_def
      name: QMGR_FLUSH_AFTER
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/postfix/postfix/src/oqmgr/qmgr_active.c
      type_or_value: (QMGR_FLUSH_EACH | QMGR_FLUSH_DFXP)
    structs: []
    typedefs: []
    union: []
- function_names:
  - QMGR_ERROR_OR_RETRY_QUEUE
  - QMGR_LOG_FEEDBACK
  - QMGR_LOG_WINDOW
  - qmgr_queue_resume
  - qmgr_queue_suspend
  - qmgr_queue_unthrottle_wrapper
  - qmgr_queue_unthrottle
  - qmgr_queue_throttle
  - qmgr_queue_select
  - qmgr_queue_done
  - qmgr_queue_create
  - qmgr_queue_find
  source_file: /src/postfix/postfix/src/oqmgr/qmgr_queue.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - qmgr_enable_all
  - qmgr_enable_transport
  - qmgr_enable_queue
  source_file: /src/postfix/postfix/src/oqmgr/qmgr_enable.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - qmgr_move
  source_file: /src/postfix/postfix/src/oqmgr/qmgr_move.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - qmgr_entry_select
  - CONCURRENT_OR_BACK_TO_BACK_DELIVERY
  - BACK_TO_BACK_DELIVERY
  - qmgr_entry_unselect
  - qmgr_entry_move_todo
  - qmgr_entry_done
  - FUDGE
  - qmgr_entry_create
  source_file: /src/postfix/postfix/src/oqmgr/qmgr_entry.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - qmgr_bounce_recipient
  source_file: /src/postfix/postfix/src/oqmgr/qmgr_bounce.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - qmgr_deliver_initial_reply
  - qmgr_deliver_final_reply
  - qmgr_deliver_send_request
  - qmgr_deliver_abort
  - qmgr_deliver_update
  - QMGR_DELIVER_RELEASE_AGENT
  - qmgr_deliver
  source_file: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DELIVER_STAT_OK
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: DELIVER_STAT_DEFER
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: DELIVER_STAT_CRASH
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: SUSPENDED
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/postfix/postfix/src/oqmgr/qmgr_deliver.c
      type_or_value: '"delivery temporarily suspended: "'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/posttls-finger/tlsmgrmem.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tlsmgrmem_disable
  - tlsmgrmem_flush
  - tlsmgrmem_status
  - tls_mgr_seed
  - tls_mgr_policy
  - tls_mgr_lookup
  - tls_mgr_update
  - tls_mgr_delete
  source_file: /src/postfix/postfix/src/posttls-finger/tlsmgrmem.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*free_func) (void *)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/postfix/postfix/src/posttls-finger/tlsmgrmem.c
      type: void
    union: []
- function_names:
  - STR
  - HNAME
  - command
  - response
  - exception_text
  - greeting
  - ehlo
  - print_stack
  - print_trust_info
  - starttls
  - ADD_EXCLUDE
  - doproto
  - connect_sock
  - connect_unix
  - connect_addr
  - HAS_DSN
  - HAS_SOFT_DSN
  - HAS_HARD_DSN
  - HAS_LOOP_DSN
  - SET_SOFT_DSN
  - SET_HARD_DSN
  - addr_one
  - RETRY_AI_ERROR
  - DSN_NOHOST
  - DSN_NOHOST
  - mx_addr_list
  - domain_addr
  - COMPARE_ADDR
  - service_addr
  - host_addr
  - dane_host_level
  - parse_destination
  - connect_remote
  - connect_dest
  - disconnect_dest
  - finger
  - run
  - cleanup
  - usage
  - tls_init
  - override
  - parse_options
  - parse_match
  - parse_tas
  - main
  source_file: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HOST_FLAG_DNS
      pos:
        line_end: 427
        line_start: 426
        source_file: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: HOST_FLAG_NATIVE
      pos:
        line_end: 428
        line_start: 427
        source_file: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: MISC_FLAG_PREF_IPV6
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: MISC_FLAG_PREF_IPV4
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: BUF
      pos:
        line_end: 582
        line_start: 581
        source_file: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
      type_or_value: ((char *) vstring_str(buf))
    - item_type: preproc_def
      name: PROXY_OPEN_FLAGS
      pos:
        line_end: 843
        line_start: 841
        source_file: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
      type_or_value: (TLS_PROXY_FLAG_ROLE_CLIENT | TLS_PROXY_FLAG_SEND_CONTEXT)
    - item_type: preproc_def
      name: PREF0
      pos:
        line_end: 1489
        line_start: 1488
        source_file: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
      type_or_value: '0'
    - item_type: preproc_def
      name: NOPORT
      pos:
        line_end: 1490
        line_start: 1489
        source_file: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
      type_or_value: '0'
    - item_type: preproc_def
      name: OPTS
      pos:
        line_end: 1934
        line_start: 1933
        source_file: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
      type_or_value: '"a:ch:o:RSt:T:v"'
    - item_type: preproc_def
      name: TLSOPTS
      pos:
        line_end: 1936
        line_start: 1935
        source_file: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
      type_or_value: '"A:Cd:fF:g:H:k:K:l:L:m:M:p:P:r:s:wxX"'
    - item_type: preproc_def
      name: TLSOPTS
      pos:
        line_end: 1952
        line_start: 1951
        source_file: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
      type_or_value: '""'
    structs:
    - fields:
      - name: '*logopts'
        type: char
      - name: '*level'
        type: char
      - name: '*tas'
        type: ARGV
      - name: '*host_lookup'
        type: char
      - name: '*addr_pref'
        type: char
      item_type: struct
      name: OPTIONS
      pos:
        line_end: 454
        line_start: 445
        source_file: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    - fields:
      - name: smtp
        type: int
      - name: host_lookup
        type: int
      - name: addr_pref
        type: int
      - name: log_mask
        type: int
      - name: reconnect
        type: int
      - name: max_reconnect
        type: int
      - name: force_tlsa
        type: int
      - name: port
        type: unsigned
      - name: '*dest'
        type: char
      - name: '*paddr'
        type: char
      - name: '*addrport'
        type: char
      - name: '*namaddrport'
        type: char
      - name: '*nexthop'
        type: char
      - name: '*hostname'
        type: char
      - name: '*addr'
        type: DNS_RR
      - name: '*mx'
        type: DNS_RR
      - name: pass
        type: int
      - name: nochat
        type: int
      - name: dosrv
        type: int
      - name: '*helo'
        type: char
      - name: '*why'
        type: DSN_BUF
      - name: '*buffer'
        type: VSTRING
      - name: '*stream'
        type: VSTREAM
      - name: level
        type: int
      - name: wrapper_mode
        type: int
      - name: options
        type: OPTIONS
      item_type: struct
      name: STATE
      pos:
        line_end: 512
        line_start: 465
        source_file: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    - fields:
      - name: code
        type: int
      - name: '*str'
        type: char
      - name: '*buf'
        type: VSTRING
      item_type: struct
      name: RESPONSE
      pos:
        line_end: 525
        line_start: 521
        source_file: /src/postfix/postfix/src/posttls-finger/posttls-finger.c
    typedefs: []
    union: []
- function_names:
  - output_text
  - output_header
  - enqueue
  - tempfail
  - main
  source_file: /src/postfix/postfix/src/sendmail/sendmail.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SM_MODE_ENQUEUE
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/postfix/postfix/src/sendmail/sendmail.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: SM_MODE_NEWALIAS
      pos:
        line_end: 547
        line_start: 546
        source_file: /src/postfix/postfix/src/sendmail/sendmail.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: SM_MODE_MAILQ
      pos:
        line_end: 548
        line_start: 547
        source_file: /src/postfix/postfix/src/sendmail/sendmail.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: SM_MODE_DAEMON
      pos:
        line_end: 549
        line_start: 548
        source_file: /src/postfix/postfix/src/sendmail/sendmail.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: SM_MODE_USER
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/postfix/postfix/src/sendmail/sendmail.c
      type_or_value: "5\t"
    - item_type: preproc_def
      name: SM_MODE_FLUSHQ
      pos:
        line_end: 551
        line_start: 550
        source_file: /src/postfix/postfix/src/sendmail/sendmail.c
      type_or_value: "6\t"
    - item_type: preproc_def
      name: SM_MODE_IGNORE
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/postfix/postfix/src/sendmail/sendmail.c
      type_or_value: "7\t"
    - item_type: preproc_def
      name: SM_FLAG_AEOF
      pos:
        line_end: 557
        line_start: 556
        source_file: /src/postfix/postfix/src/sendmail/sendmail.c
      type_or_value: "(1<<0)\t\t"
    - item_type: preproc_def
      name: SM_FLAG_XRCPT
      pos:
        line_end: 558
        line_start: 557
        source_file: /src/postfix/postfix/src/sendmail/sendmail.c
      type_or_value: "(1<<1)\t\t"
    - item_type: preproc_def
      name: SM_FLAG_DEFAULT
      pos:
        line_end: 560
        line_start: 559
        source_file: /src/postfix/postfix/src/sendmail/sendmail.c
      type_or_value: (SM_FLAG_AEOF)
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 595
        line_start: 594
        source_file: /src/postfix/postfix/src/sendmail/sendmail.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: GETOPT_LIST
      pos:
        line_end: 1130
        line_start: 1129
        source_file: /src/postfix/postfix/src/sendmail/sendmail.c
      type_or_value: '"A:B:C:F:GIL:N:O:R:UV:X:b:ce:f:h:imno:p:r:q:tvx"'
    - item_type: preproc_def
      name: OPTIND
      pos:
        line_end: 1198
        line_start: 1197
        source_file: /src/postfix/postfix/src/sendmail/sendmail.c
      type_or_value: '(optind > 0 ? optind : 1)'
    structs:
    - fields:
      - name: '*dst'
        type: VSTREAM
      - name: '*recipients'
        type: ARGV
      - name: '*resent_recip'
        type: ARGV
      - name: resent
        type: int
      - name: '*saved_sender'
        type: char
      - name: uid
        type: uid_t
      - name: '*temp'
        type: VSTRING
      item_type: struct
      name: SM_STATE
      pos:
        line_end: 577
        line_start: 569
        source_file: /src/postfix/postfix/src/sendmail/sendmail.c
    typedefs: []
    union: []
- function_names:
  - PIPE_OPT_FOLD_FLAGS
  - parse_callback
  - morph_recipient
  - expand_argv
  - EARLY_RETURN
  - get_service_params
  - get_service_attr
  - eval_command_status
  - deliver_message
  - DELIVER_MSG_CLEANUP
  - pipe_service
  - pre_accept
  - drop_privileges
  - pre_init
  - main
  source_file: /src/postfix/postfix/src/pipe/pipe.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PIPE_DICT_TABLE
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: "\"pipe_command\"\t"
    - item_type: preproc_def
      name: PIPE_DICT_NEXTHOP
      pos:
        line_end: 537
        line_start: 536
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: "\"nexthop\"\t"
    - item_type: preproc_def
      name: PIPE_DICT_RCPT
      pos:
        line_end: 538
        line_start: 537
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: "\"recipient\"\t"
    - item_type: preproc_def
      name: PIPE_DICT_ORIG_RCPT
      pos:
        line_end: 539
        line_start: 538
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: "\"original_recipient\"\t"
    - item_type: preproc_def
      name: PIPE_DICT_SENDER
      pos:
        line_end: 540
        line_start: 539
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: '"sender"'
    - item_type: preproc_def
      name: PIPE_DICT_USER
      pos:
        line_end: 541
        line_start: 540
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: "\"user\"\t"
    - item_type: preproc_def
      name: PIPE_DICT_EXTENSION
      pos:
        line_end: 542
        line_start: 541
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: "\"extension\"\t"
    - item_type: preproc_def
      name: PIPE_DICT_MAILBOX
      pos:
        line_end: 543
        line_start: 542
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: "\"mailbox\"\t"
    - item_type: preproc_def
      name: PIPE_DICT_DOMAIN
      pos:
        line_end: 544
        line_start: 543
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: '"domain"'
    - item_type: preproc_def
      name: PIPE_DICT_SIZE
      pos:
        line_end: 545
        line_start: 544
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: "\"size\"\t"
    - item_type: preproc_def
      name: PIPE_DICT_CLIENT_ADDR
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: "\"client_address\"\t"
    - item_type: preproc_def
      name: PIPE_DICT_CLIENT_NAME
      pos:
        line_end: 547
        line_start: 546
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: "\"client_hostname\"\t"
    - item_type: preproc_def
      name: PIPE_DICT_CLIENT_PORT
      pos:
        line_end: 548
        line_start: 547
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: "\"client_port\"\t"
    - item_type: preproc_def
      name: PIPE_DICT_CLIENT_PROTO
      pos:
        line_end: 549
        line_start: 548
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: "\"client_protocol\"\t"
    - item_type: preproc_def
      name: PIPE_DICT_CLIENT_HELO
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: "\"client_helo\"\t"
    - item_type: preproc_def
      name: PIPE_DICT_SASL_METHOD
      pos:
        line_end: 551
        line_start: 550
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: "\"sasl_method\"\t"
    - item_type: preproc_def
      name: PIPE_DICT_SASL_USERNAME
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: "\"sasl_username\"\t"
    - item_type: preproc_def
      name: PIPE_DICT_SASL_SENDER
      pos:
        line_end: 553
        line_start: 552
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: "\"sasl_sender\"\t"
    - item_type: preproc_def
      name: PIPE_DICT_QUEUE_ID
      pos:
        line_end: 554
        line_start: 553
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: "\"queue_id\"\t"
    - item_type: preproc_def
      name: PIPE_DICT_ENVID
      pos:
        line_end: 555
        line_start: 554
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: "\"envid\"\t"
    - item_type: preproc_def
      name: PIPE_FLAG_RCPT
      pos:
        line_end: 561
        line_start: 560
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: PIPE_FLAG_USER
      pos:
        line_end: 562
        line_start: 561
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: PIPE_FLAG_EXTENSION
      pos:
        line_end: 563
        line_start: 562
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: PIPE_FLAG_MAILBOX
      pos:
        line_end: 564
        line_start: 563
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: PIPE_FLAG_DOMAIN
      pos:
        line_end: 565
        line_start: 564
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: PIPE_FLAG_ORIG_RCPT
      pos:
        line_end: 566
        line_start: 565
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: PIPE_OPT_FOLD_BASE
      pos:
        line_end: 572
        line_start: 571
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: (16)
    - item_type: preproc_def
      name: PIPE_OPT_FOLD_USER
      pos:
        line_end: 573
        line_start: 572
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: (FOLD_ADDR_USER << PIPE_OPT_FOLD_BASE)
    - item_type: preproc_def
      name: PIPE_OPT_FOLD_HOST
      pos:
        line_end: 574
        line_start: 573
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: (FOLD_ADDR_HOST << PIPE_OPT_FOLD_BASE)
    - item_type: preproc_def
      name: PIPE_OPT_QUOTE_LOCAL
      pos:
        line_end: 575
        line_start: 574
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: (1 << (PIPE_OPT_FOLD_BASE + 2))
    - item_type: preproc_def
      name: PIPE_OPT_FINAL_DELIVERY
      pos:
        line_end: 576
        line_start: 575
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: (1 << (PIPE_OPT_FOLD_BASE + 3))
    - item_type: preproc_def
      name: PIPE_OPT_FOLD_ALL
      pos:
        line_end: 578
        line_start: 577
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: (FOLD_ADDR_ALL << PIPE_OPT_FOLD_BASE)
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 631
        line_start: 630
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: 'NO'
      pos:
        line_end: 733
        line_start: 732
        source_file: /src/postfix/postfix/src/pipe/pipe.c
      type_or_value: '0'
    structs:
    - fields:
      - name: time_limit
        type: int
      item_type: struct
      name: PIPE_PARAMS
      pos:
        line_end: 602
        line_start: 600
        source_file: /src/postfix/postfix/src/pipe/pipe.c
    - fields:
      - name: '**command'
        type: char
      - name: uid
        type: uid_t
      - name: gid
        type: gid_t
      - name: flags
        type: int
      - name: '*exec_dir'
        type: char
      - name: '*chroot_dir'
        type: char
      - name: '*eol'
        type: VSTRING
      - name: '*null_sender'
        type: VSTRING
      - name: size_limit
        type: off_t
      item_type: struct
      name: PIPE_ATTR
      pos:
        line_end: 617
        line_start: 607
        source_file: /src/postfix/postfix/src/pipe/pipe.c
    - fields:
      - name: '*service'
        type: char
      - name: expand_flag
        type: int
      item_type: struct
      name: PIPE_STATE
      pos:
        line_end: 625
        line_start: 622
        source_file: /src/postfix/postfix/src/pipe/pipe.c
    - fields:
      - name: '*name'
        type: char
      - name: flags
        type: int
      item_type: struct
      name: cmd_flags
      pos:
        line_end: 640
        line_start: 637
        source_file: /src/postfix/postfix/src/pipe/pipe.c
    typedefs: []
    union: []
- function_names:
  - deliver_message
  - BOUNCE_FLAGS
  - discard_service
  - pre_init
  - main
  source_file: /src/postfix/postfix/src/discard/discard.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - forward_init
  - forward_open
  - FORWARD_OPEN_RETURN
  - PASS_ATTR
  - forward_append
  - forward_send
  - forward_finish
  source_file: /src/postfix/postfix/src/local/forward.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FORWARD_CLEANUP_FLAGS
      pos:
        line_end: 167
        line_start: 162
        source_file: /src/postfix/postfix/src/local/forward.c
      type_or_value: "(CLEANUP_FLAG_BOUNCE | CLEANUP_FLAG_MASK_INTERNAL \\\n\t| smtputf8_autodetect(MAIL_SRC_MASK_FORWARD)
        \\\n\t| ((request->sendopts & SMTPUTF8_FLAG_REQUESTED) ? \\\n\tCLEANUP_FLAG_SMTPUTF8
        : 0))"
    structs:
    - fields:
      - name: '*cleanup'
        type: VSTREAM
      - name: '*queue_id'
        type: char
      - name: posting_time
        type: struct timeval
      item_type: struct
      name: FORWARD_INFO
      pos:
        line_end: 104
        line_start: 100
        source_file: /src/postfix/postfix/src/local/forward.c
    typedefs: []
    union: []
- function_names:
  - deliver_maildir
  source_file: /src/postfix/postfix/src/local/maildir.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - deliver_file
  source_file: /src/postfix/postfix/src/local/file.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - local_deliver
  - local_service
  - local_mask_init
  - pre_accept
  - post_init
  - pre_init
  - main
  source_file: /src/postfix/postfix/src/local/local.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - deliver_mailbox_file
  - deliver_mailbox
  - LAST_CHAR
  source_file: /src/postfix/postfix/src/local/mailbox.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: 'YES'
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/postfix/postfix/src/local/mailbox.c
      type_or_value: '1'
    - item_type: preproc_def
      name: 'NO'
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/postfix/postfix/src/local/mailbox.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - deliver_token_home
  - deliver_token
  - deliver_token_string
  - deliver_token_stream
  source_file: /src/postfix/postfix/src/local/token.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - deliver_indirect
  source_file: /src/postfix/postfix/src/local/indirect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - bounce_workaround
  - FIND_OWNER
  source_file: /src/postfix/postfix/src/local/bounce_workaround.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - local_expand_lookup
  - STREQ
  - local_expand
  source_file: /src/postfix/postfix/src/local/local_expand.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*state'
        type: LOCAL_STATE
      - name: '*usr_attr'
        type: USER_ATTR
      - name: status
        type: int
      item_type: struct
      name: LOCAL_EXP
      pos:
        line_end: 108
        line_start: 104
        source_file: /src/postfix/postfix/src/local/local_expand.c
    typedefs: []
    union: []
- function_names:
  - deliver_include
  - FOPEN_AS
  source_file: /src/postfix/postfix/src/local/include.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - biff_notify
  source_file: /src/postfix/postfix/src/local/biff_notify.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - deliver_attr_init
  - deliver_attr_dump
  - deliver_attr_free
  source_file: /src/postfix/postfix/src/local/deliver_attr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RESET_USER_ATTR
  - SET_USER_ATTR
  - RESET_OWNER_ATTR
  - SET_OWNER_ATTR
  - BOUNCE_FLAGS
  - BOUNCE_ATTR
  - BOUNCE_ONE_ATTR
  - SENT_ATTR
  - OPENED_ATTR
  - COPY_ATTR
  - MSG_LOG_STATE
  - STR
  source_file: /src/postfix/postfix/src/local/local.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXPAND_TYPE_ALIAS
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/postfix/postfix/src/local/local.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: EXPAND_TYPE_FWD
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/postfix/postfix/src/local/local.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: EXPAND_TYPE_INCL
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/postfix/postfix/src/local/local.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: DELIVER_HDR_CMD
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/postfix/postfix/src/local/local.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: DELIVER_HDR_FILE
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/postfix/postfix/src/local/local.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: DELIVER_HDR_FWD
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/postfix/postfix/src/local/local.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: LOCAL_EXP_EXTENSION_MATCHED
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/postfix/postfix/src/local/local.h
      type_or_value: (1<<MAC_PARSE_USER)
    structs:
    - fields:
      - name: uid
        type: uid_t
      - name: gid
        type: gid_t
      - name: '*home'
        type: char
      - name: '*logname'
        type: char
      - name: '*shell'
        type: char
      item_type: struct
      name: USER_ATTR
      pos:
        line_end: 40
        line_start: 34
        source_file: /src/postfix/postfix/src/local/local.h
    - fields:
      - name: level
        type: int
      - name: '*fp'
        type: VSTREAM
      - name: '*queue_name'
        type: char
      - name: '*queue_id'
        type: char
      - name: offset
        type: long
      - name: '*encoding'
        type: char
      - name: sendopts
        type: int
      - name: '*sender'
        type: char
      - name: '*dsn_envid'
        type: char
      - name: dsn_ret
        type: int
      - name: rcpt
        type: RECIPIENT
      - name: '*domain'
        type: char
      - name: '*local'
        type: char
      - name: '*user'
        type: char
      - name: '*extension'
        type: char
      - name: '*unmatched'
        type: char
      - name: '*owner'
        type: char
      - name: '*delivered'
        type: char
      - name: '*relay'
        type: char
      - name: msg_stats
        type: MSG_STATS
      - name: exp_type
        type: int
      - name: '*exp_from'
        type: char
      - name: '*request'
        type: DELIVER_REQUEST
      - name: '*why'
        type: DSN_BUF
      item_type: struct
      name: DELIVER_ATTR
      pos:
        line_end: 92
        line_start: 67
        source_file: /src/postfix/postfix/src/local/local.h
    - fields:
      - name: level
        type: int
      - name: msg_attr
        type: DELIVER_ATTR
      - name: '*dup_filter'
        type: BH_TABLE
      - name: '*loop_info'
        type: DELIVERED_HDR_INFO
      - name: '*request'
        type: DELIVER_REQUEST
      item_type: struct
      name: LOCAL_STATE
      pos:
        line_end: 113
        line_start: 107
        source_file: /src/postfix/postfix/src/local/local.h
    typedefs: []
    union: []
- function_names:
  - deliver_command
  - EXPORT_REQUEST
  source_file: /src/postfix/postfix/src/local/command.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STREQ
  - deliver_unknown
  source_file: /src/postfix/postfix/src/local/unknown.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - deliver_resolve_addr
  - deliver_resolve_tree
  source_file: /src/postfix/postfix/src/local/resolve.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - deliver_dotforward
  source_file: /src/postfix/postfix/src/local/dotforward.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: 'NO'
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/postfix/postfix/src/local/dotforward.c
      type_or_value: '0'
    - item_type: preproc_def
      name: 'YES'
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/postfix/postfix/src/local/dotforward.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - deliver_switch
  - deliver_recipient
  source_file: /src/postfix/postfix/src/local/recipient.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - deliver_alias
  - OWNER_ASSIGN
  - DSN_SAVE_UPDATE
  source_file: /src/postfix/postfix/src/local/alias.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: 'NO'
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/postfix/postfix/src/local/alias.c
      type_or_value: '0'
    - item_type: preproc_def
      name: 'YES'
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/postfix/postfix/src/local/alias.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/local/biff_notify.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DEV_PATH
  - EGD_PATH
  - STR
  - LEN
  - STREQ
  - tlsmgr_prng_exch_event
  - tlsmgr_reseed_event
  - tlsmgr_cache_run_event
  - tlsmgr_key
  - tlsmgr_loop
  - tlsmgr_request_receive
  - tlsmgr_service
  - tlsmgr_pre_init
  - tlsmgr_post_init
  - tlsmgr_post_accept
  - tlsmgr_before_exit
  - main
  - tlsmgr_service
  - main
  source_file: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UCHAR_MAX
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
      type_or_value: '0xff'
    - item_type: preproc_def
      name: TLS_MGR_TIMEOUT
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
      type_or_value: '10'
    - item_type: preproc_def
      name: DEV_PREF
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
      type_or_value: '"dev:"'
    - item_type: preproc_def
      name: DEV_PREF_LEN
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
      type_or_value: (sizeof((DEV_PREF)) - 1)
    - item_type: preproc_def
      name: EGD_PREF
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
      type_or_value: '"egd:"'
    - item_type: preproc_def
      name: EGD_PREF_LEN
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
      type_or_value: (sizeof((EGD_PREF)) - 1)
    - item_type: preproc_def
      name: smtpd_cache
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
      type_or_value: (cache_table[0])
    - item_type: preproc_def
      name: DONT_WAIT
      pos:
        line_end: 538
        line_start: 537
        source_file: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
      type_or_value: '0'
    - item_type: preproc_def
      name: WAIT_FOR_EVENT
      pos:
        line_end: 539
        line_start: 538
        source_file: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
      type_or_value: (-1)
    - item_type: preproc_def
      name: NULL_EVENT
      pos:
        line_end: 983
        line_start: 982
        source_file: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
      type_or_value: (0)
    - item_type: preproc_def
      name: NULL_CONTEXT
      pos:
        line_end: 984
        line_start: 983
        source_file: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
      type_or_value: ((char *) 0)
    structs:
    - fields:
      - name: '*cache_label'
        type: char
      - name: '*cache_info'
        type: TLS_SCACHE
      - name: cache_active
        type: int
      - name: '**cache_db'
        type: char
      - name: '*log_param'
        type: char
      - name: '**log_level'
        type: char
      - name: '*cache_timeout'
        type: int
      item_type: struct
      name: TLSMGR_SCACHE
      pos:
        line_end: 302
        line_start: 294
        source_file: /src/postfix/postfix/src/tlsmgr/tlsmgr.c
    typedefs: []
    union: []
- function_names:
  - STR
  - pcf_lookup_parameter_value
  - LOOKUP
  - pcf_lookup_parameter_value_wrapper
  - pcf_expand_parameter_value
  source_file: /src/postfix/postfix/src/postconf/postconf_lookup.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DONT_FILTER
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/postfix/postfix/src/postconf/postconf_lookup.c
      type_or_value: (char *) 0
    structs:
    - fields:
      - name: mode
        type: int
      - name: '*local_scope'
        type: PCF_MASTER_ENT
      item_type: struct
      name: PCF_EVAL_CTX
      pos:
        line_end: 140
        line_start: 137
        source_file: /src/postfix/postfix/src/postconf/postconf_lookup.c
    typedefs: []
    union: []
- function_names:
  - pcf_show_maps
  - pcf_show_locks
  - pcf_show_sasl
  - pcf_show_tls
  source_file: /src/postfix/postfix/src/postconf/postconf_other.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcf_set_config_dir
  - pcf_get_main_path
  - pcf_get_master_path
  source_file: /src/postfix/postfix/src/postconf/postconf_misc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - pcf_check_dbms_client
  - pcf_register_dbms_helper
  - pcf_register_dbms_parameters
  source_file: /src/postfix/postfix/src/postconf/postconf_dbms.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCF_DBMS_CLASS_CLIENT
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/postfix/postfix/src/postconf/postconf_dbms.c
      type_or_value: "(1)\t"
    - item_type: preproc_def
      name: PCF_DBMS_CLASS_REGEX
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/postfix/postfix/src/postconf/postconf_dbms.c
      type_or_value: "(2)\t"
    - item_type: preproc_def
      name: PCF_DBMS_RECURSE
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/postfix/postfix/src/postconf/postconf_dbms.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: PCF_DBMS_NO_RECURSE
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/postfix/postfix/src/postconf/postconf_dbms.c
      type_or_value: "0\t"
    structs:
    - fields:
      - name: '*db_type'
        type: char
      - name: db_class
        type: int
      - name: '**db_suffixes'
        type: char
      item_type: struct
      name: PCF_DBMS_INFO
      pos:
        line_end: 153
        line_start: 149
        source_file: /src/postfix/postfix/src/postconf/postconf_dbms.c
    typedefs: []
    union: []
- function_names:
  - pcf_init_depr_params
  - pcf_flag_unused_parameters
  - pcf_flag_unused_main_parameters
  - pcf_flag_unused_master_parameters
  source_file: /src/postfix/postfix/src/postconf/postconf_unused.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*alternative'
        type: char
      item_type: struct
      name: PCF_DEPR_PARAM_INFO
      pos:
        line_end: 68
        line_start: 65
        source_file: /src/postfix/postfix/src/postconf/postconf_unused.c
    typedefs: []
    union: []
- function_names:
  - usage
  - pcf_check_exclusive_options
  - pcf_check_compat_options
  - main
  source_file: /src/postfix/postfix/src/postconf/postconf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCF_MAIN_OR_MASTER
      pos:
        line_end: 990
        line_start: 988
        source_file: /src/postfix/postfix/src/postconf/postconf.c
      type_or_value: (PCF_MAIN_PARAM | PCF_MASTER_ENTRY | PCF_MASTER_FLD | PCF_MASTER_PARAM)
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - pcf_find_cf_info
  - pcf_next_cf_line
  - pcf_gobble_cf_line
  - pcf_edit_main
  - STR
  - pcf_edit_master
  source_file: /src/postfix/postfix/src/postconf/postconf_edit.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCF_MASTER_MASK
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/postfix/postfix/src/postconf/postconf_edit.c
      type_or_value: (PCF_MASTER_ENTRY | PCF_MASTER_FLD | PCF_MASTER_PARAM)
    structs:
    - fields:
      - name: '*value'
        type: char
      - name: found
        type: int
      item_type: struct
      name: cvalue
      pos:
        line_end: 167
        line_start: 164
        source_file: /src/postfix/postfix/src/postconf/postconf_edit.c
    - fields:
      - name: match_count
        type: int
      - name: '*raw_text'
        type: char
      - name: '*parsed_text'
        type: char
      - name: '*service_pattern'
        type: ARGV
      - name: field_number
        type: int
      - name: '*param_pattern'
        type: char
      - name: '*edit_value'
        type: char
      item_type: struct
      name: PCF_MASTER_EDIT_REQ
      pos:
        line_end: 299
        line_start: 291
        source_file: /src/postfix/postfix/src/postconf/postconf_edit.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/postconf/install_vars.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - pcf_read_parameters
  - pcf_set_parameters
  - pcf_print_parameter
  - pcf_comp_names
  - pcf_show_parameters
  source_file: /src/postfix/postfix/src/postconf/postconf_main.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - pcf_convert_service_parameter
  - pcf_register_service_parameter
  - pcf_register_service_parameters
  source_file: /src/postfix/postfix/src/postconf/postconf_service.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAIL_PROGRAM_LOCAL
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/postfix/postfix/src/postconf/postconf_service.c
      type_or_value: '"local"'
    - item_type: preproc_def
      name: MAIL_PROGRAM_ERROR
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/postfix/postfix/src/postconf/postconf_service.c
      type_or_value: '"error"'
    - item_type: preproc_def
      name: MAIL_PROGRAM_VIRTUAL
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/postfix/postfix/src/postconf/postconf_service.c
      type_or_value: '"virtual"'
    - item_type: preproc_def
      name: MAIL_PROGRAM_SMTP
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/postfix/postfix/src/postconf/postconf_service.c
      type_or_value: '"smtp"'
    - item_type: preproc_def
      name: MAIL_PROGRAM_LMTP
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/postfix/postfix/src/postconf/postconf_service.c
      type_or_value: '"lmtp"'
    - item_type: preproc_def
      name: MAIL_PROGRAM_PIPE
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/postfix/postfix/src/postconf/postconf_service.c
      type_or_value: '"pipe"'
    - item_type: preproc_def
      name: MAIL_PROGRAM_SPAWN
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/postfix/postfix/src/postconf/postconf_service.c
      type_or_value: '"spawn"'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*value'
        type: char
      item_type: struct
      name: PCF_STRING_NV
      pos:
        line_end: 79
        line_start: 76
        source_file: /src/postfix/postfix/src/postconf/postconf_service.c
    - fields:
      - name: '*progname'
        type: char
      - name: '*params'
        type: PCF_STRING_NV
      item_type: struct
      name: PCF_SERVICE_DEF
      pos:
        line_end: 152
        line_start: 149
        source_file: /src/postfix/postfix/src/postconf/postconf_service.c
    typedefs: []
    union: []
- function_names:
  - STR
  - pcf_check_myhostname
  - pcf_get_myhostname
  - pcf_check_mydomainname
  - pcf_mynetworks
  - pcf_conv_bool_parameter
  - pcf_conv_time_parameter
  - pcf_conv_int_parameter
  - pcf_conv_str_parameter
  - pcf_conv_str_fn_parameter
  - pcf_conv_raw_parameter
  - pcf_conv_nint_parameter
  - pcf_conv_nbool_parameter
  - pcf_conv_long_parameter
  - pcf_register_builtin_parameters
  source_file: /src/postfix/postfix/src/postconf/postconf_builtin.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - pcf_extract_field
  - pcf_normalize_nameval
  - pcf_normalize_daemon_args
  - pcf_fix_fatal
  - pcf_check_master_entry
  - pcf_free_master_entry
  - pcf_parse_master_entry
  - pcf_read_master
  - pcf_print_master_entry
  - ADD_TEXT
  - pcf_show_master_entries
  - pcf_print_master_field
  - ADD_CHAR
  - pcf_show_master_fields
  - pcf_edit_master_field
  - pcf_print_master_param
  - pcf_sort_argv_cb
  - pcf_show_master_any_param
  - pcf_show_master_params
  - pcf_edit_master_param
  source_file: /src/postfix/postfix/src/postconf/postconf_master.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ADD_SPACE
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/postfix/postfix/src/postconf/postconf_master.c
      type_or_value: ADD_TEXT(" ", 1)
    structs:
    - fields:
      - name: match_count
        type: int
      - name: '*raw_text'
        type: char
      - name: '*service_pattern'
        type: ARGV
      - name: field_pattern
        type: int
      - name: '*param_pattern'
        type: char
      item_type: struct
      name: PCF_MASTER_FLD_REQ
      pos:
        line_end: 183
        line_start: 177
        source_file: /src/postfix/postfix/src/postconf/postconf_master.c
    typedefs: []
    union: []
- function_names:
  - PCF_PARAM_CLASS_OVERRIDE
  - PCF_RAW_PARAMETER
  - PCF_BUILTIN_PARAMETER
  - PCF_SERVICE_PARAMETER
  - PCF_USER_PARAMETER
  - PCF_LEGACY_PARAMETER
  - PCF_READONLY_PARAMETER
  - PCF_DBMS_PARAMETER
  - PCF_PARAM_TABLE_CREATE
  - PCF_PARAM_NODE_CAST
  - PCF_PARAM_TABLE_LIST
  - PCF_PARAM_INFO_NAME
  - PCF_PARAM_INFO_NODE
  - PCF_PARAM_TABLE_FIND
  - PCF_PARAM_TABLE_LOCATE
  - PCF_PARAM_TABLE_ENTER
  - PCF_MATCH_ANY
  - PCF_MATCH_STRING
  - PCF_IS_MAGIC_SERVICE_PATTERN
  - PCF_MATCH_SERVICE_PATTERN
  - pcf_is_magic_field_pattern
  - pcf_str_field_pattern
  - PCF_IS_MAGIC_PARAM_PATTERN
  - PCF_MATCH_PARAM_PATTERN
  source_file: /src/postfix/postfix/src/postconf/postconf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCF_SHOW_NONDEF
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: PCF_SHOW_DEFS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: PCF_HIDE_NAME
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: PCF_SHOW_MAPS
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: PCF_EDIT_CONF
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<4)\t"
    - item_type: preproc_def
      name: PCF_SHOW_LOCKS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<5)\t"
    - item_type: preproc_def
      name: PCF_SHOW_EVAL
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<6)\t"
    - item_type: preproc_def
      name: PCF_SHOW_SASL_SERV
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<7)\t"
    - item_type: preproc_def
      name: PCF_SHOW_SASL_CLNT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<8)\t"
    - item_type: preproc_def
      name: PCF_COMMENT_OUT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<9)\t"
    - item_type: preproc_def
      name: PCF_MASTER_ENTRY
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<10)\t"
    - item_type: preproc_def
      name: PCF_FOLD_LINE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<11)\t"
    - item_type: preproc_def
      name: PCF_EDIT_EXCL
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<12)\t"
    - item_type: preproc_def
      name: PCF_MASTER_FLD
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<13)\t"
    - item_type: preproc_def
      name: PCF_MAIN_PARAM
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<14)\t"
    - item_type: preproc_def
      name: PCF_EXP_DSN_TEMPL
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<15)\t"
    - item_type: preproc_def
      name: PCF_PARAM_CLASS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<16)\t"
    - item_type: preproc_def
      name: PCF_MAIN_OVER
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<17)\t"
    - item_type: preproc_def
      name: PCF_DUMP_DSN_TEMPL
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<18)\t"
    - item_type: preproc_def
      name: PCF_MASTER_PARAM
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<19)\t"
    - item_type: preproc_def
      name: PCF_HIDE_VALUE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<20)\t"
    - item_type: preproc_def
      name: PCF_SHOW_TLS
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<21)\t"
    - item_type: preproc_def
      name: PCF_WARN_UNUSED_DEPRECATED
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<22)\t"
    - item_type: preproc_def
      name: PCF_DEF_MODE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: (PCF_WARN_UNUSED_DEPRECATED)
    - item_type: preproc_def
      name: PCF_PARAM_FLAG_RAW
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: PCF_PARAM_FLAG_BUILTIN
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: PCF_PARAM_FLAG_SERVICE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: PCF_PARAM_FLAG_USER
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: PCF_PARAM_FLAG_LEGACY
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<4)\t"
    - item_type: preproc_def
      name: PCF_PARAM_FLAG_READONLY
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<5)\t"
    - item_type: preproc_def
      name: PCF_PARAM_FLAG_DBMS
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "(1<<6)\t"
    - item_type: preproc_def
      name: PCF_PARAM_MASK_CLASS
      pos:
        line_end: 74
        line_start: 72
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: (PCF_PARAM_FLAG_BUILTIN | PCF_PARAM_FLAG_SERVICE | PCF_PARAM_FLAG_USER)
    - item_type: preproc_def
      name: PCF_PARAM_NO_DATA
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: ((char *) 0)
    - item_type: preproc_def
      name: PCF_PARAM_TABLE
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: HTABLE
    - item_type: preproc_def
      name: PCF_PARAM_INFO
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: HTABLE_INFO
    - item_type: preproc_def
      name: PCF_MASTER_MIN_FIELDS
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "8\t"
    - item_type: preproc_def
      name: PCF_MASTER_NAME_SERVICE
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: '"service"'
    - item_type: preproc_def
      name: PCF_MASTER_NAME_TYPE
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: '"type"'
    - item_type: preproc_def
      name: PCF_MASTER_NAME_PRIVATE
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: '"private"'
    - item_type: preproc_def
      name: PCF_MASTER_NAME_UNPRIV
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: '"unprivileged"'
    - item_type: preproc_def
      name: PCF_MASTER_NAME_CHROOT
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: '"chroot"'
    - item_type: preproc_def
      name: PCF_MASTER_NAME_WAKEUP
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: '"wakeup"'
    - item_type: preproc_def
      name: PCF_MASTER_NAME_MAXPROC
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: '"process_limit"'
    - item_type: preproc_def
      name: PCF_MASTER_NAME_CMD
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: '"command"'
    - item_type: preproc_def
      name: PCF_MASTER_FLD_SERVICE
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: PCF_MASTER_FLD_TYPE
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: PCF_MASTER_FLD_PRIVATE
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: PCF_MASTER_FLD_UNPRIV
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: PCF_MASTER_FLD_CHROOT
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: PCF_MASTER_FLD_WAKEUP
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "5\t"
    - item_type: preproc_def
      name: PCF_MASTER_FLD_MAXPROC
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "6\t"
    - item_type: preproc_def
      name: PCF_MASTER_FLD_CMD
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "7\t"
    - item_type: preproc_def
      name: PCF_MASTER_FLD_WILDC
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "-1\t"
    - item_type: preproc_def
      name: PCF_MASTER_FLD_NONE
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "-2\t"
    - item_type: preproc_def
      name: PCF_LINE_LIMIT
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "80\t\t"
    - item_type: preproc_def
      name: PCF_SEPARATORS
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: '" \t\r\n"'
    - item_type: preproc_def
      name: PCF_INDENT_LEN
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "4\t\t"
    - item_type: preproc_def
      name: PCF_INDENT_TEXT
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: '"    "'
    - item_type: preproc_def
      name: PCF_WARN_ON_OPEN_ERROR
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PCF_FAIL_ON_OPEN_ERROR
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PCF_MASTER_BLANKS
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: "\" \\t\\r\\n\"\t"
    - item_type: preproc_def
      name: PCF_NAMESP_SEP_CH
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: '''/'''
    - item_type: preproc_def
      name: PCF_NAMESP_SEP_STR
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: '"/"'
    - item_type: preproc_def
      name: PCF_LEGACY_SEP_CH
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: '''.'''
    - item_type: preproc_def
      name: PCF_MATCH_WILDC_STR
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/postfix/postfix/src/postconf/postconf.h
      type_or_value: '"*"'
    structs:
    - fields:
      - name: flags
        type: int
      - name: '*param_data'
        type: void
      - name: '*(*convert_fn) (void *)'
        type: char
      item_type: struct
      name: PCF_PARAM_NODE
      pos:
        line_end: 61
        line_start: 57
        source_file: /src/postfix/postfix/src/postconf/postconf.h
    - fields:
      - name: '*name_space'
        type: char
      - name: '*argv'
        type: ARGV
      - name: '*all_params'
        type: DICT
      - name: '*ro_params'
        type: DICT
      - name: '*valid_names'
        type: HTABLE
      item_type: struct
      name: PCF_MASTER_ENT
      pos:
        line_end: 126
        line_start: 120
        source_file: /src/postfix/postfix/src/postconf/postconf.h
    - fields:
      - name: '*local_scope'
        type: PCF_MASTER_ENT
      - name: param_class
        type: int
      item_type: struct
      name: PCF_PARAM_CTX
      pos:
        line_end: 272
        line_start: 269
        source_file: /src/postfix/postfix/src/postconf/postconf.h
    typedefs: []
    union: []
- function_names:
  - STR
  - pcf_print_line
  source_file: /src/postfix/postfix/src/postconf/postconf_print.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcf_parse_field_pattern
  - pcf_parse_service_pattern
  source_file: /src/postfix/postfix/src/postconf/postconf_match.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - SCAN_USER_PARAMETER_VALUE
  - pcf_convert_user_parameter
  - pcf_flag_user_parameter
  - pcf_flag_user_parameter_wrapper
  - pcf_lookup_eval
  - pcf_scan_user_parameter_namespace
  - pcf_scan_default_parameter_values
  - pcf_register_user_parameters
  source_file: /src/postfix/postfix/src/postconf/postconf_user.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NO_SCAN_RESULT
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/postfix/postfix/src/postconf/postconf_user.c
      type_or_value: ((VSTRING *) 0)
    - item_type: preproc_def
      name: NO_SCAN_FILTER
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/postfix/postfix/src/postconf/postconf_user.c
      type_or_value: ((char *) 0)
    - item_type: preproc_def
      name: RECURSIVE
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/postfix/postfix/src/postconf/postconf_user.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcf_make_param_node
  - pcf_convert_param_node
  source_file: /src/postfix/postfix/src/postconf/postconf_node.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/postconf/install_table.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sleep
  source_file: /src/postfix/postfix/src/testing/nosleep.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LEN
  - STR
  - vstream_swap
  - dict_open_and_capture_msg
  - dict_compose_spec
  - dict_get_and_capture_msg
  - dict_get_and_verify
  - dict_get_and_verify_bulk
  source_file: /src/postfix/postfix/src/testing/dict_test_helper.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PASS
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/postfix/postfix/src/testing/dict_test_helper.c
      type_or_value: '1'
    - item_type: preproc_def
      name: FAIL
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/postfix/postfix/src/testing/dict_test_helper.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/testing/dict_test_helper.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*key'
        type: char
      - name: '*want_value'
        type: char
      - name: want_error
        type: int
      - name: '*want_msg'
        type: char
      item_type: struct
      name: dict_get_verify_data
      pos:
        line_end: 32
        line_start: 27
        source_file: /src/postfix/postfix/src/testing/dict_test_helper.h
    typedefs: []
    union: []
- function_names:
  - usage
  - fatal_exit
  - main
  source_file: /src/postfix/postfix/src/postlock/postlock.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PSC_DELTA_MS
  - PSC_AVERAGE
  - PSC_CHECK_TIME_AFTER_LOOKUP
  - psc_addr_match_list_match
  - psc_cache_lookup
  - psc_cache_update
  - psc_dict_get
  - psc_maps_find
  source_file: /src/postfix/postfix/src/postscreen/postscreen_dict.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PSC_GET_TIME_BEFORE_LOOKUP
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/postfix/postfix/src/postscreen/postscreen_dict.c
      type_or_value: "{ \\\n    struct timeval _before, _after; \\\n    DELTA_TIME
        _delta; \\\n    double _new_delta_ms; \\\n    GETTIMEOFDAY(&_before);"
    - item_type: preproc_def
      name: PSC_THRESHOLD_MS
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/postfix/postfix/src/postscreen/postscreen_dict.c
      type_or_value: "100\t"
    - item_type: preproc_def
      name: PSC_WARN_LOCKOUT_S
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/postfix/postfix/src/postscreen/postscreen_dict.c
      type_or_value: "60\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - psc_endpt_haproxy_event
  - psc_endpt_haproxy_lookup
  source_file: /src/postfix/postfix/src/postscreen/postscreen_haproxy.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*stream'
        type: VSTREAM
      - name: notify
        type: PSC_ENDPT_LOOKUP_FN
      item_type: struct
      name: PSC_HAPROXY_STATE
      pos:
        line_end: 73
        line_start: 70
        source_file: /src/postfix/postfix/src/postscreen/postscreen_haproxy.c
    typedefs: []
    union: []
- function_names:
  - psc_endpt_local_lookup
  - RESET_ADDR_STORAGE_LEN
  - psc_endpt_lookup
  source_file: /src/postfix/postfix/src/postscreen/postscreen_endpt.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: (*endpt_lookup) (VSTREAM *, PSC_ENDPT_LOOKUP_FN)
        type: void
      item_type: struct
      name: PSC_ENDPT_LOOKUP_INFO
      pos:
        line_end: 192
        line_start: 189
        source_file: /src/postfix/postfix/src/postscreen/postscreen_endpt.c
    typedefs: []
    union: []
- function_names:
  - PSC_STARTTLS_EVENT_ERR_RESUME_RETURN
  - PSC_STARTTLS_EVENT_RESUME_RETURN
  - psc_starttls_finish
  - psc_starttls_first
  - psc_starttls_open
  source_file: /src/postfix/postfix/src/postscreen/postscreen_starttls.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TLSPROXY_INIT_TIMEOUT
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/postfix/postfix/src/postscreen/postscreen_starttls.c
      type_or_value: '10'
    structs:
    - fields:
      - name: '*tlsproxy_stream'
        type: VSTREAM
      - name: resume_event
        type: EVENT_NOTIFY_FN
      - name: '*smtp_state'
        type: PSC_STATE
      item_type: struct
      name: PSC_STARTTLS
      pos:
        line_end: 84
        line_start: 80
        source_file: /src/postfix/postfix/src/postscreen/postscreen_starttls.c
    typedefs: []
    union: []
- function_names:
  - psc_expand_init
  - psc_expand_lookup
  - STREQ
  - STREQN
  - CONST_LEN
  source_file: /src/postfix/postfix/src/postscreen/postscreen_expand.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - psc_format_delta_time
  - psc_conclude
  - psc_hangup_event
  source_file: /src/postfix/postfix/src/postscreen/postscreen_misc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - psc_allowlist_non_dnsbl
  - psc_early_event
  - psc_early_dnsbl_event
  - psc_early_tests
  - psc_early_init
  source_file: /src/postfix/postfix/src/postscreen/postscreen_early.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PSC_DNSBL_FORMAT
      pos:
        line_end: 165
        line_start: 163
        source_file: /src/postfix/postfix/src/postscreen/postscreen_early.c
      type_or_value: '"%s 5.7.1 Service unavailable; client [%s] blocked using %s\r\n"'
    - item_type: preproc_def
      name: NO_DNSBL_SCORE
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/postfix/postfix/src/postscreen/postscreen_early.c
      type_or_value: INT_MAX
    structs: []
    typedefs: []
    union: []
- function_names:
  - psc_dump
  - psc_drain
  - psc_service
  - psc_warn_compat_respectful_logging
  - psc_endpt_lookup_done
  - psc_cache_validator
  - pre_jail_init
  - pre_accept
  - post_jail_init
  - main
  source_file: /src/postfix/postfix/src/postscreen/postscreen.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PSC_DICT_OPEN_FLAGS
      pos:
        line_end: 967
        line_start: 965
        source_file: /src/postfix/postfix/src/postscreen/postscreen.c
      type_or_value: "(DICT_FLAG_DUP_REPLACE | DICT_FLAG_SYNC_UPDATE | \\\n\t    DICT_FLAG_OPEN_LOCK)"
    structs: []
    typedefs: []
    union: []
- function_names:
  - PSC_CALL_BACK_INIT
  - PSC_CALL_BACK_INDEX_OF_LAST
  - PSC_CALL_BACK_CANCEL
  - PSC_CALL_BACK_EXTEND
  - PSC_CALL_BACK_ENTER
  - PSC_CALL_BACK_NOTIFY
  - psc_dnsbl_add_site
  - psc_dnsbl_match
  - psc_dnsbl_retrieve
  - psc_dnsbl_receive
  - psc_dnsbl_request
  - psc_dnsbl_init
  source_file: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PSC_NULL_EVENT
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c
      type_or_value: (0)
    - item_type: preproc_def
      name: DO_GRIPE
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c
      type_or_value: '1'
    structs:
    - fields:
      - name: '*safe_dnsbl'
        type: char
      - name: '*first'
        type: struct PSC_DNSBL_SITE
      item_type: struct
      name: PSC_DNSBL_HEAD
      pos:
        line_end: 119
        line_start: 116
        source_file: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c
    - fields:
      - name: '*filter'
        type: char
      - name: '*byte_codes'
        type: char
      - name: weight
        type: int
      - name: '*next'
        type: struct PSC_DNSBL_SITE
      item_type: struct
      name: PSC_DNSBL_SITE
      pos:
        line_end: 126
        line_start: 121
        source_file: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c
    - fields:
      - name: (*callback) (int, void *)
        type: void
      - name: '*context'
        type: void
      item_type: struct
      name: PSC_CALL_BACK_ENTRY
      pos:
        line_end: 147
        line_start: 144
        source_file: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c
    - fields:
      - name: '*dnsbl_name'
        type: char
      - name: dnsbl_weight
        type: int
      - name: total
        type: int
      - name: fail_ttl
        type: int
      - name: pass_ttl
        type: int
      - name: refcount
        type: int
      - name: pending_lookups
        type: int
      - name: request_id
        type: int
      - name: index
        type: int
      - name: limit
        type: int
      - name: table[1]
        type: PSC_CALL_BACK_ENTRY
      item_type: struct
      name: PSC_DNSBL_SCORE
      pos:
        line_end: 162
        line_start: 149
        source_file: /src/postfix/postfix/src/postscreen/postscreen_dnsbl.c
    typedefs: []
    union: []
- function_names:
  - PSC_PREGR_TEST_ENABLE
  - PSC_DNSBL_TEST_ENABLE
  - psc_new_tests
  - psc_parse_tests
  - psc_todo_tests
  - psc_print_tests
  - psc_print_grey_key
  - psc_test_name
  source_file: /src/postfix/postfix/src/postscreen/postscreen_tests.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PSC_TINDX_BYTNAME
  - PSC_STATE_FLAGS_TODO_TO_PASS
  - PSC_STATE_FLAGS_TODO_TO_DONE
  - PSC_STATE_FLAG_SHIFT_BYFNAME
  - PSC_STATE_FLAG_BYTINDX_FNAME
  - PSC_STATE_FLAG_BYTINDX_FAIL
  - PSC_STATE_FLAG_BYTINDX_PASS
  - PSC_STATE_FLAG_BYTINDX_TODO
  - PSC_STATE_FLAG_BYTINDX_DONE
  - PSC_STATE_FLAG_BYTINDX_SKIP
  - PSC_STATE_FLAG_BYTNAME_FNAME
  - PSC_CALC_DELTA
  - PSC_READ_EVENT_REQUEST
  - PSC_READ_EVENT_REQUEST2
  - PSC_CLEAR_EVENT_REQUEST
  - PSC_STRING_UPDATE
  - PSC_STRING_RESET
  - STR
  - LEN
  - PSC_CLIENT_ADDR_PORT
  - PSC_PASS_SESSION_STATE
  - PSC_FAIL_SESSION_STATE
  - PSC_SKIP_SESSION_STATE
  - PSC_DROP_SESSION_STATE
  - PSC_ENFORCE_SESSION_STATE
  - PSC_UNPASS_SESSION_STATE
  - PSC_UNFAIL_SESSION_STATE
  - PSC_ADD_SERVER_STATE
  - PSC_DEL_SERVER_STATE
  - PSC_DEL_CLIENT_STATE
  - PSC_INIT_TESTS
  - PSC_INIT_TEST_FLAGS_ONLY
  - PSC_BEGIN_TESTS
  - PSC_MIN
  - PSC_MAX
  - PSC_SMTPD_X21
  - psc_acl_eval
  source_file: /src/postfix/postfix/src/postscreen/postscreen.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PSC_READ_BUF_SIZE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: PSC_TINDX_PREGR
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: PSC_TINDX_DNSBL
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: PSC_TINDX_PIPEL
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "2\t\t"
    - item_type: preproc_def
      name: PSC_TINDX_NSMTP
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "3\t\t"
    - item_type: preproc_def
      name: PSC_TINDX_BARLF
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "4\t\t"
    - item_type: preproc_def
      name: PSC_TINDX_COUNT
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "5\t\t"
    - item_type: preproc_def
      name: PSC_TNAME_PREGR
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: '"pregreet"'
    - item_type: preproc_def
      name: PSC_TNAME_DNSBL
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: '"dnsbl"'
    - item_type: preproc_def
      name: PSC_TNAME_PIPEL
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: '"pipelining"'
    - item_type: preproc_def
      name: PSC_TNAME_NSMTP
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: '"non-smtp command"'
    - item_type: preproc_def
      name: PSC_TNAME_BARLF
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: '"bare newline"'
    - item_type: preproc_def
      name: PSC_TIME_STAMP_NEW
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "(0)\t"
    - item_type: preproc_def
      name: PSC_TIME_STAMP_DISABLED
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "(1)\t"
    - item_type: preproc_def
      name: PSC_TIME_STAMP_INVALID
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "(-1)\t"
    - item_type: preproc_def
      name: PSC_STATE_FLAG_NOFORWARD
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: PSC_STATE_FLAG_USING_TLS
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: PSC_STATE_FLAG_UNUSED2
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: PSC_STATE_FLAG_NEW
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: PSC_STATE_FLAG_DNLIST_FAIL
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "(1<<4)\t"
    - item_type: preproc_def
      name: PSC_STATE_FLAG_HANGUP
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "(1<<5)\t"
    - item_type: preproc_def
      name: PSC_STATE_FLAG_SMTPD_X21
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "(1<<6)\t"
    - item_type: preproc_def
      name: PSC_STATE_FLAG_ALLIST_FAIL
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "(1<<7)\t"
    - item_type: preproc_def
      name: PSC_STATE_FLAG_TEST_BASE
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "(8)\t"
    - item_type: preproc_def
      name: PSC_STATE_FLAG_SHIFT_FAIL
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "(0)\t"
    - item_type: preproc_def
      name: PSC_STATE_FLAG_SHIFT_PASS
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "(1)\t"
    - item_type: preproc_def
      name: PSC_STATE_FLAG_SHIFT_TODO
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "(2)\t"
    - item_type: preproc_def
      name: PSC_STATE_FLAG_SHIFT_DONE
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "(3)\t"
    - item_type: preproc_def
      name: PSC_STATE_FLAG_SHIFT_SKIP
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "(3)\t"
    - item_type: preproc_def
      name: PSC_STATE_FLAG_SHIFT_STRIDE
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "(4)\t"
    - item_type: preproc_def
      name: PSC_STATE_FLAG_PREGR_FAIL
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: PSC_STATE_FLAG_BYTNAME_FNAME(PREGR, FAIL)
    - item_type: preproc_def
      name: PSC_STATE_FLAG_PREGR_PASS
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: PSC_STATE_FLAG_BYTNAME_FNAME(PREGR, PASS)
    - item_type: preproc_def
      name: PSC_STATE_FLAG_PREGR_TODO
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: PSC_STATE_FLAG_BYTNAME_FNAME(PREGR, TODO)
    - item_type: preproc_def
      name: PSC_STATE_FLAG_PREGR_DONE
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: PSC_STATE_FLAG_BYTNAME_FNAME(PREGR, DONE)
    - item_type: preproc_def
      name: PSC_STATE_FLAG_DNSBL_FAIL
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: PSC_STATE_FLAG_BYTNAME_FNAME(DNSBL, FAIL)
    - item_type: preproc_def
      name: PSC_STATE_FLAG_DNSBL_PASS
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: PSC_STATE_FLAG_BYTNAME_FNAME(DNSBL, PASS)
    - item_type: preproc_def
      name: PSC_STATE_FLAG_DNSBL_TODO
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: PSC_STATE_FLAG_BYTNAME_FNAME(DNSBL, TODO)
    - item_type: preproc_def
      name: PSC_STATE_FLAG_DNSBL_DONE
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: PSC_STATE_FLAG_BYTNAME_FNAME(DNSBL, DONE)
    - item_type: preproc_def
      name: PSC_STATE_FLAG_PIPEL_FAIL
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: PSC_STATE_FLAG_BYTNAME_FNAME(PIPEL, FAIL)
    - item_type: preproc_def
      name: PSC_STATE_FLAG_PIPEL_PASS
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: PSC_STATE_FLAG_BYTNAME_FNAME(PIPEL, PASS)
    - item_type: preproc_def
      name: PSC_STATE_FLAG_PIPEL_TODO
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: PSC_STATE_FLAG_BYTNAME_FNAME(PIPEL, TODO)
    - item_type: preproc_def
      name: PSC_STATE_FLAG_PIPEL_SKIP
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: PSC_STATE_FLAG_BYTNAME_FNAME(PIPEL, SKIP)
    - item_type: preproc_def
      name: PSC_STATE_FLAG_NSMTP_FAIL
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: PSC_STATE_FLAG_BYTNAME_FNAME(NSMTP, FAIL)
    - item_type: preproc_def
      name: PSC_STATE_FLAG_NSMTP_PASS
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: PSC_STATE_FLAG_BYTNAME_FNAME(NSMTP, PASS)
    - item_type: preproc_def
      name: PSC_STATE_FLAG_NSMTP_TODO
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: PSC_STATE_FLAG_BYTNAME_FNAME(NSMTP, TODO)
    - item_type: preproc_def
      name: PSC_STATE_FLAG_NSMTP_SKIP
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: PSC_STATE_FLAG_BYTNAME_FNAME(NSMTP, SKIP)
    - item_type: preproc_def
      name: PSC_STATE_FLAG_BARLF_FAIL
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: PSC_STATE_FLAG_BYTNAME_FNAME(BARLF, FAIL)
    - item_type: preproc_def
      name: PSC_STATE_FLAG_BARLF_PASS
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: PSC_STATE_FLAG_BYTNAME_FNAME(BARLF, PASS)
    - item_type: preproc_def
      name: PSC_STATE_FLAG_BARLF_TODO
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: PSC_STATE_FLAG_BYTNAME_FNAME(BARLF, TODO)
    - item_type: preproc_def
      name: PSC_STATE_FLAG_BARLF_SKIP
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: PSC_STATE_FLAG_BYTNAME_FNAME(BARLF, SKIP)
    - item_type: preproc_def
      name: PSC_STATE_MASK_PREGR_TODO_FAIL
      pos:
        line_end: 215
        line_start: 213
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: (PSC_STATE_FLAG_PREGR_TODO | PSC_STATE_FLAG_PREGR_FAIL)
    - item_type: preproc_def
      name: PSC_STATE_MASK_DNSBL_TODO_FAIL
      pos:
        line_end: 217
        line_start: 215
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: (PSC_STATE_FLAG_DNSBL_TODO | PSC_STATE_FLAG_DNSBL_FAIL)
    - item_type: preproc_def
      name: PSC_STATE_MASK_PIPEL_TODO_FAIL
      pos:
        line_end: 219
        line_start: 217
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: (PSC_STATE_FLAG_PIPEL_TODO | PSC_STATE_FLAG_PIPEL_FAIL)
    - item_type: preproc_def
      name: PSC_STATE_MASK_NSMTP_TODO_FAIL
      pos:
        line_end: 221
        line_start: 219
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: (PSC_STATE_FLAG_NSMTP_TODO | PSC_STATE_FLAG_NSMTP_FAIL)
    - item_type: preproc_def
      name: PSC_STATE_MASK_BARLF_TODO_FAIL
      pos:
        line_end: 223
        line_start: 221
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: (PSC_STATE_FLAG_BARLF_TODO | PSC_STATE_FLAG_BARLF_FAIL)
    - item_type: preproc_def
      name: PSC_STATE_MASK_PREGR_TODO_DONE
      pos:
        line_end: 226
        line_start: 224
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: (PSC_STATE_FLAG_PREGR_TODO | PSC_STATE_FLAG_PREGR_DONE)
    - item_type: preproc_def
      name: PSC_STATE_MASK_PIPEL_TODO_SKIP
      pos:
        line_end: 228
        line_start: 226
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: (PSC_STATE_FLAG_PIPEL_TODO | PSC_STATE_FLAG_PIPEL_SKIP)
    - item_type: preproc_def
      name: PSC_STATE_MASK_NSMTP_TODO_SKIP
      pos:
        line_end: 230
        line_start: 228
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: (PSC_STATE_FLAG_NSMTP_TODO | PSC_STATE_FLAG_NSMTP_SKIP)
    - item_type: preproc_def
      name: PSC_STATE_MASK_BARLF_TODO_SKIP
      pos:
        line_end: 232
        line_start: 230
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: (PSC_STATE_FLAG_BARLF_TODO | PSC_STATE_FLAG_BARLF_SKIP)
    - item_type: preproc_def
      name: PSC_STATE_MASK_PREGR_FAIL_DONE
      pos:
        line_end: 235
        line_start: 233
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: (PSC_STATE_FLAG_PREGR_FAIL | PSC_STATE_FLAG_PREGR_DONE)
    - item_type: preproc_def
      name: PSC_STATE_MASK_PIPEL_TODO_PASS_FAIL
      pos:
        line_end: 238
        line_start: 236
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: (PSC_STATE_MASK_PIPEL_TODO_FAIL | PSC_STATE_FLAG_PIPEL_PASS)
    - item_type: preproc_def
      name: PSC_STATE_MASK_NSMTP_TODO_PASS_FAIL
      pos:
        line_end: 240
        line_start: 238
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: (PSC_STATE_MASK_NSMTP_TODO_FAIL | PSC_STATE_FLAG_NSMTP_PASS)
    - item_type: preproc_def
      name: PSC_STATE_MASK_BARLF_TODO_PASS_FAIL
      pos:
        line_end: 242
        line_start: 240
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: (PSC_STATE_MASK_BARLF_TODO_FAIL | PSC_STATE_FLAG_BARLF_PASS)
    - item_type: preproc_def
      name: PSC_STATE_MASK_EARLY_DONE
      pos:
        line_end: 248
        line_start: 246
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: (PSC_STATE_FLAG_PREGR_DONE | PSC_STATE_FLAG_DNSBL_DONE)
    - item_type: preproc_def
      name: PSC_STATE_MASK_EARLY_TODO
      pos:
        line_end: 250
        line_start: 248
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: (PSC_STATE_FLAG_PREGR_TODO | PSC_STATE_FLAG_DNSBL_TODO)
    - item_type: preproc_def
      name: PSC_STATE_MASK_EARLY_PASS
      pos:
        line_end: 252
        line_start: 250
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: (PSC_STATE_FLAG_PREGR_PASS | PSC_STATE_FLAG_DNSBL_PASS)
    - item_type: preproc_def
      name: PSC_STATE_MASK_EARLY_FAIL
      pos:
        line_end: 254
        line_start: 252
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: (PSC_STATE_FLAG_PREGR_FAIL | PSC_STATE_FLAG_DNSBL_FAIL)
    - item_type: preproc_def
      name: PSC_STATE_MASK_SMTPD_TODO
      pos:
        line_end: 258
        line_start: 255
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "(PSC_STATE_FLAG_PIPEL_TODO | PSC_STATE_FLAG_NSMTP_TODO | \\\n\tPSC_STATE_FLAG_BARLF_TODO)"
    - item_type: preproc_def
      name: PSC_STATE_MASK_SMTPD_PASS
      pos:
        line_end: 261
        line_start: 258
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "(PSC_STATE_FLAG_PIPEL_PASS | PSC_STATE_FLAG_NSMTP_PASS | \\\n\tPSC_STATE_FLAG_BARLF_PASS)"
    - item_type: preproc_def
      name: PSC_STATE_MASK_SMTPD_FAIL
      pos:
        line_end: 264
        line_start: 261
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "(PSC_STATE_FLAG_PIPEL_FAIL | PSC_STATE_FLAG_NSMTP_FAIL | \\\n\tPSC_STATE_FLAG_BARLF_FAIL)"
    - item_type: preproc_def
      name: PSC_STATE_MASK_ANY_FAIL
      pos:
        line_end: 272
        line_start: 268
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "(PSC_STATE_FLAG_DNLIST_FAIL | \\\n\tPSC_STATE_MASK_EARLY_FAIL
        | PSC_STATE_MASK_SMTPD_FAIL | \\\n\tPSC_STATE_FLAG_ALLIST_FAIL)"
    - item_type: preproc_def
      name: PSC_STATE_MASK_ANY_PASS
      pos:
        line_end: 275
        line_start: 273
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: (PSC_STATE_MASK_EARLY_PASS | PSC_STATE_MASK_SMTPD_PASS)
    - item_type: preproc_def
      name: PSC_STATE_MASK_ANY_TODO
      pos:
        line_end: 278
        line_start: 276
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: (PSC_STATE_MASK_EARLY_TODO | PSC_STATE_MASK_SMTPD_TODO)
    - item_type: preproc_def
      name: PSC_STATE_MASK_ANY_TODO_FAIL
      pos:
        line_end: 281
        line_start: 279
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: (PSC_STATE_MASK_ANY_TODO | PSC_STATE_MASK_ANY_FAIL)
    - item_type: preproc_def
      name: PSC_STATE_MASK_ANY_UPDATE
      pos:
        line_end: 284
        line_start: 282
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: (PSC_STATE_MASK_ANY_PASS)
    - item_type: preproc_def
      name: PSC_SMTPD_CMD_CONNECT
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: '"CONNECT"'
    - item_type: preproc_def
      name: PSC_SMTPD_CMD_UNIMPL
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: '"UNIMPLEMENTED"'
    - item_type: preproc_def
      name: SIG_DIGS
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PSC_NAME_ACT_DROP
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: '"drop"'
    - item_type: preproc_def
      name: PSC_NAME_ACT_ENFORCE
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: '"enforce"'
    - item_type: preproc_def
      name: PSC_NAME_ACT_IGNORE
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: '"ignore"'
    - item_type: preproc_def
      name: PSC_NAME_ACT_CONT
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: '"continue"'
    - item_type: preproc_def
      name: PSC_ACT_DROP
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PSC_ACT_ENFORCE
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PSC_ACT_IGNORE
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PSC_EFF_GREET_WAIT
      pos:
        line_end: 386
        line_start: 384
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: '(psc_stress ? psc_stress_greet_wait : psc_normal_greet_wait)'
    - item_type: preproc_def
      name: PSC_EFF_CMD_TIME_LIMIT
      pos:
        line_end: 388
        line_start: 386
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: '(psc_stress ? psc_stress_cmd_time_limit : psc_normal_cmd_time_limit)'
    - item_type: preproc_def
      name: PSC_SEND_REPLY
      pos:
        line_end: 547
        line_start: 546
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: "psc_send_reply\t"
    - item_type: preproc_def
      name: PSC_ACL_ACT_ALLOWLIST
      pos:
        line_end: 576
        line_start: 575
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: SERVER_ACL_ACT_PERMIT
    - item_type: preproc_def
      name: PSC_ACL_ACT_DUNNO
      pos:
        line_end: 577
        line_start: 576
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: SERVER_ACL_ACT_DUNNO
    - item_type: preproc_def
      name: PSC_ACL_ACT_DENYLIST
      pos:
        line_end: 578
        line_start: 577
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: SERVER_ACL_ACT_REJECT
    - item_type: preproc_def
      name: PSC_ACL_ACT_ERROR
      pos:
        line_end: 579
        line_start: 578
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: SERVER_ACL_ACT_ERROR
    - item_type: preproc_def
      name: psc_acl_pre_jail_init
      pos:
        line_end: 581
        line_start: 580
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: server_acl_pre_jail_init
    - item_type: preproc_def
      name: psc_acl_parse
      pos:
        line_end: 582
        line_start: 581
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type_or_value: server_acl_parse
    structs:
    - fields:
      - name: concurrency
        type: int
      - name: pass_new_count
        type: int
      - name: expire_time[PSC_TINDX_COUNT]
        type: time_t
      item_type: struct
      name: PSC_CLIENT_INFO
      pos:
        line_end: 63
        line_start: 59
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
    - fields:
      - name: flags
        type: int
      - name: '*smtp_client_stream'
        type: VSTREAM
      - name: smtp_server_fd
        type: int
      - name: '*smtp_client_addr'
        type: char
      - name: '*smtp_client_port'
        type: char
      - name: '*smtp_server_addr'
        type: char
      - name: '*smtp_server_port'
        type: char
      - name: '*final_reply'
        type: char
      - name: '*send_buf'
        type: VSTRING
      - name: start_time
        type: struct timeval
      - name: '*test_name'
        type: char
      - name: '*client_info'
        type: PSC_CLIENT_INFO
      - name: '*dnsbl_reply'
        type: VSTRING
      - name: dnsbl_score
        type: int
      - name: dnsbl_ttl
        type: int
      - name: '*dnsbl_name'
        type: char
      - name: dnsbl_index
        type: int
      - name: '*rcpt_reply'
        type: char
      - name: command_count
        type: int
      - name: '*protocol'
        type: char
      - name: '*helo_name'
        type: char
      - name: '*sender'
        type: char
      - name: '*cmd_buffer'
        type: VSTRING
      - name: read_state
        type: int
      - name: ehlo_discard_mask
        type: int
      - name: '*expand_buf'
        type: VSTRING
      - name: '*where'
        type: char
      item_type: struct
      name: PSC_STATE
      pos:
        line_end: 99
        line_start: 68
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
    - fields:
      - name: dt_sec
        type: int
      - name: dt_usec
        type: int
      item_type: struct
      name: DELTA_TIME
      pos:
        line_end: 298
        line_start: 295
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
    typedefs:
    - item_type: typedef
      name: "(*PSC_ENDPT_LOOKUP_FN) (int, VSTREAM *,\n\t\t\t             MAI_HOSTADDR_STR
        *, MAI_SERVPORT_STR *,\n\t\t\t            MAI_HOSTADDR_STR *, MAI_SERVPORT_STR
        *)"
      pos:
        line_end: 568
        line_start: 566
        source_file: /src/postfix/postfix/src/postscreen/postscreen.h
      type: void
    union: []
- function_names:
  - psc_new_session_state
  - psc_free_session_state
  - psc_print_state_flags
  source_file: /src/postfix/postfix/src/postscreen/postscreen_state.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/postscreen/postscreen_haproxy.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PSC_SMTPD_HAVE_PUSH_BACK
  - PSC_SMTPD_PUSH_BACK_CHAR
  - PSC_SMTPD_NEXT_CHAR
  - PSC_SMTPD_BUFFER_EMPTY
  - PSC_SMTPD_PEEK_DATA
  - PSC_SMTPD_PEEK_LEN
  - PSC_RESUME_SMTP_CMD_EVENTS
  - PSC_SUSPEND_SMTP_CMD_EVENTS
  - PSC_SMTPD_ESCAPE_TEXT
  - PSC_SMTPD_NEXT_TOKEN
  - PSC_CLEAR_EVENT_DROP_SESSION_STATE
  - PSC_CLEAR_EVENT_HANGUP
  - psc_helo_cmd
  - psc_smtpd_format_ehlo_reply
  - PSC_EHLO_APPEND
  - PSC_EHLO_APPEND1
  - psc_ehlo_cmd
  - psc_starttls_resume
  - psc_starttls_cmd
  - psc_extract_addr
  - psc_mail_cmd
  - psc_soften_reply
  - psc_rcpt_cmd
  - psc_data_cmd
  - psc_bdat_cmd
  - psc_rset_cmd
  - psc_noop_cmd
  - psc_vrfy_cmd
  - psc_etrn_cmd
  - psc_quit_cmd
  - psc_smtpd_time_event
  - psc_smtpd_read_event
  - PSC_BAD_UTF8
  - psc_smtpd_tests
  - psc_smtpd_init
  - psc_smtpd_pre_jail_init
  source_file: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PSC_SMTPD_CMD_FLAG_NONE
      pos:
        line_end: 741
        line_start: 740
        source_file: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
      type_or_value: "(0)\t"
    - item_type: preproc_def
      name: PSC_SMTPD_CMD_FLAG_ENABLE
      pos:
        line_end: 742
        line_start: 741
        source_file: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: PSC_SMTPD_CMD_FLAG_DESTROY
      pos:
        line_end: 743
        line_start: 742
        source_file: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: PSC_SMTPD_CMD_FLAG_PRE_TLS
      pos:
        line_end: 744
        line_start: 743
        source_file: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: PSC_SMTPD_CMD_FLAG_SUSPEND
      pos:
        line_end: 745
        line_start: 744
        source_file: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: PSC_SMTPD_CMD_FLAG_HAS_PAYLOAD
      pos:
        line_end: 746
        line_start: 745
        source_file: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
      type_or_value: "(1<<4)\t"
    - item_type: preproc_def
      name: PSC_SMTPD_CMD_ST_ANY
      pos:
        line_end: 783
        line_start: 782
        source_file: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PSC_SMTPD_CMD_ST_CR
      pos:
        line_end: 784
        line_start: 783
        source_file: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PSC_SMTPD_CMD_ST_CR_LF
      pos:
        line_end: 785
        line_start: 784
        source_file: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
      type_or_value: '2'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: (*action) (PSC_STATE *, char *)
        type: int
      - name: flags
        type: int
      item_type: struct
      name: PSC_SMTPD_COMMAND
      pos:
        line_end: 738
        line_start: 734
        source_file: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    - fields:
      - name: state
        type: int
      - name: want
        type: int
      - name: next_state
        type: int
      item_type: struct
      name: cmd_trans
      pos:
        line_end: 779
        line_start: 775
        source_file: /src/postfix/postfix/src/postscreen/postscreen_smtpd.c
    typedefs: []
    union: []
- function_names:
  - pcs_send_pre_jail_init
  - psc_get_footer
  - psc_send_reply
  - psc_send_socket_close_event
  - psc_send_socket
  source_file: /src/postfix/postfix/src/postscreen/postscreen_send.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PSC_SEND_SOCK_CONNECT_TIMEOUT
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/postfix/postfix/src/postscreen/postscreen_send.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PSC_SEND_SOCK_NOTIFY_TIMEOUT
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/postfix/postfix/src/postscreen/postscreen_send.c
      type_or_value: '100'
    structs: []
    typedefs: []
    union: []
- function_names:
  - milter_macros_print
  - milter_macros_scan
  - milter_macros_create
  - milter_macros_alloc
  - milter_macros_init
  - milter_macros_free
  - milter_macros_wipe
  source_file: /src/postfix/postfix/src/milter/milter_macros.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAIL_ATTR_MILT_MAC_CONN
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/postfix/postfix/src/milter/milter_macros.c
      type_or_value: '"conn_macros"'
    - item_type: preproc_def
      name: MAIL_ATTR_MILT_MAC_HELO
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/postfix/postfix/src/milter/milter_macros.c
      type_or_value: '"helo_macros"'
    - item_type: preproc_def
      name: MAIL_ATTR_MILT_MAC_MAIL
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/postfix/postfix/src/milter/milter_macros.c
      type_or_value: '"mail_macros"'
    - item_type: preproc_def
      name: MAIL_ATTR_MILT_MAC_RCPT
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/postfix/postfix/src/milter/milter_macros.c
      type_or_value: '"rcpt_macros"'
    - item_type: preproc_def
      name: MAIL_ATTR_MILT_MAC_DATA
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/postfix/postfix/src/milter/milter_macros.c
      type_or_value: '"data_macros"'
    - item_type: preproc_def
      name: MAIL_ATTR_MILT_MAC_EOH
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/postfix/postfix/src/milter/milter_macros.c
      type_or_value: '"eoh_macros"'
    - item_type: preproc_def
      name: MAIL_ATTR_MILT_MAC_EOD
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/postfix/postfix/src/milter/milter_macros.c
      type_or_value: '"eod_macros"'
    - item_type: preproc_def
      name: MAIL_ATTR_MILT_MAC_UNK
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/postfix/postfix/src/milter/milter_macros.c
      type_or_value: '"unk_macros"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - milter_create
  source_file: /src/postfix/postfix/src/milter/milter.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MILTER_FLAG_NONE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: (0)
    - item_type: preproc_def
      name: MILTER_FLAG_WANT_RCPT_REJ
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: MILTER_MACROS_ALLOC_ZERO
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: MILTER_MACROS_ALLOC_EMPTY
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: MILTER_BODY_START
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: MILTER_BODY_LINE
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: MILTER_BODY_END
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: S8_MAC__
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: "\"{_}\"\t"
    - item_type: preproc_def
      name: S8_MAC_J
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: "\"{j}\"\t"
    - item_type: preproc_def
      name: S8_MAC_V
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: "\"{v}\"\t"
    - item_type: preproc_def
      name: S8_MAC_DAEMON_NAME
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: '"{daemon_name}"'
    - item_type: preproc_def
      name: S8_MAC_IF_NAME
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: '"{if_name}"'
    - item_type: preproc_def
      name: S8_MAC_IF_ADDR
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: '"{if_addr}"'
    - item_type: preproc_def
      name: S8_MAC_CLIENT_ADDR
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: '"{client_addr}"'
    - item_type: preproc_def
      name: S8_MAC_CLIENT_CONN
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: '"{client_connections}"'
    - item_type: preproc_def
      name: S8_MAC_CLIENT_NAME
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: '"{client_name}"'
    - item_type: preproc_def
      name: S8_MAC_CLIENT_PORT
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: '"{client_port}"'
    - item_type: preproc_def
      name: S8_MAC_CLIENT_PTR
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: '"{client_ptr}"'
    - item_type: preproc_def
      name: S8_MAC_CLIENT_RES
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: '"{client_resolve}"'
    - item_type: preproc_def
      name: S8_MAC_DAEMON_ADDR
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: '"{daemon_addr}"'
    - item_type: preproc_def
      name: S8_MAC_DAEMON_PORT
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: '"{daemon_port}"'
    - item_type: preproc_def
      name: S8_MAC_TLS_VERSION
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: '"{tls_version}"'
    - item_type: preproc_def
      name: S8_MAC_CIPHER
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: '"{cipher}"'
    - item_type: preproc_def
      name: S8_MAC_CIPHER_BITS
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: '"{cipher_bits}"'
    - item_type: preproc_def
      name: S8_MAC_CERT_SUBJECT
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: '"{cert_subject}"'
    - item_type: preproc_def
      name: S8_MAC_CERT_ISSUER
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: '"{cert_issuer}"'
    - item_type: preproc_def
      name: S8_MAC_I
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: "\"{i}\"\t"
    - item_type: preproc_def
      name: S8_MAC_AUTH_TYPE
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: "\"{auth_type}\"\t"
    - item_type: preproc_def
      name: S8_MAC_AUTH_AUTHEN
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: "\"{auth_authen}\"\t"
    - item_type: preproc_def
      name: S8_MAC_AUTH_AUTHOR
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: "\"{auth_author}\"\t"
    - item_type: preproc_def
      name: S8_MAC_MAIL_MAILER
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: "\"{mail_mailer}\"\t"
    - item_type: preproc_def
      name: S8_MAC_MAIL_HOST
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: "\"{mail_host}\"\t"
    - item_type: preproc_def
      name: S8_MAC_MAIL_ADDR
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: "\"{mail_addr}\"\t"
    - item_type: preproc_def
      name: S8_MAC_RCPT_MAILER
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: "\"{rcpt_mailer}\"\t"
    - item_type: preproc_def
      name: S8_MAC_RCPT_HOST
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: "\"{rcpt_host}\"\t"
    - item_type: preproc_def
      name: S8_MAC_RCPT_ADDR
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: "\"{rcpt_addr}\"\t"
    - item_type: preproc_def
      name: S8_RCPT_MAILER_ERROR
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/postfix/postfix/src/milter/milter.h
      type_or_value: "\"error\"\t"
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: flags
        type: int
      - name: '*next'
        type: struct MILTER
      - name: '*parent'
        type: struct MILTERS
      - name: '*macros'
        type: struct MILTER_MACROS
      - name: (*connect_on_demand) (struct MILTER *)
        type: void
      - name: '*(*conn_event) (struct MILTER *, const char *, const char *, const
          char *, unsigned, ARGV *)'
        type: char
      - name: '*(*helo_event) (struct MILTER *, const char *, int, ARGV *)'
        type: char
      - name: '*(*mail_event) (struct MILTER *, const char **, ARGV *)'
        type: char
      - name: '*(*rcpt_event) (struct MILTER *, const char **, ARGV *)'
        type: char
      - name: '*(*data_event) (struct MILTER *, ARGV *)'
        type: char
      - name: '*(*message) (struct MILTER *, VSTREAM *, off_t, ARGV *, ARGV *, ARGV
          *)'
        type: char
      - name: '*(*unknown_event) (struct MILTER *, const char *, ARGV *)'
        type: char
      - name: '*(*other_event) (struct MILTER *)'
        type: char
      - name: (*abort) (struct MILTER *)
        type: void
      - name: (*disc_event) (struct MILTER *)
        type: void
      - name: (*active) (struct MILTER *)
        type: int
      - name: (*send) (struct MILTER *, VSTREAM *)
        type: int
      - name: (*free) (struct MILTER *)
        type: void
      item_type: struct
      name: MILTER
      pos:
        line_end: 51
        line_start: 31
        source_file: /src/postfix/postfix/src/milter/milter.h
    - fields:
      - name: '*conn_macros'
        type: char
      - name: '*helo_macros'
        type: char
      - name: '*mail_macros'
        type: char
      - name: '*rcpt_macros'
        type: char
      - name: '*data_macros'
        type: char
      - name: '*eoh_macros'
        type: char
      - name: '*eod_macros'
        type: char
      - name: '*unk_macros'
        type: char
      item_type: struct
      name: MILTER_MACROS
      pos:
        line_end: 73
        line_start: 64
        source_file: /src/postfix/postfix/src/milter/milter.h
    - fields:
      - name: '*milter_list'
        type: MILTER
      - name: mac_lookup
        type: MILTER_MAC_LOOKUP_FN
      - name: '*mac_context'
        type: void
      - name: '*macros'
        type: struct MILTER_MACROS
      - name: '*macro_defaults'
        type: struct HTABLE
      - name: '*chg_context'
        type: void
      - name: add_header
        type: MILTER_ADD_HEADER_FN
      - name: upd_header
        type: MILTER_EDIT_HEADER_FN
      - name: del_header
        type: MILTER_DEL_HEADER_FN
      - name: ins_header
        type: MILTER_EDIT_HEADER_FN
      - name: chg_from
        type: MILTER_EDIT_FROM_FN
      - name: add_rcpt
        type: MILTER_EDIT_RCPT_FN
      - name: add_rcpt_par
        type: MILTER_EDIT_RCPT_PAR_FN
      - name: del_rcpt
        type: MILTER_EDIT_RCPT_FN
      - name: repl_body
        type: MILTER_EDIT_BODY_FN
      item_type: struct
      name: MILTERS
      pos:
        line_end: 120
        line_start: 104
        source_file: /src/postfix/postfix/src/milter/milter.h
    typedefs:
    - item_type: typedef
      name: '*(*MILTER_MAC_LOOKUP_FN) (const char *, void *)'
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/postfix/postfix/src/milter/milter.h
      type: char
    - item_type: typedef
      name: '*(*MILTER_ADD_HEADER_FN) (void *, const char *, const char *, const char
        *)'
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/postfix/postfix/src/milter/milter.h
      type: char
    - item_type: typedef
      name: '*(*MILTER_EDIT_HEADER_FN) (void *, ssize_t, const char *, const char
        *, const char *)'
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/postfix/postfix/src/milter/milter.h
      type: char
    - item_type: typedef
      name: '*(*MILTER_DEL_HEADER_FN) (void *, ssize_t, const char *)'
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/postfix/postfix/src/milter/milter.h
      type: char
    - item_type: typedef
      name: '*(*MILTER_EDIT_FROM_FN) (void *, const char *, const char *)'
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/postfix/postfix/src/milter/milter.h
      type: char
    - item_type: typedef
      name: '*(*MILTER_EDIT_RCPT_FN) (void *, const char *)'
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/postfix/postfix/src/milter/milter.h
      type: char
    - item_type: typedef
      name: '*(*MILTER_EDIT_RCPT_PAR_FN) (void *, const char *, const char *)'
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/postfix/postfix/src/milter/milter.h
      type: char
    - item_type: typedef
      name: '*(*MILTER_EDIT_BODY_FN) (void *, int, int, VSTRING *)'
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/postfix/postfix/src/milter/milter.h
      type: char
    union: []
- function_names:
  - STR
  - milter_macro_defaults_create
  - milter_macro_lookup
  - milter_macro_callback
  - milter_edit_callback
  - milter_conn_event
  - MILTER_MACRO_EVAL
  - milter_helo_event
  - milter_mail_event
  - milter_rcpt_event
  - milter_data_event
  - milter_unknown_event
  - milter_other_event
  - milter_message
  - milter_abort
  - milter_disc_event
  - link_override_table_to_variable
  - milter_new
  - milter_free
  - milter_dummy
  - milter_send
  - milter_receive
  - usage
  - main
  source_file: /src/postfix/postfix/src/milter/milter.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: my_conn_timeout_offset
      pos:
        line_end: 637
        line_start: 636
        source_file: /src/postfix/postfix/src/milter/milter.c
      type_or_value: '0'
    - item_type: preproc_def
      name: my_cmd_timeout_offset
      pos:
        line_end: 638
        line_start: 637
        source_file: /src/postfix/postfix/src/milter/milter.c
      type_or_value: '1'
    - item_type: preproc_def
      name: my_msg_timeout_offset
      pos:
        line_end: 639
        line_start: 638
        source_file: /src/postfix/postfix/src/milter/milter.c
      type_or_value: '2'
    - item_type: preproc_def
      name: my_protocol_offset
      pos:
        line_end: 641
        line_start: 640
        source_file: /src/postfix/postfix/src/milter/milter.c
      type_or_value: '0'
    - item_type: preproc_def
      name: my_def_action_offset
      pos:
        line_end: 642
        line_start: 641
        source_file: /src/postfix/postfix/src/milter/milter.c
      type_or_value: '1'
    - item_type: preproc_def
      name: NO_MILTERS
      pos:
        line_end: 855
        line_start: 854
        source_file: /src/postfix/postfix/src/milter/milter.c
      type_or_value: ((char *) 0)
    - item_type: preproc_def
      name: NO_TIMEOUTS
      pos:
        line_end: 856
        line_start: 855
        source_file: /src/postfix/postfix/src/milter/milter.c
      type_or_value: 0, 0, 0
    - item_type: preproc_def
      name: NO_PROTOCOL
      pos:
        line_end: 857
        line_start: 856
        source_file: /src/postfix/postfix/src/milter/milter.c
      type_or_value: ((char *) 0)
    - item_type: preproc_def
      name: NO_ACTION
      pos:
        line_end: 858
        line_start: 857
        source_file: /src/postfix/postfix/src/milter/milter.c
      type_or_value: ((char *) 0)
    - item_type: preproc_def
      name: NO_MACROS
      pos:
        line_end: 859
        line_start: 858
        source_file: /src/postfix/postfix/src/milter/milter.c
      type_or_value: ((MILTER_MACROS *) 0)
    - item_type: preproc_def
      name: NO_MACRO_DEFLTS
      pos:
        line_end: 860
        line_start: 859
        source_file: /src/postfix/postfix/src/milter/milter.c
      type_or_value: ((HTABLE *) 0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_reply
  - test_connect
  - test_helo
  - test_mail
  - test_rcpt
  - test_header
  - test_eoh
  - test_body
  - test_eom
  - test_abort
  - test_close
  - test_data
  - test_unknown
  - test_negotiate
  - parse_hdr_info
  - main
  source_file: /src/postfix/postfix/src/milter/test-milter.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_RCPT
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/postfix/postfix/src/milter/test-milter.c
      type_or_value: '10'
    - item_type: preproc_def
      name: SMFIF_CHGFROM
      pos:
        line_end: 444
        line_start: 443
        source_file: /src/postfix/postfix/src/milter/test-milter.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SMFIP_HDR_LEADSPC
      pos:
        line_end: 447
        line_start: 446
        source_file: /src/postfix/postfix/src/milter/test-milter.c
      type_or_value: '0'
    - item_type: preproc_def
      name: misc_mask
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/postfix/postfix/src/milter/test-milter.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*reply'
        type: int
      item_type: struct
      name: command_map
      pos:
        line_end: 119
        line_start: 116
        source_file: /src/postfix/postfix/src/milter/test-milter.c
    - fields:
      - name: '*name'
        type: char
      - name: send_mask
        type: int
      - name: reply_mask
        type: int
      - name: '*reply'
        type: int
      - name: '*action'
        type: FILTER_ACTION
      item_type: struct
      name: noproto_map
      pos:
        line_end: 500
        line_start: 494
        source_file: /src/postfix/postfix/src/milter/test-milter.c
    typedefs:
    - item_type: typedef
      name: (*FILTER_ACTION) ()
      pos:
        line_end: 492
        line_start: 492
        source_file: /src/postfix/postfix/src/milter/test-milter.c
    union: []
- function_names:
  - MILTER8_MACRO_PTR
  - STR
  - LEN
  - milter8_def_reply
  - milter8_conf_error
  - milter8_comm_error
  - milter8_close_stream
  - milter8_read_resp
  - vmilter8_read_data
  - milter8_read_data
  - vmilter8_size_data
  - vmilter8_write_cmd
  - milter8_write_cmd
  - milter8_event
  - IN_CONNECT_EVENT
  - MILTER8_EVENT_BREAK
  - MILTER8_HDR_SPACE
  - milter8_connect
  - FREE_TRANSPORT_AND_BAIL_OUT
  - milter8_conn_event
  - STR_EQ
  - STR_NE
  - milter8_helo_event
  - milter8_mail_event
  - milter8_rcpt_event
  - milter8_data_event
  - milter8_unknown_event
  - milter8_other_event
  - milter8_abort
  - milter8_disc_event
  - milter8_header
  - MILTER8_MESSAGE_DONE
  - milter8_eoh
  - milter8_body
  - milter8_eob
  - milter8_message
  - milter8_active
  - milter8_send
  - milter8_receive
  - FREE_MACROS_AND_RETURN
  - milter8_free
  - milter8_alloc
  - milter8_create
  source_file: /src/postfix/postfix/src/milter/milter8.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHUT_RDWR
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SMFIC_ABORT
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'A'\t"
    - item_type: preproc_def
      name: SMFIC_BODY
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'B'\t"
    - item_type: preproc_def
      name: SMFIC_CONNECT
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'C'\t"
    - item_type: preproc_def
      name: SMFIC_MACRO
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'D'\t"
    - item_type: preproc_def
      name: SMFIC_BODYEOB
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'E'\t"
    - item_type: preproc_def
      name: SMFIC_HELO
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'H'\t"
    - item_type: preproc_def
      name: SMFIC_HEADER
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'L'\t"
    - item_type: preproc_def
      name: SMFIC_MAIL
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'M'\t"
    - item_type: preproc_def
      name: SMFIC_EOH
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'N'\t"
    - item_type: preproc_def
      name: SMFIC_OPTNEG
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'O'\t"
    - item_type: preproc_def
      name: SMFIC_QUIT
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'Q'\t"
    - item_type: preproc_def
      name: SMFIC_RCPT
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'R'\t"
    - item_type: preproc_def
      name: SMFIC_DATA
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'T'\t"
    - item_type: preproc_def
      name: SMFIC_UNKNOWN
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'U'\t"
    - item_type: preproc_def
      name: SMFIC_QUIT_NC
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'K'\t"
    - item_type: preproc_def
      name: SMFIR_ADDRCPT
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'+'\t"
    - item_type: preproc_def
      name: SMFIR_DELRCPT
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'-'\t"
    - item_type: preproc_def
      name: SMFIR_ACCEPT
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'a'\t"
    - item_type: preproc_def
      name: SMFIR_REPLBODY
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'b'\t"
    - item_type: preproc_def
      name: SMFIR_CONTINUE
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'c'\t"
    - item_type: preproc_def
      name: SMFIR_DISCARD
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'d'\t"
    - item_type: preproc_def
      name: SMFIR_CONN_FAIL
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'f'\t"
    - item_type: preproc_def
      name: SMFIR_CHGHEADER
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'m'\t"
    - item_type: preproc_def
      name: SMFIR_PROGRESS
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'p'\t"
    - item_type: preproc_def
      name: SMFIR_REJECT
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'r'\t"
    - item_type: preproc_def
      name: SMFIR_TEMPFAIL
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'t'\t"
    - item_type: preproc_def
      name: SMFIR_SHUTDOWN
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'4'\t"
    - item_type: preproc_def
      name: SMFIR_ADDHEADER
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'h'\t"
    - item_type: preproc_def
      name: SMFIR_INSHEADER
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'i'\t"
    - item_type: preproc_def
      name: SMFIR_REPLYCODE
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'y'\t"
    - item_type: preproc_def
      name: SMFIR_QUARANTINE
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'q'\t"
    - item_type: preproc_def
      name: SMFIR_SKIP
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'s'\t"
    - item_type: preproc_def
      name: SMFIR_CHGFROM
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'e'\t"
    - item_type: preproc_def
      name: SMFIR_ADDRCPT_PAR
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'2'\t"
    - item_type: preproc_def
      name: SMFIR_SETSYMLIST
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'l'\t"
    - item_type: preproc_def
      name: SMFIP_NOCONNECT
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "(1L<<0)\t"
    - item_type: preproc_def
      name: SMFIP_NOHELO
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "(1L<<1)\t"
    - item_type: preproc_def
      name: SMFIP_NOMAIL
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "(1L<<2)\t"
    - item_type: preproc_def
      name: SMFIP_NORCPT
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "(1L<<3)\t"
    - item_type: preproc_def
      name: SMFIP_NOBODY
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "(1L<<4)\t"
    - item_type: preproc_def
      name: SMFIP_NOHDRS
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "(1L<<5)\t"
    - item_type: preproc_def
      name: SMFIP_NOEOH
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "(1L<<6)\t"
    - item_type: preproc_def
      name: SMFIP_NOHREPL
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: SMFIP_NR_HDR
    - item_type: preproc_def
      name: SMFIP_NR_HDR
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "(1L<<7)\t"
    - item_type: preproc_def
      name: SMFIP_NOUNKNOWN
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "(1L<<8)\t"
    - item_type: preproc_def
      name: SMFIP_NODATA
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "(1L<<9)\t"
    - item_type: preproc_def
      name: SMFIP_SKIP
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: (1L<<10)
    - item_type: preproc_def
      name: SMFIP_RCPT_REJ
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: (1L<<11)
    - item_type: preproc_def
      name: SMFIP_NR_CONN
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: (1L<<12)
    - item_type: preproc_def
      name: SMFIP_NR_HELO
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: (1L<<13)
    - item_type: preproc_def
      name: SMFIP_NR_MAIL
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: (1L<<14)
    - item_type: preproc_def
      name: SMFIP_NR_RCPT
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: (1L<<15)
    - item_type: preproc_def
      name: SMFIP_NR_DATA
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: (1L<<16)
    - item_type: preproc_def
      name: SMFIP_NR_UNKN
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: (1L<<17)
    - item_type: preproc_def
      name: SMFIP_NR_EOH
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: (1L<<18)
    - item_type: preproc_def
      name: SMFIP_NR_BODY
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: (1L<<19)
    - item_type: preproc_def
      name: SMFIP_HDR_LEADSPC
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: (1L<<20)
    - item_type: preproc_def
      name: SMFIP_NOSEND_MASK
      pos:
        line_end: 240
        line_start: 236
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "(SMFIP_NOCONNECT | SMFIP_NOHELO | SMFIP_NOMAIL | SMFIP_NORCPT
        \\\n\t| SMFIP_NOBODY | SMFIP_NOHDRS | SMFIP_NOEOH | SMFIP_NOUNKNOWN \\\n\t|
        SMFIP_NODATA)"
    - item_type: preproc_def
      name: SMFIP_NOREPLY_MASK
      pos:
        line_end: 245
        line_start: 241
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "(SMFIP_NR_CONN | SMFIP_NR_HELO | SMFIP_NR_MAIL | SMFIP_NR_RCPT
        \\\n\t| SMFIP_NR_DATA | SMFIP_NR_UNKN | SMFIP_NR_HDR | SMFIP_NR_EOH | \\\n\tSMFIP_NR_BODY)"
    - item_type: preproc_def
      name: SMFIF_ADDHDRS
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "(1L<<0)\t"
    - item_type: preproc_def
      name: SMFIF_CHGBODY
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "(1L<<1)\t"
    - item_type: preproc_def
      name: SMFIF_ADDRCPT
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "(1L<<2)\t"
    - item_type: preproc_def
      name: SMFIF_DELRCPT
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "(1L<<3)\t"
    - item_type: preproc_def
      name: SMFIF_CHGHDRS
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "(1L<<4)\t"
    - item_type: preproc_def
      name: SMFIF_QUARANTINE
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "(1L<<5)\t"
    - item_type: preproc_def
      name: SMFIF_CHGFROM
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "(1L<<6)\t"
    - item_type: preproc_def
      name: SMFIF_ADDRCPT_PAR
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "(1L<<7)\t"
    - item_type: preproc_def
      name: SMFIF_SETSYMLIST
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "(1L<<8)\t"
    - item_type: preproc_def
      name: SMFIA_UNKNOWN
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'U'\t"
    - item_type: preproc_def
      name: SMFIA_UNIX
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'L'\t"
    - item_type: preproc_def
      name: SMFIA_INET
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'4'\t"
    - item_type: preproc_def
      name: SMFIA_INET6
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "'6'\t"
    - item_type: preproc_def
      name: SMFIM_CONNECT
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: SMFIM_HELO
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: SMFIM_ENVFROM
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "2\t\t"
    - item_type: preproc_def
      name: SMFIM_ENVRCPT
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "3\t\t"
    - item_type: preproc_def
      name: SMFIM_DATA
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "4\t\t"
    - item_type: preproc_def
      name: SMFIM_EOM
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "5\t\t"
    - item_type: preproc_def
      name: SMFIM_EOH
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "6\t\t"
    - item_type: preproc_def
      name: MILTER_CHUNK_SIZE
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "65535\t"
    - item_type: preproc_def
      name: MILTER8_STAT_ERROR
      pos:
        line_end: 399
        line_start: 398
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: MILTER8_STAT_CLOSED
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: MILTER8_STAT_READY
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: MILTER8_STAT_ENVELOPE
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: MILTER8_STAT_MESSAGE
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "5\t"
    - item_type: preproc_def
      name: MILTER8_STAT_ACCEPT_CON
      pos:
        line_end: 404
        line_start: 403
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "6\t"
    - item_type: preproc_def
      name: MILTER8_STAT_ACCEPT_MSG
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "7\t"
    - item_type: preproc_def
      name: MILTER8_STAT_REJECT_CON
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "8\t"
    - item_type: preproc_def
      name: MILTER8_DATA_END
      pos:
        line_end: 413
        line_start: 412
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: MILTER8_DATA_HLONG
      pos:
        line_end: 414
        line_start: 413
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: MILTER8_DATA_BUFFER
      pos:
        line_end: 415
        line_start: 414
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: MILTER8_DATA_STRING
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: MILTER8_DATA_NSHORT
      pos:
        line_end: 417
        line_start: 416
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: MILTER8_DATA_ARGV
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "5\t"
    - item_type: preproc_def
      name: MILTER8_DATA_OCTET
      pos:
        line_end: 419
        line_start: 418
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "6\t"
    - item_type: preproc_def
      name: MILTER8_DATA_MORE
      pos:
        line_end: 420
        line_start: 419
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "7\t"
    - item_type: preproc_def
      name: XXX_MAX_DATA
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: (INT_MAX / 2)
    - item_type: preproc_def
      name: XXX_TIMEOUT
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: '10'
    - item_type: preproc_def
      name: MILTER8_V2_PROTO_MASK
      pos:
        line_end: 440
        line_start: 437
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "(SMFIP_NOCONNECT | SMFIP_NOHELO | SMFIP_NOMAIL | SMFIP_NORCPT
        | \\\n\tSMFIP_NOBODY | SMFIP_NOHDRS | SMFIP_NOEOH)"
    - item_type: preproc_def
      name: MILTER8_V3_PROTO_MASK
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: (MILTER8_V2_PROTO_MASK | SMFIP_NOUNKNOWN)
    - item_type: preproc_def
      name: MILTER8_V4_PROTO_MASK
      pos:
        line_end: 446
        line_start: 445
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: (MILTER8_V3_PROTO_MASK | SMFIP_NODATA)
    - item_type: preproc_def
      name: MILTER8_V6_PROTO_MASK
      pos:
        line_end: 449
        line_start: 446
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: "(MILTER8_V4_PROTO_MASK | SMFIP_SKIP | SMFIP_RCPT_REJ \\\n\t|
        SMFIP_NOREPLY_MASK | SMFIP_HDR_LEADSPC)"
    - item_type: preproc_def
      name: DONT_SKIP_REPLY
      pos:
        line_end: 975
        line_start: 974
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: '0'
    - item_type: preproc_def
      name: XXX_UNKNOWN
      pos:
        line_end: 1943
        line_start: 1942
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: '"unknown"'
    - item_type: preproc_def
      name: MAIL_ATTR_MILT_NAME
      pos:
        line_end: 2646
        line_start: 2645
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: '"milter_name"'
    - item_type: preproc_def
      name: MAIL_ATTR_MILT_VERS
      pos:
        line_end: 2647
        line_start: 2646
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: '"milter_version"'
    - item_type: preproc_def
      name: MAIL_ATTR_MILT_ACTS
      pos:
        line_end: 2648
        line_start: 2647
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: '"milter_actions"'
    - item_type: preproc_def
      name: MAIL_ATTR_MILT_EVTS
      pos:
        line_end: 2649
        line_start: 2648
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: '"milter_events"'
    - item_type: preproc_def
      name: MAIL_ATTR_MILT_NPTS
      pos:
        line_end: 2650
        line_start: 2649
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: '"milter_non_events"'
    - item_type: preproc_def
      name: MAIL_ATTR_MILT_STAT
      pos:
        line_end: 2651
        line_start: 2650
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: '"milter_state"'
    - item_type: preproc_def
      name: MAIL_ATTR_MILT_CONN
      pos:
        line_end: 2652
        line_start: 2651
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: '"milter_conn_timeout"'
    - item_type: preproc_def
      name: MAIL_ATTR_MILT_CMD
      pos:
        line_end: 2653
        line_start: 2652
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: '"milter_cmd_timeout"'
    - item_type: preproc_def
      name: MAIL_ATTR_MILT_MSG
      pos:
        line_end: 2654
        line_start: 2653
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: '"milter_msg_timeout"'
    - item_type: preproc_def
      name: MAIL_ATTR_MILT_ACT
      pos:
        line_end: 2655
        line_start: 2654
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: '"milter_action"'
    - item_type: preproc_def
      name: MAIL_ATTR_MILT_MAC
      pos:
        line_end: 2656
        line_start: 2655
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: '"milter_macro_list"'
    - item_type: preproc_def
      name: NO_PROTOCOL
      pos:
        line_end: 2800
        line_start: 2799
        source_file: /src/postfix/postfix/src/milter/milter8.c
      type_or_value: ((char *) 0)
    structs:
    - fields:
      - name: m
        type: MILTER
      - name: conn_timeout
        type: int
      - name: cmd_timeout
        type: int
      - name: msg_timeout
        type: int
      - name: '*protocol'
        type: char
      - name: '*def_action'
        type: char
      - name: version
        type: int
      - name: rq_mask
        type: int
      - name: ev_mask
        type: int
      - name: np_mask
        type: int
      - name: '*buf'
        type: VSTRING
      - name: '*body'
        type: VSTRING
      - name: '*fp'
        type: VSTREAM
      - name: state
        type: int
      - name: '*def_reply'
        type: char
      - name: skip_event_type
        type: int
      item_type: struct
      name: MILTER8
      pos:
        line_end: 383
        line_start: 361
        source_file: /src/postfix/postfix/src/milter/milter8.c
    - fields:
      - name: '*milter'
        type: MILTER8
      - name: '*eoh_macros'
        type: ARGV
      - name: '*eod_macros'
        type: ARGV
      - name: '*auto_hdrs'
        type: ARGV
      - name: auto_done
        type: int
      - name: first_header
        type: int
      - name: first_body
        type: int
      - name: '*resp'
        type: char
      item_type: struct
      name: MILTER_MSG_CONTEXT
      pos:
        line_end: 2316
        line_start: 2307
        source_file: /src/postfix/postfix/src/milter/milter8.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/master/mail_flow.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - master_notify
  source_file: /src/postfix/postfix/src/master/master_proto.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - master_exit_event
  - usage
  - main
  source_file: /src/postfix/postfix/src/master/master.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MASTER_INIT_TIMEOUT
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/postfix/postfix/src/master/master.c
      type_or_value: "100\t\t"
    - item_type: preproc_def
      name: MASTER_WATCHDOG_TIME
      pos:
        line_end: 568
        line_start: 567
        source_file: /src/postfix/postfix/src/master/master.c
      type_or_value: '1000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - master_listen_init
  - master_listen_cleanup
  source_file: /src/postfix/postfix/src/master/master_listen.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - trigger_server_exit
  - trigger_server_abort
  - trigger_server_timeout
  - trigger_server_wakeup
  - trigger_server_accept_fifo
  - trigger_server_accept_local
  - trigger_server_accept_pass
  - trigger_server_main
  source_file: /src/postfix/postfix/src/master/trigger_server.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/master/master_proto.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MASTER_XPORT_NAME_UNIX
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/postfix/postfix/src/master/master_proto.h
      type_or_value: "\"unix\"\t"
    - item_type: preproc_def
      name: MASTER_XPORT_NAME_FIFO
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/postfix/postfix/src/master/master_proto.h
      type_or_value: "\"fifo\"\t"
    - item_type: preproc_def
      name: MASTER_XPORT_NAME_INET
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/postfix/postfix/src/master/master_proto.h
      type_or_value: "\"inet\"\t"
    - item_type: preproc_def
      name: MASTER_XPORT_NAME_PASS
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/postfix/postfix/src/master/master_proto.h
      type_or_value: "\"pass\"\t"
    - item_type: preproc_def
      name: MASTER_XPORT_NAME_UXDG
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/postfix/postfix/src/master/master_proto.h
      type_or_value: "\"unix-dgram\"\t"
    - item_type: preproc_def
      name: MASTER_GEN_NAME
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postfix/postfix/src/master/master_proto.h
      type_or_value: "\"GENERATION\"\t"
    - item_type: preproc_def
      name: MASTER_STAT_TAKEN
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/master/master_proto.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: MASTER_STAT_AVAIL
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/src/master/master_proto.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: MASTER_FLOW_READ
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/master/master_proto.h
      type_or_value: '3'
    - item_type: preproc_def
      name: MASTER_FLOW_WRITE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/master/master_proto.h
      type_or_value: '4'
    - item_type: preproc_def
      name: MASTER_STATUS_FD
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/postfix/postfix/src/master/master_proto.h
      type_or_value: "5\t"
    - item_type: preproc_def
      name: MASTER_LISTEN_FD
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postfix/postfix/src/master/master_proto.h
      type_or_value: "6\t"
    structs:
    - fields:
      - name: pid
        type: int
      - name: gen
        type: unsigned
      - name: avail
        type: int
      item_type: struct
      name: MASTER_STATUS
      pos:
        line_end: 29
        line_start: 25
        source_file: /src/postfix/postfix/src/master/master_proto.h
    typedefs: []
    union: []
- function_names:
  - MASTER_INET_ADDRLIST
  - MASTER_INET_PORT
  - MASTER_THROTTLED
  - MASTER_MARKED_FOR_DELETION
  - MASTER_LISTENING
  - MASTER_LIMIT_OK
  source_file: /src/postfix/postfix/src/master/master.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MASTER_FLAG_THROTTLE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/postfix/postfix/src/master/master.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: MASTER_FLAG_MARK
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/postfix/postfix/src/master/master.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: MASTER_FLAG_CONDWAKE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/postfix/postfix/src/master/master.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: MASTER_FLAG_INETHOST
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/postfix/postfix/src/master/master.h
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: MASTER_FLAG_LOCAL_ONLY
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/postfix/postfix/src/master/master.h
      type_or_value: "(1<<4)\t"
    - item_type: preproc_def
      name: MASTER_FLAG_LISTEN
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/postfix/postfix/src/master/master.h
      type_or_value: "(1<<5)\t"
    - item_type: preproc_def
      name: MASTER_SERV_TYPE_UNIX
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/postfix/postfix/src/master/master.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: MASTER_SERV_TYPE_INET
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/postfix/postfix/src/master/master.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: MASTER_SERV_TYPE_FIFO
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/postfix/postfix/src/master/master.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: MASTER_SERV_TYPE_PASS
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/postfix/postfix/src/master/master.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: MASTER_SERV_TYPE_UXDG
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/postfix/postfix/src/master/master.h
      type_or_value: "5\t"
    - item_type: preproc_def
      name: MASTER_DEF_MIN_IDLE
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/postfix/postfix/src/master/master.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: MASTER_BUF_LEN
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/postfix/postfix/src/master/master.h
      type_or_value: "2048\t\t"
    - item_type: preproc_def
      name: DO_CONF_RELOAD
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/postfix/postfix/src/master/master.h
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: NO_CONF_RELOAD
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/postfix/postfix/src/master/master.h
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: MASTER_WATCH_FLAG_UPDATABLE
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/postfix/postfix/src/master/master.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: MASTER_WATCH_FLAG_ISSET
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/postfix/postfix/src/master/master.h
      type_or_value: "(1<<1)\t"
    structs:
    - fields:
      - name: flags
        type: int
      - name: '*ext_name'
        type: char
      - name: '*name'
        type: char
      - name: type
        type: int
      - name: busy_warn_time
        type: time_t
      - name: wakeup_time
        type: int
      - name: '*listen_fd'
        type: int
      - name: listen_fd_count
        type: int
      - name: endpoint
        type: "union {\n\tstruct {\n\t    char   *port;\t\t/* inet listen port */\n\t
          \   struct INET_ADDR_LIST *addr;/* inet listen address */\n\t}       inet_ep;\n#define
          MASTER_INET_ADDRLIST(s)\t((s)->endpoint.inet_ep.addr)\n#define MASTER_INET_PORT(s)\t((s)->endpoint.inet_ep.port)\n
          \   }"
      - name: max_proc
        type: int
      - name: '*path'
        type: char
      - name: '*args'
        type: struct ARGV
      - name: '*stress_param_val'
        type: char
      - name: stress_expire_time
        type: time_t
      - name: avail_proc
        type: int
      - name: total_proc
        type: int
      - name: throttle_delay
        type: int
      - name: status_fd[2]
        type: int
      - name: '*children'
        type: struct BINHASH
      - name: '*next'
        type: struct MASTER_SERV
      item_type: struct
      name: MASTER_SERV
      pos:
        line_end: 54
        line_start: 26
        source_file: /src/postfix/postfix/src/master/master.h
    - fields:
      - name: pid
        type: MASTER_PID
      - name: gen
        type: unsigned
      - name: avail
        type: int
      - name: '*serv'
        type: MASTER_SERV
      - name: use_count
        type: int
      item_type: struct
      name: MASTER_PROC
      pos:
        line_end: 101
        line_start: 95
        source_file: /src/postfix/postfix/src/master/master.h
    - fields:
      - name: '*name'
        type: char
      - name: '**value'
        type: char
      - name: '**backup'
        type: char
      - name: flags
        type: int
      - name: (*notify) (void)
        type: void
      item_type: struct
      name: MASTER_STR_WATCH
      pos:
        line_end: 207
        line_start: 201
        source_file: /src/postfix/postfix/src/master/master.h
    - fields:
      - name: '*name'
        type: char
      - name: '*value'
        type: int
      - name: backup
        type: int
      - name: flags
        type: int
      - name: (*notify) (void)
        type: void
      item_type: struct
      name: MASTER_INT_WATCH
      pos:
        line_end: 215
        line_start: 209
        source_file: /src/postfix/postfix/src/master/master.h
    typedefs:
    - item_type: typedef
      name: MASTER_PID
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/postfix/postfix/src/master/master.h
      type: int
    union: []
- function_names:
  - master_vars_init
  source_file: /src/postfix/postfix/src/master/master_vars.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - master_avail_event
  - master_avail_listen
  - master_avail_cleanup
  - master_avail_more
  - master_avail_less
  source_file: /src/postfix/postfix/src/master/master_avail.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - master_status_event
  - master_status_init
  - master_status_cleanup
  source_file: /src/postfix/postfix/src/master/master_status.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - master_flow_init
  source_file: /src/postfix/postfix/src/master/master_flow.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CA_MAIL_SERVER_INT_TABLE
  - CA_MAIL_SERVER_STR_TABLE
  - CA_MAIL_SERVER_BOOL_TABLE
  - CA_MAIL_SERVER_TIME_TABLE
  - CA_MAIL_SERVER_RAW_TABLE
  - CA_MAIL_SERVER_NINT_TABLE
  - CA_MAIL_SERVER_NBOOL_TABLE
  - CA_MAIL_SERVER_LONG_TABLE
  - CA_MAIL_SERVER_PRE_INIT
  - CA_MAIL_SERVER_POST_INIT
  - CA_MAIL_SERVER_LOOP
  - CA_MAIL_SERVER_EXIT
  - CA_MAIL_SERVER_PRE_ACCEPT
  - CA_MAIL_SERVER_POST_ACCEPT
  - CA_MAIL_SERVER_PRE_DISCONN
  - CA_MAIL_SERVER_WATCHDOG
  - CA_MAIL_SERVER_SLOW_EXIT
  - CA_MAIL_SERVER_BOUNCE_INIT
  source_file: /src/postfix/postfix/src/master/mail_server.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAIL_SERVER_INT_TABLE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MAIL_SERVER_STR_TABLE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: '2'
    - item_type: preproc_def
      name: MAIL_SERVER_BOOL_TABLE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: '3'
    - item_type: preproc_def
      name: MAIL_SERVER_TIME_TABLE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: '4'
    - item_type: preproc_def
      name: MAIL_SERVER_RAW_TABLE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: '5'
    - item_type: preproc_def
      name: MAIL_SERVER_NINT_TABLE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: '6'
    - item_type: preproc_def
      name: MAIL_SERVER_NBOOL_TABLE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: '7'
    - item_type: preproc_def
      name: MAIL_SERVER_LONG_TABLE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: '8'
    - item_type: preproc_def
      name: MAIL_SERVER_PRE_INIT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: '10'
    - item_type: preproc_def
      name: MAIL_SERVER_POST_INIT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: '11'
    - item_type: preproc_def
      name: MAIL_SERVER_LOOP
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: '12'
    - item_type: preproc_def
      name: MAIL_SERVER_EXIT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: '13'
    - item_type: preproc_def
      name: MAIL_SERVER_PRE_ACCEPT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: '14'
    - item_type: preproc_def
      name: MAIL_SERVER_SOLITARY
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: '15'
    - item_type: preproc_def
      name: MAIL_SERVER_UNLIMITED
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: '16'
    - item_type: preproc_def
      name: MAIL_SERVER_PRE_DISCONN
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: '17'
    - item_type: preproc_def
      name: MAIL_SERVER_PRIVILEGED
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: '18'
    - item_type: preproc_def
      name: MAIL_SERVER_WATCHDOG
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: '19'
    - item_type: preproc_def
      name: MAIL_SERVER_IN_FLOW_DELAY
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: '20'
    - item_type: preproc_def
      name: MAIL_SERVER_SLOW_EXIT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: '21'
    - item_type: preproc_def
      name: MAIL_SERVER_BOUNCE_INIT
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: '22'
    - item_type: preproc_def
      name: MAIL_SERVER_RETIRE_ME
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: '23'
    - item_type: preproc_def
      name: MAIL_SERVER_POST_ACCEPT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: '24'
    - item_type: preproc_def
      name: CA_MAIL_SERVER_SOLITARY
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: MAIL_SERVER_SOLITARY
    - item_type: preproc_def
      name: CA_MAIL_SERVER_UNLIMITED
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: MAIL_SERVER_UNLIMITED
    - item_type: preproc_def
      name: CA_MAIL_SERVER_PRIVILEGED
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: MAIL_SERVER_PRIVILEGED
    - item_type: preproc_def
      name: CA_MAIL_SERVER_IN_FLOW_DELAY
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: MAIL_SERVER_IN_FLOW_DELAY
    - item_type: preproc_def
      name: CA_MAIL_SERVER_RETIRE_ME
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: MAIL_SERVER_RETIRE_ME
    - item_type: preproc_def
      name: TRIGGER_BUF_SIZE
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type_or_value: '1024'
    structs: []
    typedefs:
    - item_type: typedef
      name: (*MAIL_SERVER_INIT_FN) (char *, char **)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type: void
    - item_type: typedef
      name: (*MAIL_SERVER_LOOP_FN) (char *, char **)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type: int
    - item_type: typedef
      name: (*MAIL_SERVER_EXIT_FN) (char *, char **)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type: void
    - item_type: typedef
      name: (*MAIL_SERVER_ACCEPT_FN) (char *, char **)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type: void
    - item_type: typedef
      name: (*MAIL_SERVER_POST_ACCEPT_FN) (VSTREAM *, char *, char **, HTABLE *)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type: void
    - item_type: typedef
      name: (*MAIL_SERVER_DISCONN_FN) (VSTREAM *, char *, char **)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type: void
    - item_type: typedef
      name: (*MAIL_SERVER_SLOW_EXIT_FN) (char *, char **)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type: void
    - item_type: typedef
      name: (*SINGLE_SERVER_FN) (VSTREAM *, char *, char **)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type: void
    - item_type: typedef
      name: (*MULTI_SERVER_FN) (VSTREAM *, char *, char **)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type: void
    - item_type: typedef
      name: (*EVENT_SERVER_FN) (VSTREAM *, char *, char **)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type: void
    - item_type: typedef
      name: (*TRIGGER_SERVER_FN) (char *, ssize_t, char *, char **)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type: void
    - item_type: typedef
      name: (*DGRAM_SERVER_FN) (int, char *, char **)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/postfix/postfix/src/master/mail_server.h
      type: void
    union: []
- function_names:
  - master_start_service
  - master_stop_service
  - master_restart_service
  source_file: /src/postfix/postfix/src/master/master_service.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - master_unthrottle_wrapper
  - master_unthrottle
  - master_throttle
  - master_spawn
  - master_delete_child
  - master_reap_child
  - MASTER_SENT_SIGNAL
  - master_delete_children
  source_file: /src/postfix/postfix/src/master/master_spawn.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MASTER_KILL_SIGNAL
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/postfix/postfix/src/master/master_spawn.c
      type_or_value: SIGTERM
    structs: []
    typedefs: []
    union: []
- function_names:
  - master_str_watch
  - master_int_watch
  source_file: /src/postfix/postfix/src/master/master_watch.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - master_refresh
  - master_config
  - SWAP
  source_file: /src/postfix/postfix/src/master/master_conf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR_DIFF
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/postfix/postfix/src/master/master_conf.c
      type_or_value: strcmp
    - item_type: preproc_def
      name: STR_SAME
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/postfix/postfix/src/master/master_conf.c
      type_or_value: '!strcmp'
    structs: []
    typedefs: []
    union: []
- function_names:
  - fset_master_ent
  - set_master_ent
  - end_master_ent
  - master_conf_context
  - fatal_with_context
  - fatal_invalid_field
  - get_str_ent
  - get_bool_ent
  - get_int_ent
  - get_master_ent
  - print_master_ent
  - free_master_ent
  source_file: /src/postfix/postfix/src/master/master_ent.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR_SAME
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/postfix/postfix/src/master/master_ent.c
      type_or_value: '!strcmp'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mail_flow_get
  - mail_flow_put
  - mail_flow_count
  source_file: /src/postfix/postfix/src/master/mail_flow.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUFFER_SIZE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/postfix/postfix/src/master/mail_flow.c
      type_or_value: '1024'
    structs: []
    typedefs: []
    union: []
- function_names:
  - dgram_server_exit
  - dgram_server_abort
  - dgram_server_timeout
  - dgram_server_wakeup
  - dgram_server_accept_unix
  - dgram_server_main
  source_file: /src/postfix/postfix/src/master/dgram_server.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - master_sighup
  - master_sigchld
  - master_sighup
  - master_sigchld
  - master_sig_event
  - master_sigdeath
  - master_sigsetup
  source_file: /src/postfix/postfix/src/master/master_sig.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIG_PIPE_WRITE_FD
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/postfix/postfix/src/master/master_sig.c
      type_or_value: master_sig_pipe[1]
    - item_type: preproc_def
      name: SIG_PIPE_READ_FD
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/postfix/postfix/src/master/master_sig.c
      type_or_value: master_sig_pipe[0]
    structs: []
    typedefs: []
    union: []
- function_names:
  - event_server_exit
  - event_server_retire
  - event_server_abort
  - event_server_timeout
  - event_server_drain
  - event_server_disconnect
  - event_server_execute
  - event_server_wakeup
  - event_server_accept_local
  - event_server_accept_pass
  - event_server_accept_inet
  - event_server_main
  source_file: /src/postfix/postfix/src/master/event_server.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: THRESHOLD_FD_WORKAROUND
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/postfix/postfix/src/master/event_server.c
      type_or_value: '128'
    structs: []
    typedefs: []
    union: []
- function_names:
  - master_monitor
  source_file: /src/postfix/postfix/src/master/master_monitor.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - multi_server_exit
  - multi_server_abort
  - multi_server_timeout
  - multi_server_drain
  - multi_server_disconnect
  - multi_server_execute
  - multi_server_enable_read
  - multi_server_wakeup
  - multi_server_accept_local
  - multi_server_accept_pass
  - multi_server_accept_inet
  - multi_server_main
  source_file: /src/postfix/postfix/src/master/multi_server.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: THRESHOLD_FD_WORKAROUND
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/postfix/postfix/src/master/multi_server.c
      type_or_value: '128'
    structs: []
    typedefs: []
    union: []
- function_names:
  - single_server_exit
  - single_server_retire
  - single_server_abort
  - single_server_timeout
  - single_server_wakeup
  - single_server_accept_local
  - single_server_accept_pass
  - single_server_accept_inet
  - single_server_main
  source_file: /src/postfix/postfix/src/master/single_server.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - master_wakeup_timer_event
  - master_wakeup_init
  - master_wakeup_cleanup
  source_file: /src/postfix/postfix/src/master/master_wakeup.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BRIEFLY
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/postfix/postfix/src/master/master_wakeup.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - cleanup_milter_hbc_log
  - cleanup_milter_header_prepend
  - cleanup_milter_hbc_extend
  - STREQUAL
  - CLEANUP_MILTER_REJECTING_OR_DISCARDING_MESSAGE
  - cleanup_milter_header_checks
  - cleanup_milter_hbc_add_meta_records
  - cleanup_milter_header_checks_init
  - cleanup_milter_header_checks_deinit
  - cleanup_milter_header_checks_reinit
  - cleanup_milter_hbc_finish
  - CLEANUP_MILTER_SET_REASON
  - CLEANUP_MILTER_SET_SMTP_REPLY
  - cleanup_milter_set_error
  - cleanup_milter_error
  - cleanup_add_header
  - hidden_header
  - cleanup_find_header_start
  - CLEANUP_FIND_HEADER_RETURN
  - GET_NEXT_TEXT_OR_PTR_RECORD
  - cleanup_find_header_end
  - cleanup_patch_header
  - CLEANUP_PATCH_HEADER_RETURN
  - cleanup_ins_header
  - CLEANUP_INS_HEADER_RETURN
  - cleanup_upd_header
  - CLEANUP_UPD_HEADER_RETURN
  - cleanup_del_header
  - CLEANUP_DEL_HEADER_RETURN
  - cleanup_chg_from
  - cleanup_add_rcpt_par
  - cleanup_add_rcpt
  - cleanup_del_rcpt
  - CLEANUP_DEL_RCPT_RETURN
  - cleanup_repl_body
  - cleanup_milter_eval
  - cleanup_milter_receive
  - cleanup_milter_apply
  - cleanup_milter_client_init
  - cleanup_milter_inspect
  - cleanup_milter_emul_mail
  - cleanup_milter_emul_rcpt
  - cleanup_milter_emul_data
  - cleanup_masquerade_internal
  - cleanup_rewrite_internal
  - cleanup_map11_internal
  - cleanup_map1n_internal
  - cleanup_envelope
  - usage
  - flatten_args
  - open_queue_file
  - close_queue_file
  - main
  source_file: /src/postfix/postfix/src/cleanup/cleanup_milter.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NO_NESTED_HDR_NAME
      pos:
        line_end: 519
        line_start: 518
        source_file: /src/postfix/postfix/src/cleanup/cleanup_milter.c
      type_or_value: '""'
    - item_type: preproc_def
      name: NO_NESTED_HDR_VALUE
      pos:
        line_end: 520
        line_start: 519
        source_file: /src/postfix/postfix/src/cleanup/cleanup_milter.c
      type_or_value: '""'
    - item_type: preproc_def
      name: NO_MIME_HDR_NAME
      pos:
        line_end: 521
        line_start: 520
        source_file: /src/postfix/postfix/src/cleanup/cleanup_milter.c
      type_or_value: '""'
    - item_type: preproc_def
      name: NO_MIME_HDR_VALUE
      pos:
        line_end: 522
        line_start: 521
        source_file: /src/postfix/postfix/src/cleanup/cleanup_milter.c
      type_or_value: '""'
    - item_type: preproc_def
      name: CLEANUP_FIND_HEADER_NOTFOUND
      pos:
        line_end: 859
        line_start: 858
        source_file: /src/postfix/postfix/src/cleanup/cleanup_milter.c
      type_or_value: (-1)
    - item_type: preproc_def
      name: CLEANUP_FIND_HEADER_IOERROR
      pos:
        line_end: 860
        line_start: 859
        source_file: /src/postfix/postfix/src/cleanup/cleanup_milter.c
      type_or_value: (-2)
    - item_type: preproc_def
      name: NO_HEADER_NAME
      pos:
        line_end: 1195
        line_start: 1194
        source_file: /src/postfix/postfix/src/cleanup/cleanup_milter.c
      type_or_value: ((char *) 0)
    - item_type: preproc_def
      name: ALLOW_PTR_BACKUP
      pos:
        line_end: 1196
        line_start: 1195
        source_file: /src/postfix/postfix/src/cleanup/cleanup_milter.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DONT_SAVE_RECORD
      pos:
        line_end: 1271
        line_start: 1270
        source_file: /src/postfix/postfix/src/cleanup/cleanup_milter.c
      type_or_value: '0'
    - item_type: preproc_def
      name: NO_PTR_BACKUP
      pos:
        line_end: 1272
        line_start: 1271
        source_file: /src/postfix/postfix/src/cleanup/cleanup_milter.c
      type_or_value: '0'
    - item_type: preproc_def
      name: CLIENT_ATTR_UNKNOWN
      pos:
        line_end: 1940
        line_start: 1939
        source_file: /src/postfix/postfix/src/cleanup/cleanup_milter.c
      type_or_value: '"unknown"'
    - item_type: preproc_def
      name: SERVER_ATTR_UNKNOWN
      pos:
        line_end: 1941
        line_start: 1940
        source_file: /src/postfix/postfix/src/cleanup/cleanup_milter.c
      type_or_value: '"unknown"'
    - item_type: preproc_def
      name: NO_CLIENT_PORT
      pos:
        line_end: 2145
        line_start: 2144
        source_file: /src/postfix/postfix/src/cleanup/cleanup_milter.c
      type_or_value: '"0"'
    - item_type: preproc_def
      name: PRETEND_ESMTP
      pos:
        line_end: 2254
        line_start: 2253
        source_file: /src/postfix/postfix/src/cleanup/cleanup_milter.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - STREQ
  - cleanup_envelope
  - cleanup_envelope_process
  source_file: /src/postfix/postfix/src/cleanup/cleanup_envelope.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/postfix/postfix/src/cleanup/cleanup_envelope.c
      type_or_value: vstring_str
    structs: []
    typedefs: []
    union: []
- function_names:
  - cleanup_masquerade_external
  - cleanup_masquerade_tree
  - cleanup_masquerade_internal
  - main
  source_file: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/postfix/postfix/src/cleanup/cleanup_masquerade.c
      type_or_value: vstring_str
    structs: []
    typedefs: []
    union: []
- function_names:
  - cleanup_final
  source_file: /src/postfix/postfix/src/cleanup/cleanup_final.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cleanup_rewrite_external
  - cleanup_rewrite_tree
  - cleanup_rewrite_internal
  source_file: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/postfix/postfix/src/cleanup/cleanup_rewrite.c
      type_or_value: vstring_str
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - cleanup_bounce_append
  - cleanup_bounce
  source_file: /src/postfix/postfix/src/cleanup/cleanup_bounce.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LEN
  - cleanup_body_edit_start
  - cleanup_body_edit_write
  - cleanup_body_edit_finish
  source_file: /src/postfix/postfix/src/cleanup/cleanup_body_edit.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cleanup_open
  - cleanup_control
  - cleanup_flush
  - CAN_BOUNCE
  - cleanup_free
  source_file: /src/postfix/postfix/src/cleanup/cleanup_api.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cleanup_all
  - cleanup_sig
  - cleanup_pre_jail
  - cleanup_post_jail
  source_file: /src/postfix/postfix/src/cleanup/cleanup_init.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cleanup_region_alloc
  - cleanup_region_free
  - cleanup_region_init
  - cleanup_region_open
  - cleanup_region_close
  - cleanup_region_return
  - cleanup_region_done
  source_file: /src/postfix/postfix/src/cleanup/cleanup_region.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cleanup_message
  - cleanup_milter_receive
  - cleanup_milter_emul_mail
  - cleanup_milter_emul_rcpt
  - cleanup_addr_sender
  - cleanup_addr_recipient
  - cleanup_region_done
  - overrides_size_fields
  - main
  source_file: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PASS
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c
      type_or_value: '1'
    - item_type: preproc_def
      name: FAIL
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: (*action) (const struct TEST_CASE *)
        type: int
      item_type: struct
      name: TEST_CASE
      pos:
        line_end: 102
        line_start: 99
        source_file: /src/postfix/postfix/src/cleanup/cleanup_envelope_test.c
    typedefs: []
    union: []
- function_names:
  - cleanup_state_alloc
  - cleanup_state_free
  source_file: /src/postfix/postfix/src/cleanup/cleanup_state.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cleanup_addr_sender
  - cleanup_addr_recipient
  - cleanup_addr_bcc_dsn
  source_file: /src/postfix/postfix/src/cleanup/cleanup_addr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/postfix/postfix/src/cleanup/cleanup_addr.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: LEN
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/postfix/postfix/src/cleanup/cleanup_addr.c
      type_or_value: VSTRING_LEN
    - item_type: preproc_def
      name: IGNORE_EXTENSION
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/postfix/postfix/src/cleanup/cleanup_addr.c
      type_or_value: (char **) 0
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - cleanup_extracted
  - cleanup_extracted_process
  - cleanup_extracted_finish
  source_file: /src/postfix/postfix/src/cleanup/cleanup_extracted.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cleanup_trace_append
  - cleanup_verify_append
  - cleanup_out_recipient
  - STREQ
  source_file: /src/postfix/postfix/src/cleanup/cleanup_out_recipient.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cleanup_service
  - pre_accept
  - main
  source_file: /src/postfix/postfix/src/cleanup/cleanup.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - HDRS_SEEN_MASK
  - CLEANUP_RECORD
  - CLEANUP_OUT_BUF
  - CLEANUP_OUT_OK
  - cleanup_addr_bcc
  - CLEANUP_MSG_STATS
  - CLEANUP_MILTER_OK
  source_file: /src/postfix/postfix/src/cleanup/cleanup.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CLEANUP_FLAG_INRCPT
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/postfix/postfix/src/cleanup/cleanup.h
      type_or_value: "(1<<16)\t"
    - item_type: preproc_def
      name: CLEANUP_FLAG_WARN_SEEN
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/postfix/postfix/src/cleanup/cleanup.h
      type_or_value: "(1<<17)\t"
    - item_type: preproc_def
      name: CLEANUP_FLAG_END_SEEN
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/postfix/postfix/src/cleanup/cleanup.h
      type_or_value: "(1<<18)\t"
    - item_type: preproc_def
      name: CLEANUP_CANON_FLAG_ENV_FROM
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/postfix/postfix/src/cleanup/cleanup.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: CLEANUP_CANON_FLAG_ENV_RCPT
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/postfix/postfix/src/cleanup/cleanup.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: CLEANUP_CANON_FLAG_HDR_FROM
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/postfix/postfix/src/cleanup/cleanup.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: CLEANUP_CANON_FLAG_HDR_RCPT
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/postfix/postfix/src/cleanup/cleanup.h
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: CLEANUP_MASQ_FLAG_ENV_FROM
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/postfix/postfix/src/cleanup/cleanup.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: CLEANUP_MASQ_FLAG_ENV_RCPT
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/postfix/postfix/src/cleanup/cleanup.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: CLEANUP_MASQ_FLAG_HDR_FROM
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/postfix/postfix/src/cleanup/cleanup.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: CLEANUP_MASQ_FLAG_HDR_RCPT
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/postfix/postfix/src/cleanup/cleanup.h
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: NO_DSN_ORCPT
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/postfix/postfix/src/cleanup/cleanup.h
      type_or_value: ((char *) 0)
    - item_type: preproc_def
      name: NO_DSN_NOTIFY
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/postfix/postfix/src/cleanup/cleanup.h
      type_or_value: DSN_NOTIFY_NEVER
    - item_type: preproc_def
      name: DEF_DSN_NOTIFY
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/postfix/postfix/src/cleanup/cleanup.h
      type_or_value: (0)
    structs:
    - fields:
      - name: '*attr_buf'
        type: VSTRING
      - name: '*temp1'
        type: VSTRING
      - name: '*temp2'
        type: VSTRING
      - name: '*temp3'
        type: VSTRING
      - name: '*stripped_buf'
        type: VSTRING
      - name: '*src'
        type: VSTREAM
      - name: '*dst'
        type: VSTREAM
      - name: '*handle'
        type: MAIL_STREAM
      - name: '*queue_name'
        type: char
      - name: '*queue_id'
        type: char
      - name: arrival_time
        type: struct timeval
      - name: '*fullname'
        type: char
      - name: '*sender'
        type: char
      - name: '*recip'
        type: char
      - name: '*orig_rcpt'
        type: char
      - name: '*return_receipt'
        type: char
      - name: '*errors_to'
        type: char
      - name: '*auto_hdrs'
        type: ARGV
      - name: '*hbc_rcpt'
        type: ARGV
      - name: flags
        type: int
      - name: tflags
        type: int
      - name: qmgr_opts
        type: int
      - name: errs
        type: int
      - name: err_mask
        type: int
      - name: headers_seen
        type: uint64_t
      - name: hop_count
        type: int
      - name: '*resent'
        type: char
      - name: '*dups'
        type: BH_TABLE
      - name: (*action) (struct CLEANUP_STATE *, int, const char *, ssize_t)
        type: void
      - name: data_offset
        type: off_t
      - name: body_offset
        type: off_t
      - name: xtra_offset
        type: off_t
      - name: cont_length
        type: off_t
      - name: sender_pt_offset
        type: off_t
      - name: sender_pt_target
        type: off_t
      - name: append_rcpt_pt_offset
        type: off_t
      - name: append_rcpt_pt_target
        type: off_t
      - name: append_hdr_pt_offset
        type: off_t
      - name: append_hdr_pt_target
        type: off_t
      - name: append_meta_pt_offset
        type: off_t
      - name: append_meta_pt_target
        type: off_t
      - name: rcpt_count
        type: ssize_t
      - name: '*reason'
        type: char
      - name: '*smtp_reply'
        type: char
      - name: '*attr'
        type: NVTABLE
      - name: '*mime_state'
        type: MIME_STATE
      - name: mime_errs
        type: int
      - name: '*hdr_rewrite_context'
        type: char
      - name: '*filter'
        type: char
      - name: '*redirect'
        type: char
      - name: '*message_id'
        type: char
      - name: '*dsn_envid'
        type: char
      - name: dsn_ret
        type: int
      - name: dsn_notify
        type: int
      - name: '*dsn_orcpt'
        type: char
      - name: '*verp_delims'
        type: char
      - name: '*milters'
        type: MILTERS
      - name: '*client_name'
        type: char
      - name: '*reverse_name'
        type: char
      - name: '*client_addr'
        type: char
      - name: client_af
        type: int
      - name: '*client_port'
        type: char
      - name: '*server_addr'
        type: char
      - name: '*server_port'
        type: char
      - name: '*milter_ext_from'
        type: VSTRING
      - name: '*milter_ext_rcpt'
        type: VSTRING
      - name: '*milter_err_text'
        type: VSTRING
      - name: '*milter_dsn_buf'
        type: VSTRING
      - name: '*free_regions'
        type: struct CLEANUP_REGION
      - name: '*body_regions'
        type: struct CLEANUP_REGION
      - name: '*curr_body_region'
        type: struct CLEANUP_REGION
      - name: sendopts
        type: int
      item_type: struct
      name: CLEANUP_STATE
      pos:
        line_end: 135
        line_start: 47
        source_file: /src/postfix/postfix/src/cleanup/cleanup.h
    - fields:
      - name: start
        type: off_t
      - name: len
        type: off_t
      - name: write_offs
        type: off_t
      - name: '*next'
        type: struct CLEANUP_REGION
      item_type: struct
      name: CLEANUP_REGION
      pos:
        line_end: 345
        line_start: 340
        source_file: /src/postfix/postfix/src/cleanup/cleanup.h
    typedefs: []
    union: []
- function_names:
  - cleanup_map1n_internal
  - UPDATE
  - RETURN
  - UNEXPAND
  source_file: /src/postfix/postfix/src/cleanup/cleanup_map1n.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/postfix/postfix/src/cleanup/cleanup_map1n.c
      type_or_value: vstring_str
    structs: []
    typedefs: []
    union: []
- function_names:
  - cleanup_out
  - TEXT_RECORD
  - cleanup_out_string
  - cleanup_out_format
  - cleanup_out_header
  source_file: /src/postfix/postfix/src/cleanup/cleanup_out.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/postfix/postfix/src/cleanup/cleanup_out.c
      type_or_value: vstring_str
    structs: []
    typedefs: []
    union: []
- function_names:
  - cleanup_fold_header
  - cleanup_extract_internal
  - cleanup_rewrite_sender
  - cleanup_rewrite_recip
  - cleanup_act_log
  - cleanup_act
  - STREQUAL
  - cleanup_header_callback
  - CHECK
  - get_fullname_hdr_text
  - cleanup_header_done_callback
  - cleanup_body_callback
  - cleanup_message_headerbody
  - cleanup_mime_error_callback
  - cleanup_message
  source_file: /src/postfix/postfix/src/cleanup/cleanup_message.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CLEANUP_ACT_CTXT_HEADER
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/postfix/postfix/src/cleanup/cleanup_message.c
      type_or_value: '"header"'
    - item_type: preproc_def
      name: CLEANUP_ACT_CTXT_BODY
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/postfix/postfix/src/cleanup/cleanup_message.c
      type_or_value: '"body"'
    - item_type: preproc_def
      name: CLEANUP_ACT_CTXT_ANY
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/postfix/postfix/src/cleanup/cleanup_message.c
      type_or_value: '"content"'
    - item_type: preproc_def
      name: CLEANUP_ACT_DROP
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/postfix/postfix/src/cleanup/cleanup_message.c
      type_or_value: '0'
    - item_type: preproc_def
      name: VISIBLE_RCPT
      pos:
        line_end: 887
        line_start: 883
        source_file: /src/postfix/postfix/src/cleanup/cleanup_message.c
      type_or_value: "(HDRS_SEEN_MASK(HDR_TO) \\\n\t\t\t| HDRS_SEEN_MASK(HDR_RESENT_TO)
        \\\n\t\t\t| HDRS_SEEN_MASK(HDR_CC) \\\n\t\t\t| HDRS_SEEN_MASK(HDR_RESENT_CC))"
    - item_type: preproc_def
      name: TEXT_LEN
      pos:
        line_end: 1091
        line_start: 1090
        source_file: /src/postfix/postfix/src/cleanup/cleanup_message.c
      type_or_value: '(len < 100 ? (int) len : 100)'
    - item_type: preproc_def
      name: KLUDGE_HEADER_LIMIT
      pos:
        line_end: 1155
        line_start: 1154
        source_file: /src/postfix/postfix/src/cleanup/cleanup_message.c
      type_or_value: '60000'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*encoding'
        type: char
      item_type: struct
      name: code_map
      pos:
        line_end: 509
        line_start: 506
        source_file: /src/postfix/postfix/src/cleanup/cleanup_message.c
    typedefs: []
    union: []
- function_names:
  - cleanup_map11_external
  - cleanup_map11_tree
  - cleanup_map11_internal
  source_file: /src/postfix/postfix/src/cleanup/cleanup_map11.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/postfix/postfix/src/cleanup/cleanup_map11.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: MAX_RECURSION
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/postfix/postfix/src/cleanup/cleanup_map11.c
      type_or_value: '10'
    structs: []
    typedefs: []
    union: []
- function_names:
  - auto_clnt_event
  - auto_clnt_ttl_event
  - auto_clnt_open
  - auto_clnt_close
  - auto_clnt_recover
  - auto_clnt_access
  - auto_clnt_create
  - auto_clnt_name
  - auto_clnt_free
  - auto_clnt_control
  source_file: /src/postfix/postfix/src/util/auto_clnt.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*vstream'
        type: VSTREAM
      - name: '*endpoint'
        type: char
      - name: timeout
        type: int
      - name: max_idle
        type: int
      - name: max_ttl
        type: int
      - name: handshake
        type: AUTO_CLNT_HANDSHAKE_FN
      - name: (*connect) (const char *, int, int)
        type: int
      item_type: struct
      name: AUTO_CLNT
      pos:
        line_end: 148
        line_start: 140
        source_file: /src/postfix/postfix/src/util/auto_clnt.c
    typedefs: []
    union: []
- function_names:
  - STR
  - dict_tcp_connect
  - dict_tcp_disconnect
  - dict_tcp_lookup
  - RETURN
  - dict_tcp_close
  - dict_tcp_open
  source_file: /src/postfix/postfix/src/util/dict_tcp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TCP_MAXTRY
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/postfix/postfix/src/util/dict_tcp.c
      type_or_value: "10\t\t"
    - item_type: preproc_def
      name: DICT_TCP_TMOUT
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/postfix/postfix/src/util/dict_tcp.c
      type_or_value: "100\t\t"
    - item_type: preproc_def
      name: DICT_TCP_MAXLEN
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/postfix/postfix/src/util/dict_tcp.c
      type_or_value: "4096\t\t"
    structs:
    - fields:
      - name: dict
        type: DICT
      - name: '*raw_buf'
        type: VSTRING
      - name: '*hex_buf'
        type: VSTRING
      - name: '*fp'
        type: VSTREAM
      item_type: struct
      name: DICT_TCP
      pos:
        line_end: 106
        line_start: 101
        source_file: /src/postfix/postfix/src/util/dict_tcp.c
    typedefs: []
    union: []
- function_names:
  - allspace
  source_file: /src/postfix/postfix/src/util/allspace.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/sigdelay.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dict_ht_delete
  - dict_ht_lookup
  - dict_ht_update
  - dict_ht_sequence
  - dict_ht_close
  - dict_ht_open
  source_file: /src/postfix/postfix/src/util/dict_ht.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dict
        type: DICT
      - name: '*table'
        type: HTABLE
      item_type: struct
      name: DICT_HT
      pos:
        line_end: 48
        line_start: 45
        source_file: /src/postfix/postfix/src/util/dict_ht.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/mac_parse.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAC_PARSE_LITERAL
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/util/mac_parse.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MAC_PARSE_EXPR
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/util/mac_parse.h
      type_or_value: '2'
    - item_type: preproc_def
      name: MAC_PARSE_VARNAME
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postfix/postfix/src/util/mac_parse.h
      type_or_value: "MAC_PARSE_EXPR\t"
    - item_type: preproc_def
      name: MAC_PARSE_OK
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postfix/postfix/src/util/mac_parse.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MAC_PARSE_ERROR
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/util/mac_parse.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: MAC_PARSE_UNDEF
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/util/mac_parse.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: MAC_PARSE_USER
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/util/mac_parse.h
      type_or_value: "2\t"
    structs: []
    typedefs:
    - item_type: typedef
      name: (*MAC_PARSE_FN) (int, VSTRING *, void *)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/postfix/postfix/src/util/mac_parse.h
      type: int
    union: []
- function_names:
  - load_library_symbols
  source_file: /src/postfix/postfix/src/util/load_lib.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: '*dptr'
        type: void
      - name: (*fptr) (void)
        type: void
      item_type: union
      name: non_portable_union
      pos:
        line_end: 89
        line_start: 86
        source_file: /src/postfix/postfix/src/util/load_lib.c
- function_names:
  - unix_connect
  source_file: /src/postfix/postfix/src/util/unix_connect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/sane_socketpair.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/safe.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - lowercase
  source_file: /src/postfix/postfix/src/util/lowercase.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/msg_output.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MSG_INFO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/util/msg_output.h
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: MSG_WARN
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/util/msg_output.h
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: MSG_ERROR
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/util/msg_output.h
      type_or_value: "2\t\t"
    - item_type: preproc_def
      name: MSG_FATAL
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postfix/postfix/src/util/msg_output.h
      type_or_value: "3\t\t"
    - item_type: preproc_def
      name: MSG_PANIC
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/util/msg_output.h
      type_or_value: "4\t\t"
    - item_type: preproc_def
      name: MSG_LAST
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postfix/postfix/src/util/msg_output.h
      type_or_value: "4\t\t"
    structs: []
    typedefs:
    - item_type: typedef
      name: (*MSG_OUTPUT_FN) (int, const char *)
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/postfix/postfix/src/util/msg_output.h
      type: void
    union: []
- function_names:
  - DICT_OWNER_AGGREGATE_INIT
  - DICT_OWNER_AGGREGATE_UPDATE
  - DICT_NEED_UTF8_ACTIVATION
  - DICT_ERR_VAL_RETURN
  - dict_get
  - dict_put
  - dict_del
  - dict_seq
  - dict_close
  - dict_setjmp
  - dict_longjmp
  - dict_setjmp
  - dict_longjmp
  - dict_isjmp
  source_file: /src/postfix/postfix/src/util/dict.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_JMP_BUF
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: jmp_buf
    - item_type: preproc_def
      name: DICT_JMP_BUF
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: sigjmp_buf
    - item_type: preproc_def
      name: DICT_OWNER_UNKNOWN
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(-1)\t"
    - item_type: preproc_def
      name: DICT_OWNER_TRUSTED
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(!1)\t"
    - item_type: preproc_def
      name: DICT_OWNER_UNTRUSTED
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(!0)\t"
    - item_type: preproc_def
      name: DICT_FLAG_NONE
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: (0)
    - item_type: preproc_def
      name: DICT_FLAG_DUP_WARN
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: DICT_FLAG_DUP_IGNORE
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: DICT_FLAG_TRY0NULL
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: DICT_FLAG_TRY1NULL
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: DICT_FLAG_FIXED
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(1<<4)\t"
    - item_type: preproc_def
      name: DICT_FLAG_PATTERN
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(1<<5)\t"
    - item_type: preproc_def
      name: DICT_FLAG_LOCK
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(1<<6)\t"
    - item_type: preproc_def
      name: DICT_FLAG_DUP_REPLACE
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(1<<7)\t"
    - item_type: preproc_def
      name: DICT_FLAG_SYNC_UPDATE
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(1<<8)\t"
    - item_type: preproc_def
      name: DICT_FLAG_NO_REGSUB
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(1<<11)\t"
    - item_type: preproc_def
      name: DICT_FLAG_NO_PROXY
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(1<<12)\t"
    - item_type: preproc_def
      name: DICT_FLAG_NO_UNAUTH
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(1<<13)\t"
    - item_type: preproc_def
      name: DICT_FLAG_FOLD_FIX
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(1<<14)\t"
    - item_type: preproc_def
      name: DICT_FLAG_FOLD_MUL
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(1<<15)\t"
    - item_type: preproc_def
      name: DICT_FLAG_FOLD_ANY
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: (DICT_FLAG_FOLD_FIX | DICT_FLAG_FOLD_MUL)
    - item_type: preproc_def
      name: DICT_FLAG_OPEN_LOCK
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(1<<16)\t"
    - item_type: preproc_def
      name: DICT_FLAG_BULK_UPDATE
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(1<<17)\t"
    - item_type: preproc_def
      name: DICT_FLAG_MULTI_WRITER
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(1<<18)\t"
    - item_type: preproc_def
      name: DICT_FLAG_UTF8_REQUEST
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(1<<19)\t"
    - item_type: preproc_def
      name: DICT_FLAG_UTF8_ACTIVE
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(1<<20)\t"
    - item_type: preproc_def
      name: DICT_FLAG_SRC_RHS_IS_FILE
      pos:
        line_end: 134
        line_start: 132
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(1<<21)\t"
    - item_type: preproc_def
      name: DICT_FLAG_UTF8_MASK
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: (DICT_FLAG_UTF8_REQUEST)
    - item_type: preproc_def
      name: DICT_FLAG_PARANOID
      pos:
        line_end: 149
        line_start: 147
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: (DICT_FLAG_NO_REGSUB | DICT_FLAG_NO_PROXY | DICT_FLAG_NO_UNAUTH)
    - item_type: preproc_def
      name: DICT_ERR_NONE
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: DICT_ERR_RETRY
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(-1)\t\t"
    - item_type: preproc_def
      name: DICT_ERR_CONFIG
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(-2)\t\t"
    - item_type: preproc_def
      name: DICT_STAT_FAIL
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: DICT_STAT_SUCCESS
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: DICT_STAT_ERROR
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "(-1)\t"
    - item_type: preproc_def
      name: DICT_SEQ_FUN_FIRST
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: DICT_SEQ_FUN_NEXT
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: DICT_TYPE_NOFILE
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: '"non-existent"'
    - item_type: preproc_def
      name: DICT_TYPE_NOUTF8
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/postfix/postfix/src/util/dict.h
      type_or_value: '"non-UTF-8"'
    structs:
    - fields:
      - name: status
        type: int
      - name: uid
        type: uid_t
      item_type: struct
      name: DICT_OWNER
      pos:
        line_end: 40
        line_start: 37
        source_file: /src/postfix/postfix/src/util/dict.h
    - fields:
      - name: '*type'
        type: char
      - name: '*name'
        type: char
      - name: flags
        type: int
      - name: '*(*lookup) (struct DICT *, const char *)'
        type: char
      - name: (*update) (struct DICT *, const char *, const char *)
        type: int
      - name: (*delete) (struct DICT *, const char *)
        type: int
      - name: (*sequence) (struct DICT *, int, const char **, const char **)
        type: int
      - name: (*lock) (struct DICT *, int)
        type: int
      - name: (*close) (struct DICT *)
        type: void
      - name: lock_type
        type: int
      - name: lock_fd
        type: int
      - name: stat_fd
        type: int
      - name: mtime
        type: time_t
      - name: '*fold_buf'
        type: VSTRING
      - name: owner
        type: DICT_OWNER
      - name: error
        type: int
      - name: '*jbuf'
        type: DICT_JMP_BUF
      - name: '*utf8_backup'
        type: struct DICT_UTF8_BACKUP
      - name: '*file_buf'
        type: struct VSTRING
      - name: '*file_b64'
        type: struct VSTRING
      - name: '*reg_name'
        type: char
      - name: (*saved_close) (struct DICT *)
        type: void
      item_type: struct
      name: DICT
      pos:
        line_end: 101
        line_start: 78
        source_file: /src/postfix/postfix/src/util/dict.h
    - fields:
      - name: '*type'
        type: char
      - name: dict_fn
        type: DICT_OPEN_FN
      - name: '*(*mkmap_fn) (const char *)'
        type: struct MKMAP
      item_type: struct
      name: DICT_OPEN_INFO
      pos:
        line_end: 216
        line_start: 212
        source_file: /src/postfix/postfix/src/util/dict.h
    - fields:
      - name: '*(*lookup) (struct DICT *, const char *)'
        type: char
      - name: (*update) (struct DICT *, const char *, const char *)
        type: int
      - name: (*delete) (struct DICT *, const char *)
        type: int
      item_type: struct
      name: DICT_UTF8_BACKUP
      pos:
        line_end: 244
        line_start: 240
        source_file: /src/postfix/postfix/src/util/dict.h
    typedefs:
    - item_type: typedef
      name: (*DICT_MAPNAMES_EXTEND_FN) (ARGV *)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/postfix/postfix/src/util/dict.h
      type: void
    - item_type: typedef
      name: '*(*DICT_OPEN_FN) (const char *, int, int)'
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/postfix/postfix/src/util/dict.h
    - item_type: typedef
      name: '*(*DICT_OPEN_EXTEND_FN) (const char *)'
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/postfix/postfix/src/util/dict.h
    - item_type: typedef
      name: (*DICT_WALK_ACTION) (const char *, DICT *, void *)
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/postfix/postfix/src/util/dict.h
      type: void
    union: []
- function_names:
  - dict_thash_open
  - DICT_THASH_OPEN_RETURN
  source_file: /src/postfix/postfix/src/util/dict_thash.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/postfix/postfix/src/util/dict_thash.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: LEN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/postfix/postfix/src/util/dict_thash.c
      type_or_value: VSTRING_LEN
    structs: []
    typedefs: []
    union: []
- function_names:
  - find_inet_addr
  - find_inet_port
  - STR
  - vstream_swap
  - test_msg_fatal
  - main
  source_file: /src/postfix/postfix/src/util/find_inet.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INADDR_NONE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/postfix/postfix/src/util/find_inet.c
      type_or_value: '0xffffffff'
    - item_type: preproc_def
      name: msg_fatal
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/postfix/postfix/src/util/find_inet.c
      type_or_value: test_msg_fatal
    structs:
    - fields:
      - name: '*lhs'
        type: char
      - name: '*rhs'
        type: char
      item_type: struct
      name: association
      pos:
        line_end: 154
        line_start: 151
        source_file: /src/postfix/postfix/src/util/find_inet.c
    - fields:
      - name: '*label'
        type: char
      - name: associations[10]
        type: struct association
      - name: '*service'
        type: char
      - name: '*proto'
        type: char
      - name: '*exp_warning'
        type: char
      - name: exp_hport
        type: int
      item_type: struct
      name: test_case
      pos:
        line_end: 163
        line_start: 156
        source_file: /src/postfix/postfix/src/util/find_inet.c
    typedefs: []
    union: []
- function_names:
  - sane_time
  - main
  source_file: /src/postfix/postfix/src/util/sane_time.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SLEW_FACTOR
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/postfix/postfix/src/util/sane_time.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - timed_connect
  source_file: /src/postfix/postfix/src/util/timed_connect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mask_addr
  source_file: /src/postfix/postfix/src/util/mask_addr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dummy_write
  source_file: /src/postfix/postfix/src/util/dummy_write.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stream_recv_fd
  - main
  source_file: /src/postfix/postfix/src/util/stream_recv_fd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/dict_regexp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_REGEXP
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/util/dict_regexp.h
      type_or_value: '"regexp"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - DC_SCHEDULE_FOR_DELETE_BEHIND
  - DC_MATCH_SAVED_CURRENT_KEY
  - DC_IS_SCHEDULED_FOR_DELETE_BEHIND
  - DC_CANCEL_DELETE_BEHIND
  - dict_cache_lookup
  - dict_cache_update
  - dict_cache_delete
  - dict_cache_sequence
  - dict_cache_delete_behind_reset
  - FREE_AND_WIPE
  - dict_cache_clean_stat_log_reset
  - dict_cache_clean_event
  - dict_cache_control
  - NEXT_START
  - dict_cache_open
  - dict_cache_close
  - dict_cache_name
  - dict_cache_error
  - STR
  - usage
  - make_tagged_key
  - create_requests
  - reset_requests
  - free_requests
  - run_requests
  - show_status
  - query_action
  - update_action
  - delete_action
  - iter_action
  - add_request
  - main
  source_file: /src/postfix/postfix/src/util/dict_cache.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DC_FLAG_DEL_SAVED_CURRENT_KEY
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/postfix/postfix/src/util/dict_cache.c
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: DC_DEF_LOG_DELAY
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/postfix/postfix/src/util/dict_cache.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DC_LAST_CACHE_CLEANUP_COMPLETED
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/postfix/postfix/src/util/dict_cache.c
      type_or_value: '"_LAST_CACHE_CLEANUP_COMPLETED_"'
    - item_type: preproc_def
      name: NOW
      pos:
        line_end: 601
        line_start: 600
        source_file: /src/postfix/postfix/src/util/dict_cache.c
      type_or_value: "(time((time_t *) 0))\t\t"
    - item_type: preproc_def
      name: DELIMS
      pos:
        line_end: 716
        line_start: 715
        source_file: /src/postfix/postfix/src/util/dict_cache.c
      type_or_value: '" "'
    - item_type: preproc_def
      name: USAGE
      pos:
        line_end: 731
        line_start: 716
        source_file: /src/postfix/postfix/src/util/dict_cache.c
      type_or_value: "\"\\n\\tTo manage settings:\" \\\n\t\t\"\\n\\tverbose <level>
        (verbosity level)\" \\\n\t\t\"\\n\\telapsed <level> (0=don't show elapsed
        time)\" \\\n\t\t\"\\n\\tlmdb_map_size <limit> (initial LMDB size limit)\"
        \\\n\t\t\"\\n\\tcache <type>:<name> (switch to named database)\" \\\n\t\t\"\\n\\tstatus
        (show map size, cache, pending requests)\" \\\n\t\t\"\\n\\n\\tTo manage pending
        requests:\" \\\n\t\t\"\\n\\treset (discard pending requests)\" \\\n\t\t\"\\n\\trun
        (execute pending requests in interleaved order)\" \\\n\t\t\"\\n\\n\\tTo add
        a pending request:\" \\\n\t\t\"\\n\\tquery <key-suffix> <count> (negative
        to reverse order)\" \\\n\t\t\"\\n\\tupdate <key-suffix> <count> (negative
        to reverse order)\" \\\n\t\t\"\\n\\tdelete <key-suffix> <count> (negative
        to reverse order)\" \\\n\t\t\"\\n\\tpurge <key-suffix>\" \\\n\t\t\"\\n\\tcount
        <key-suffix>\""
    - item_type: preproc_def
      name: DICT_CACHE_OPEN_FLAGS
      pos:
        line_end: 738
        line_start: 736
        source_file: /src/postfix/postfix/src/util/dict_cache.c
      type_or_value: "(DICT_FLAG_DUP_REPLACE | DICT_FLAG_SYNC_UPDATE | \\\n\tDICT_FLAG_OPEN_LOCK)"
    - item_type: preproc_def
      name: DICT_CACHE_SREQ_FLAG_PURGE
      pos:
        line_end: 753
        line_start: 752
        source_file: /src/postfix/postfix/src/util/dict_cache.c
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: DICT_CACHE_SREQ_FLAG_REVERSE
      pos:
        line_end: 754
        line_start: 753
        source_file: /src/postfix/postfix/src/util/dict_cache.c
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: DICT_CACHE_SREQ_LIMIT
      pos:
        line_end: 756
        line_start: 755
        source_file: /src/postfix/postfix/src/util/dict_cache.c
      type_or_value: '10'
    - item_type: preproc_def
      name: DICT_CACHE_TEST_FLAG_ITER
      pos:
        line_end: 768
        line_start: 767
        source_file: /src/postfix/postfix/src/util/dict_cache.c
      type_or_value: "(1<<0)\t"
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: cache_flags
        type: int
      - name: user_flags
        type: int
      - name: '*db'
        type: DICT
      - name: error
        type: int
      - name: '*saved_curr_key'
        type: char
      - name: '*saved_curr_val'
        type: char
      - name: exp_interval
        type: int
      - name: exp_validator
        type: DICT_CACHE_VALIDATOR_FN
      - name: '*exp_context'
        type: void
      - name: retained
        type: int
      - name: dropped
        type: int
      - name: log_delay
        type: int
      - name: upd_log_stamp
        type: time_t
      - name: get_log_stamp
        type: time_t
      - name: del_log_stamp
        type: time_t
      - name: seq_log_stamp
        type: time_t
      item_type: struct
      name: DICT_CACHE
      pos:
        line_end: 243
        line_start: 219
        source_file: /src/postfix/postfix/src/util/dict_cache.c
    - fields:
      - name: flags
        type: int
      - name: '*cmd'
        type: char
      - name: (*action) (struct DICT_CACHE_SREQ *, DICT_CACHE *, VSTRING *)
        type: void
      - name: '*suffix'
        type: char
      - name: done
        type: int
      - name: todo
        type: int
      - name: first_next
        type: int
      item_type: struct
      name: DICT_CACHE_SREQ
      pos:
        line_end: 750
        line_start: 742
        source_file: /src/postfix/postfix/src/util/dict_cache.c
    - fields:
      - name: flags
        type: int
      - name: size
        type: int
      - name: used
        type: int
      - name: job_list[1]
        type: DICT_CACHE_SREQ
      item_type: struct
      name: DICT_CACHE_TEST
      pos:
        line_end: 765
        line_start: 760
        source_file: /src/postfix/postfix/src/util/dict_cache.c
    - fields:
      - name: '*name'
        type: char
      - name: argc
        type: int
      - name: (*action) (DICT_CACHE_SREQ *, DICT_CACHE *, VSTRING *)
        type: void
      - name: test_flags
        type: int
      - name: req_flags
        type: int
      item_type: struct
      name: DICT_CACHE_SREQ_INFO
      pos:
        line_end: 1005
        line_start: 999
        source_file: /src/postfix/postfix/src/util/dict_cache.c
    typedefs: []
    union: []
- function_names:
  - make_uchar_vector
  - make_unsigned_vector
  - inet_proto_free
  - inet_proto_init
  - print_unsigned_vector
  - print_uchar_vector
  - main
  source_file: /src/postfix/postfix/src/util/inet_proto.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INET_PROTO_MASK_IPV4
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/postfix/postfix/src/util/inet_proto.c
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: INET_PROTO_MASK_IPV6
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/postfix/postfix/src/util/inet_proto.c
      type_or_value: (1<<1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - SCOPY
  - dict_dbm_lookup
  - dict_dbm_update
  - dict_dbm_delete
  - dict_dbm_sequence
  - dict_dbm_close
  - dict_dbm_open
  - DICT_DBM_OPEN_RETURN
  source_file: /src/postfix/postfix/src/util/dict_dbm.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dict
        type: DICT
      - name: '*dbm'
        type: DBM
      - name: '*key_buf'
        type: VSTRING
      - name: '*val_buf'
        type: VSTRING
      item_type: struct
      name: DICT_DBM
      pos:
        line_end: 71
        line_start: 66
        source_file: /src/postfix/postfix/src/util/dict_dbm.c
    typedefs: []
    union: []
- function_names:
  - perrorexit
  - cleanup
  - perrorcleanup
  - readable_event
  - main
  source_file: /src/postfix/postfix/src/util/fifo_rdonly_bug.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FIFO_PATH
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/util/fifo_rdonly_bug.c
      type_or_value: '"test-fifo"'
    - item_type: preproc_def
      name: TRIGGER_DELAY
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postfix/postfix/src/util/fifo_rdonly_bug.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - dict_ni_do_lookup
  - dict_ni_lookup
  - dict_ni_close
  - dict_ni_open
  source_file: /src/postfix/postfix/src/util/dict_ni.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NETINFO_PROP_KEY
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/postfix/postfix/src/util/dict_ni.c
      type_or_value: '"name"'
    - item_type: preproc_def
      name: NETINFO_PROP_VALUE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/postfix/postfix/src/util/dict_ni.c
      type_or_value: '"members"'
    - item_type: preproc_def
      name: NETINFO_VALUE_SEP
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/postfix/postfix/src/util/dict_ni.c
      type_or_value: '","'
    - item_type: preproc_def
      name: NETINFO_MAX_DOMAIN_DEPTH
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/postfix/postfix/src/util/dict_ni.c
      type_or_value: '100'
    structs:
    - fields:
      - name: dict
        type: DICT
      - name: '*path'
        type: char
      item_type: struct
      name: DICT_NI
      pos:
        line_end: 51
        line_start: 48
        source_file: /src/postfix/postfix/src/util/dict_ni.c
    typedefs: []
    union: []
- function_names:
  - mkmap_append
  source_file: /src/postfix/postfix/src/util/mkmap.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*(*open) (const char *, int, int)'
        type: struct DICT
      - name: '*dict'
        type: struct DICT
      - name: (*after_open) (struct MKMAP *)
        type: void
      - name: (*after_close) (struct MKMAP *)
        type: void
      - name: multi_writer
        type: int
      item_type: struct
      name: MKMAP
      pos:
        line_end: 24
        line_start: 18
        source_file: /src/postfix/postfix/src/util/mkmap.h
    typedefs:
    - item_type: typedef
      name: '*(*MKMAP_OPEN_FN) (const char *)'
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/postfix/postfix/src/util/mkmap.h
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/chroot_uid.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vstream_parse_args
  - vstream_popen
  - vstream_pclose
  - main
  source_file: /src/postfix/postfix/src/util/vstream_popen.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '**argv'
        type: char
      - name: '*command'
        type: char
      - name: uid
        type: uid_t
      - name: gid
        type: gid_t
      - name: privileged
        type: int
      - name: '**env'
        type: char
      - name: '**export'
        type: char
      - name: '*shell'
        type: char
      - name: waitpid_fn
        type: VSTREAM_WAITPID_FN
      item_type: struct
      name: VSTREAM_POPEN_ARGS
      pos:
        line_end: 120
        line_start: 110
        source_file: /src/postfix/postfix/src/util/vstream_popen.c
    typedefs: []
    union: []
- function_names:
  - CHECK_IN_PTR
  - CHECK_OUT_PTR
  - SPACE_FOR
  - mymalloc
  - myrealloc
  - mystrdup
  - mystrndup
  - mymemdup
  source_file: /src/postfix/postfix/src/util/mymalloc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIGNATURE
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/postfix/postfix/src/util/mymalloc.c
      type_or_value: '0xdead'
    - item_type: preproc_def
      name: FILLER
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/postfix/postfix/src/util/mymalloc.c
      type_or_value: '0xff'
    structs:
    - fields:
      - name: signature
        type: int
      - name: length
        type: ssize_t
      - name: u
        type: "union {\n\tALIGN_TYPE align;\n\tchar    payload[1];\t\t/* actually
          a bunch of bytes */\n    }"
      item_type: struct
      name: MBLOCK
      pos:
        line_end: 107
        line_start: 100
        source_file: /src/postfix/postfix/src/util/mymalloc.c
    typedefs: []
    union: []
- function_names:
  - dict_fail_sequence
  - dict_fail_update
  - dict_fail_lookup
  - dict_fail_delete
  - dict_fail_close
  - dict_fail_open
  source_file: /src/postfix/postfix/src/util/dict_fail.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dict
        type: DICT
      - name: dict_errno
        type: int
      item_type: struct
      name: DICT_FAIL
      pos:
        line_end: 45
        line_start: 42
        source_file: /src/postfix/postfix/src/util/dict_fail.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/myflock.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MYFLOCK_STYLE_FLOCK
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/util/myflock.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MYFLOCK_STYLE_FCNTL
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/util/myflock.h
      type_or_value: '2'
    - item_type: preproc_def
      name: MYFLOCK_OP_NONE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/util/myflock.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MYFLOCK_OP_SHARED
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/util/myflock.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MYFLOCK_OP_EXCLUSIVE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postfix/postfix/src/util/myflock.h
      type_or_value: '2'
    - item_type: preproc_def
      name: MYFLOCK_OP_NOWAIT
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/util/myflock.h
      type_or_value: '4'
    - item_type: preproc_def
      name: MYFLOCK_OP_BITS
      pos:
        line_end: 34
        line_start: 32
        source_file: /src/postfix/postfix/src/util/myflock.h
      type_or_value: (MYFLOCK_OP_SHARED | MYFLOCK_OP_EXCLUSIVE | MYFLOCK_OP_NOWAIT)
    structs: []
    typedefs: []
    union: []
- function_names:
  - ial_socket
  - ial_getifaddrs
  - NEXT_INTERFACE
  - LIFREQ_SIZE
  - ial_siocglif
  - NEXT_INTERFACE
  - IFREQ_SIZE
  - NEXT_INTERFACE
  - IFREQ_SIZE
  - NEXT_INTERFACE
  - IFREQ_SIZE
  - ial_siocgif
  - ial_procnet_ifinet6
  - inet_addr_local
  - main
  source_file: /src/postfix/postfix/src/util/inet_addr_local.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/dict_nisplus.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_NISPLUS
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/util/dict_nisplus.h
      type_or_value: '"nisplus"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - DICT_SOCKMAP_RH_NAME
  - DICT_SOCKMAP_RH_HANDLE
  - DICT_SOCKMAP_RH_REFCOUNT
  - STR
  - LEN
  - dict_sockmap_lookup
  - dict_sockmap_close
  - dict_sockmap_open
  - DICT_SOCKMAP_OPEN_RETURN
  source_file: /src/postfix/postfix/src/util/dict_sockmap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_SOCKMAP_DEF_TIMEOUT
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/postfix/postfix/src/util/dict_sockmap.c
      type_or_value: "100\t"
    - item_type: preproc_def
      name: DICT_SOCKMAP_DEF_MAX_REPLY
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/postfix/postfix/src/util/dict_sockmap.c
      type_or_value: "100000\t"
    - item_type: preproc_def
      name: DICT_SOCKMAP_DEF_MAX_IDLE
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/postfix/postfix/src/util/dict_sockmap.c
      type_or_value: "10\t"
    - item_type: preproc_def
      name: DICT_SOCKMAP_DEF_MAX_TTL
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/postfix/postfix/src/util/dict_sockmap.c
      type_or_value: "100\t"
    - item_type: preproc_def
      name: DICT_SOCKMAP_PROT_OK
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/postfix/postfix/src/util/dict_sockmap.c
      type_or_value: '"OK"'
    - item_type: preproc_def
      name: DICT_SOCKMAP_PROT_NOTFOUND
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/postfix/postfix/src/util/dict_sockmap.c
      type_or_value: '"NOTFOUND"'
    - item_type: preproc_def
      name: DICT_SOCKMAP_PROT_TEMP
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/postfix/postfix/src/util/dict_sockmap.c
      type_or_value: '"TEMP"'
    - item_type: preproc_def
      name: DICT_SOCKMAP_PROT_TIMEOUT
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/postfix/postfix/src/util/dict_sockmap.c
      type_or_value: '"TIMEOUT"'
    - item_type: preproc_def
      name: DICT_SOCKMAP_PROT_PERM
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/postfix/postfix/src/util/dict_sockmap.c
      type_or_value: '"PERM"'
    structs:
    - fields:
      - name: dict
        type: DICT
      - name: '*sockmap_name'
        type: char
      - name: '*rdwr_buf'
        type: VSTRING
      - name: '*client_info'
        type: HTABLE_INFO
      item_type: struct
      name: DICT_SOCKMAP
      pos:
        line_end: 107
        line_start: 102
        source_file: /src/postfix/postfix/src/util/dict_sockmap.c
    - fields:
      - name: '*client_handle'
        type: AUTO_CLNT
      - name: refcount
        type: int
      item_type: struct
      name: DICT_SOCKMAP_REFC_HANDLE
      pos:
        line_end: 135
        line_start: 132
        source_file: /src/postfix/postfix/src/util/dict_sockmap.c
    typedefs: []
    union: []
- function_names:
  - format_tv
  - main
  source_file: /src/postfix/postfix/src/util/format_tv.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MILLION
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/postfix/postfix/src/util/format_tv.c
      type_or_value: '1000000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - slmdb_fd
  - slmdb_curr_limit
  - CA_SLMDB_CTL_LONGJMP_FN
  - CA_SLMDB_CTL_NOTIFY_FN
  - CA_SLMDB_CTL_CB_CONTEXT
  - CA_SLMDB_CTL_API_RETRY_LIMIT
  - CA_SLMDB_CTL_BULK_RETRY_LIMIT
  - CA_SLMDB_CTL_ASSERT_FN
  source_file: /src/postfix/postfix/src/util/slmdb.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SLMDB_JMP_BUF
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/util/slmdb.h
      type_or_value: jmp_buf
    - item_type: preproc_def
      name: SLMDB_JMP_BUF
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/util/slmdb.h
      type_or_value: sigjmp_buf
    - item_type: preproc_def
      name: SLMDB_FLAG_BULK
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/postfix/postfix/src/util/slmdb.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: SLMDB_CTL_END
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/postfix/postfix/src/util/slmdb.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SLMDB_CTL_LONGJMP_FN
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/postfix/postfix/src/util/slmdb.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: SLMDB_CTL_NOTIFY_FN
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/postfix/postfix/src/util/slmdb.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: SLMDB_CTL_CB_CONTEXT
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/postfix/postfix/src/util/slmdb.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: SLMDB_CTL_API_RETRY_LIMIT
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/postfix/postfix/src/util/slmdb.h
      type_or_value: "5\t"
    - item_type: preproc_def
      name: SLMDB_CTL_BULK_RETRY_LIMIT
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/postfix/postfix/src/util/slmdb.h
      type_or_value: "6\t"
    - item_type: preproc_def
      name: SLMDB_CTL_ASSERT_FN
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/postfix/postfix/src/util/slmdb.h
      type_or_value: "7\t"
    - item_type: preproc_def
      name: CA_SLMDB_CTL_END
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/postfix/postfix/src/util/slmdb.h
      type_or_value: SLMDB_CTL_END
    structs:
    - fields:
      - name: curr_limit
        type: size_t
      - name: size_incr
        type: int
      - name: hard_limit
        type: size_t
      - name: open_flags
        type: int
      - name: lmdb_flags
        type: int
      - name: slmdb_flags
        type: int
      - name: '*env'
        type: MDB_env
      - name: dbi
        type: MDB_dbi
      - name: '*txn'
        type: MDB_txn
      - name: db_fd
        type: int
      - name: '*cursor'
        type: MDB_cursor
      - name: saved_key
        type: MDB_val
      - name: saved_key_size
        type: size_t
      - name: (*longjmp_fn) (void *, int)
        type: void
      - name: (*notify_fn) (void *, int,...)
        type: void
      - name: (*assert_fn) (void *, const char *)
        type: void
      - name: '*cb_context'
        type: void
      - name: api_retry_count
        type: int
      - name: bulk_retry_count
        type: int
      - name: api_retry_limit
        type: int
      - name: bulk_retry_limit
        type: int
      item_type: struct
      name: SLMDB
      pos:
        line_end: 63
        line_start: 41
        source_file: /src/postfix/postfix/src/util/slmdb.h
    typedefs:
    - item_type: typedef
      name: (*SLMDB_NOTIFY_FN) (void *, int,...)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/postfix/postfix/src/util/slmdb.h
      type: void
    - item_type: typedef
      name: (*SLMDB_LONGJMP_FN) (void *, int)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/postfix/postfix/src/util/slmdb.h
      type: void
    - item_type: typedef
      name: (*SLMDB_ASSERT_FN) (void *, const char *)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/postfix/postfix/src/util/slmdb.h
      type: void
    union: []
- function_names:
  - STR
  - LEN
  - attr_scan64_string
  - attr_scan64_number
  - attr_scan64_long_number
  - attr_vscan64
  - attr_scan64
  - attr_scan_more64
  - main
  source_file: /src/postfix/postfix/src/util/attr_scan64.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/hex_quote.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - unix_send_fd
  - main
  source_file: /src/postfix/postfix/src/util/unix_send_fd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: just_for_alignment
        type: struct cmsghdr
      - name: control[CMSG_SPACE(sizeof(sendfd))]
        type: char
      item_type: union
      name: control_un
      pos:
        line_end: 78
        line_start: 75
        source_file: /src/postfix/postfix/src/util/unix_send_fd.c
- function_names: []
  source_file: /src/postfix/postfix/src/util/exec_command.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dummy_read
  source_file: /src/postfix/postfix/src/util/dummy_read.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - uppercase
  source_file: /src/postfix/postfix/src/util/uppercase.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RING_TO_CTABLE_ENTRY
  - RING_PTR_OF
  - ctable_create
  - ctable_locate
  - ctable_refresh
  - ctable_newcontext
  - ctable_free_callback
  - ctable_free
  - ctable_walk
  - STR
  - ask
  - drop
  - main
  source_file: /src/postfix/postfix/src/util/ctable.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CTABLE_ENTRY
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/postfix/postfix/src/util/ctable.c
      type_or_value: struct ctable_entry
    - item_type: preproc_def
      name: CTABLE_MIN_SIZE
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/postfix/postfix/src/util/ctable.c
      type_or_value: '5'
    structs:
    - fields:
      - name: ring
        type: RING
      - name: '*key'
        type: char
      - name: '*value'
        type: void
      item_type: struct
      name: ctable_entry
      pos:
        line_end: 98
        line_start: 94
        source_file: /src/postfix/postfix/src/util/ctable.c
    - fields:
      - name: '*table'
        type: HTABLE
      - name: limit
        type: size_t
      - name: used
        type: size_t
      - name: create
        type: CTABLE_CREATE_FN
      - name: delete
        type: CTABLE_DELETE_FN
      - name: ring
        type: RING
      - name: '*context'
        type: void
      item_type: struct
      name: ctable
      pos:
        line_end: 112
        line_start: 104
        source_file: /src/postfix/postfix/src/util/ctable.c
    typedefs: []
    union: []
- function_names:
  - valid_utf8_hostname
  source_file: /src/postfix/postfix/src/util/valid_utf8_hostname.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - casefoldx
  - encode_utf8
  - main
  source_file: /src/postfix/postfix/src/util/casefold.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - byte_mask
  - str_byte_mask
  source_file: /src/postfix/postfix/src/util/byte_mask.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BYTE_MASK_FATAL
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/util/byte_mask.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: BYTE_MASK_ANY_CASE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/util/byte_mask.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: BYTE_MASK_RETURN
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/util/byte_mask.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: BYTE_MASK_WARN
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postfix/postfix/src/util/byte_mask.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: BYTE_MASK_IGNORE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/util/byte_mask.h
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: BYTE_MASK_REQUIRED
      pos:
        line_end: 34
        line_start: 32
        source_file: /src/postfix/postfix/src/util/byte_mask.h
      type_or_value: (BYTE_MASK_FATAL | BYTE_MASK_RETURN | BYTE_MASK_WARN | BYTE_MASK_IGNORE)
    - item_type: preproc_def
      name: STR_BYTE_MASK_REQUIRED
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/src/util/byte_mask.h
      type_or_value: (BYTE_MASK_REQUIRED)
    - item_type: preproc_def
      name: BYTE_MASK_NONE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postfix/postfix/src/util/byte_mask.h
      type_or_value: '0'
    - item_type: preproc_def
      name: BYTE_MASK_DEFAULT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/util/byte_mask.h
      type_or_value: (BYTE_MASK_FATAL)
    structs:
    - fields:
      - name: byte_val
        type: int
      - name: mask
        type: int
      item_type: struct
      name: BYTE_MASK
      pos:
        line_end: 24
        line_start: 21
        source_file: /src/postfix/postfix/src/util/byte_mask.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/dict_ht.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_HT
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/util/dict_ht.h
      type_or_value: '"internal"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - msg_vstream_print
  - msg_vstream_init
  source_file: /src/postfix/postfix/src/util/msg_vstream.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - attr_scan0_string
  - attr_scan0_data
  - attr_scan0_number
  - attr_scan0_long_number
  - attr_vscan0
  - attr_scan0
  - attr_scan_more0
  - main
  source_file: /src/postfix/postfix/src/util/attr_scan0.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CIDR_MATCH_ADDR_FAMILY
  - CIDR_MATCH_ADDR_BIT_COUNT
  - CIDR_MATCH_ADDR_BYTE_COUNT
  - CIDR_MATCH_ADDR_FAMILY
  - CIDR_MATCH_ADDR_BIT_COUNT
  - CIDR_MATCH_ADDR_BYTE_COUNT
  - cidr_match_entry
  - cidr_match_execute
  - cidr_match_parse
  - cidr_match_parse_if
  - cidr_match_endif
  source_file: /src/postfix/postfix/src/util/cidr_match.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/ip_match.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - extpar
  source_file: /src/postfix/postfix/src/util/extpar.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/valid_utf8_hostname.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SCAN_DIR_PATH
  - STR
  - scan_dir_path
  - scan_dir_push
  - scan_dir_pop
  - scan_dir_open
  - scan_dir_next
  - STREQ
  - scan_dir_close
  source_file: /src/postfix/postfix/src/util/scan_dir.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: dirent
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/postfix/postfix/src/util/scan_dir.c
      type_or_value: direct
    structs:
    - fields:
      - name: '*path'
        type: char
      - name: '*dir'
        type: DIR
      - name: '*parent'
        type: SCAN_INFO
      item_type: struct
      name: SCAN_INFO
      pos:
        line_end: 106
        line_start: 102
        source_file: /src/postfix/postfix/src/util/scan_dir.c
    - fields:
      - name: '*current'
        type: SCAN_INFO
      item_type: struct
      name: SCAN_DIR
      pos:
        line_end: 109
        line_start: 107
        source_file: /src/postfix/postfix/src/util/scan_dir.c
    typedefs: []
    union: []
- function_names:
  - mkmap_close
  - mkmap_open
  source_file: /src/postfix/postfix/src/util/mkmap_open.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - dict_static_lookup
  - dict_static_close
  - dict_static_open
  - DICT_STATIC_OPEN_RETURN
  source_file: /src/postfix/postfix/src/util/dict_static.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dict
        type: DICT
      - name: '*value'
        type: char
      item_type: struct
      name: DICT_STATIC
      pos:
        line_end: 54
        line_start: 51
        source_file: /src/postfix/postfix/src/util/dict_static.c
    typedefs: []
    union: []
- function_names:
  - vstream_fread
  - vstream_fwrite
  - VSTREAM_PUTC
  - VSTREAM_GETC
  - vstream_ungetc
  - VSTREAM_PUTCHAR
  - VSTREAM_GETCHAR
  - vstream_fileno
  - vstream_req_bufsize
  - vstream_context
  - vstream_rd_error
  - vstream_wr_error
  - vstream_ferror
  - vstream_feof
  - vstream_rd_timeout
  - vstream_wr_timeout
  - vstream_ftimeout
  - vstream_clearerr
  - VSTREAM_PATH
  - vstream_ftime
  - vstream_ftimeval
  - vstream_fstat
  - CA_VSTREAM_CTL_READ_FN
  - CA_VSTREAM_CTL_WRITE_FN
  - CA_VSTREAM_CTL_PATH
  - CA_VSTREAM_CTL_READ_FD
  - CA_VSTREAM_CTL_WRITE_FD
  - CA_VSTREAM_CTL_WAITPID_FN
  - CA_VSTREAM_CTL_TIMEOUT
  - CA_VSTREAM_CTL_CONTEXT
  - CA_VSTREAM_CTL_DUPFD
  - CA_VSTREAM_CTL_BUFSIZE
  - CA_VSTREAM_CTL_SWAP_FD
  - CA_VSTREAM_CTL_MIN_DATA_RATE
  - vstream_ispipe
  - CA_VSTREAM_POPEN_COMMAND
  - CA_VSTREAM_POPEN_ARGV
  - CA_VSTREAM_POPEN_UID
  - CA_VSTREAM_POPEN_GID
  - CA_VSTREAM_POPEN_ENV
  - CA_VSTREAM_POPEN_SHELL
  - CA_VSTREAM_POPEN_WAITPID_FN
  - CA_VSTREAM_POPEN_EXPORT
  - vstream_peek
  - vstream_setjmp
  - vstream_longjmp
  - vstream_setjmp
  - vstream_longjmp
  - vstream_flags
  - vstream_memopen
  source_file: /src/postfix/postfix/src/util/vstream.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VSTREAM_JMP_BUF
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: jmp_buf
    - item_type: preproc_def
      name: VSTREAM_JMP_BUF
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: sigjmp_buf
    - item_type: preproc_def
      name: VSTREAM_IN
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: (&vstream_fstd[0])
    - item_type: preproc_def
      name: VSTREAM_OUT
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: (&vstream_fstd[1])
    - item_type: preproc_def
      name: VSTREAM_ERR
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: (&vstream_fstd[2])
    - item_type: preproc_def
      name: VSTREAM_FLAG_RD_ERR
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "VBUF_FLAG_RD_ERR\t"
    - item_type: preproc_def
      name: VSTREAM_FLAG_WR_ERR
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "VBUF_FLAG_WR_ERR\t"
    - item_type: preproc_def
      name: VSTREAM_FLAG_RD_TIMEOUT
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "VBUF_FLAG_RD_TIMEOUT\t"
    - item_type: preproc_def
      name: VSTREAM_FLAG_WR_TIMEOUT
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "VBUF_FLAG_WR_TIMEOUT\t"
    - item_type: preproc_def
      name: VSTREAM_FLAG_ERR
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "VBUF_FLAG_ERR\t"
    - item_type: preproc_def
      name: VSTREAM_FLAG_EOF
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "VBUF_FLAG_EOF\t"
    - item_type: preproc_def
      name: VSTREAM_FLAG_TIMEOUT
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "VBUF_FLAG_TIMEOUT\t"
    - item_type: preproc_def
      name: VSTREAM_FLAG_FIXED
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "VBUF_FLAG_FIXED\t"
    - item_type: preproc_def
      name: VSTREAM_FLAG_BAD
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: VBUF_FLAG_BAD
    - item_type: preproc_def
      name: VSTREAM_FLAG_READ
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "(1<<8)\t"
    - item_type: preproc_def
      name: VSTREAM_FLAG_WRITE
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "(1<<9)\t"
    - item_type: preproc_def
      name: VSTREAM_FLAG_SEEK
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "(1<<10)\t"
    - item_type: preproc_def
      name: VSTREAM_FLAG_NSEEK
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "(1<<11)\t"
    - item_type: preproc_def
      name: VSTREAM_FLAG_DOUBLE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "(1<<12)\t"
    - item_type: preproc_def
      name: VSTREAM_FLAG_DEADLINE
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "(1<<13)\t"
    - item_type: preproc_def
      name: VSTREAM_FLAG_MEMORY
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "(1<<14)\t"
    - item_type: preproc_def
      name: VSTREAM_FLAG_OWN_VSTRING
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: (1<<15)
    - item_type: preproc_def
      name: VSTREAM_PURGE_READ
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: VSTREAM_PURGE_WRITE
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: VSTREAM_PURGE_BOTH
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: (VSTREAM_PURGE_READ|VSTREAM_PURGE_WRITE)
    - item_type: preproc_def
      name: VSTREAM_BUFSIZE
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: '4096'
    - item_type: preproc_def
      name: VSTREAM_EOF
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: VBUF_EOF
    - item_type: preproc_def
      name: VSTREAM_CTL_END
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VSTREAM_CTL_READ_FN
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VSTREAM_CTL_WRITE_FN
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: '2'
    - item_type: preproc_def
      name: VSTREAM_CTL_PATH
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: '3'
    - item_type: preproc_def
      name: VSTREAM_CTL_DOUBLE
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: '4'
    - item_type: preproc_def
      name: VSTREAM_CTL_READ_FD
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: '5'
    - item_type: preproc_def
      name: VSTREAM_CTL_WRITE_FD
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: '6'
    - item_type: preproc_def
      name: VSTREAM_CTL_WAITPID_FN
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: '7'
    - item_type: preproc_def
      name: VSTREAM_CTL_TIMEOUT
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: '8'
    - item_type: preproc_def
      name: VSTREAM_CTL_EXCEPT
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: '9'
    - item_type: preproc_def
      name: VSTREAM_CTL_CONTEXT
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: '10'
    - item_type: preproc_def
      name: VSTREAM_CTL_DUPFD
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: '11'
    - item_type: preproc_def
      name: VSTREAM_CTL_BUFSIZE
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: '12'
    - item_type: preproc_def
      name: VSTREAM_CTL_SWAP_FD
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: '13'
    - item_type: preproc_def
      name: VSTREAM_CTL_START_DEADLINE
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: '14'
    - item_type: preproc_def
      name: VSTREAM_CTL_STOP_DEADLINE
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: '15'
    - item_type: preproc_def
      name: VSTREAM_CTL_OWN_VSTRING
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: '16'
    - item_type: preproc_def
      name: VSTREAM_CTL_MIN_DATA_RATE
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: '17'
    - item_type: preproc_def
      name: CA_VSTREAM_CTL_END
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: VSTREAM_CTL_END
    - item_type: preproc_def
      name: CA_VSTREAM_CTL_DOUBLE
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: VSTREAM_CTL_DOUBLE
    - item_type: preproc_def
      name: CA_VSTREAM_CTL_EXCEPT
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: VSTREAM_CTL_EXCEPT
    - item_type: preproc_def
      name: CA_VSTREAM_CTL_START_DEADLINE
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: VSTREAM_CTL_START_DEADLINE
    - item_type: preproc_def
      name: CA_VSTREAM_CTL_STOP_DEADLINE
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: VSTREAM_CTL_STOP_DEADLINE
    - item_type: preproc_def
      name: VSTREAM_POPEN_END
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: VSTREAM_POPEN_COMMAND
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: VSTREAM_POPEN_ARGV
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: VSTREAM_POPEN_UID
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: VSTREAM_POPEN_GID
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: VSTREAM_POPEN_ENV
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "5\t"
    - item_type: preproc_def
      name: VSTREAM_POPEN_SHELL
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "6\t"
    - item_type: preproc_def
      name: VSTREAM_POPEN_WAITPID_FN
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "7\t"
    - item_type: preproc_def
      name: VSTREAM_POPEN_EXPORT
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: "8\t"
    - item_type: preproc_def
      name: CA_VSTREAM_POPEN_END
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: VSTREAM_POPEN_END
    - item_type: preproc_def
      name: VSTREAM_BST_FLAG_IN
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: VSTREAM_BST_FLAG_OUT
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: VSTREAM_BST_FLAG_PEND
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: VSTREAM_BST_MASK_DIR
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: (VSTREAM_BST_FLAG_IN | VSTREAM_BST_FLAG_OUT)
    - item_type: preproc_def
      name: VSTREAM_BST_IN_PEND
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: (VSTREAM_BST_FLAG_IN | VSTREAM_BST_FLAG_PEND)
    - item_type: preproc_def
      name: VSTREAM_BST_OUT_PEND
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/postfix/postfix/src/util/vstream.h
      type_or_value: (VSTREAM_BST_FLAG_OUT | VSTREAM_BST_FLAG_PEND)
    structs:
    - fields:
      - name: buf
        type: VBUF
      - name: fd
        type: int
      - name: read_fn
        type: VSTREAM_RW_FN
      - name: write_fn
        type: VSTREAM_RW_FN
      - name: req_bufsize
        type: ssize_t
      - name: '*context'
        type: void
      - name: offset
        type: off_t
      - name: '*path'
        type: char
      - name: read_fd
        type: int
      - name: write_fd
        type: int
      - name: read_buf
        type: VBUF
      - name: write_buf
        type: VBUF
      - name: pid
        type: pid_t
      - name: waitpid_fn
        type: VSTREAM_WAITPID_FN
      - name: timeout
        type: int
      - name: '*jbuf'
        type: VSTREAM_JMP_BUF
      - name: iotime
        type: struct timeval
      - name: time_limit
        type: struct timeval
      - name: min_data_rate
        type: int
      - name: '*vstring'
        type: struct VSTRING
      item_type: struct
      name: VSTREAM
      pos:
        line_end: 63
        line_start: 42
        source_file: /src/postfix/postfix/src/util/vstream.h
    typedefs:
    - item_type: typedef
      name: (*VSTREAM_RW_FN) (int, void *, size_t, int, void *)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/postfix/postfix/src/util/vstream.h
      type: ssize_t
    - item_type: typedef
      name: (*VSTREAM_WAITPID_FN) (pid_t, WAIT_STATUS_T *, int)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/postfix/postfix/src/util/vstream.h
    union: []
- function_names:
  - unsafe
  source_file: /src/postfix/postfix/src/util/unsafe.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - argv_attr_scan
  source_file: /src/postfix/postfix/src/util/argv_attr_scan.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - chroot_uid
  source_file: /src/postfix/postfix/src/util/chroot_uid.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stream_connect
  source_file: /src/postfix/postfix/src/util/stream_connect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DICT_DB_GET
  - DICT_DB_PUT
  - DICT_DB_DEL
  - DICT_DB_SYNC
  - DICT_DB_CLOSE
  - DICT_DB_GET
  - DICT_DB_PUT
  - DICT_DB_DEL
  - DICT_DB_SYNC
  - DICT_DB_CLOSE
  - DICT_DB_CURSOR
  - DICT_DB_CURSOR
  - SCOPY
  - sanitize
  - dict_db_lookup
  - dict_db_update
  - dict_db_delete
  - dict_db_sequence
  - dict_db_close
  - dict_db_new_env
  - dict_db_open
  - LOCK_OPEN_FLAGS
  - FREE_RETURN
  - FREE_RETURN
  - dict_hash_open
  - dict_btree_open
  source_file: /src/postfix/postfix/src/util/dict_db.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DB_VERSION_MAJOR
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/postfix/postfix/src/util/dict_db.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DONT_CLOBBER
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/postfix/postfix/src/util/dict_db.c
      type_or_value: R_NOOVERWRITE
    - item_type: preproc_def
      name: DONT_CLOBBER
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/postfix/postfix/src/util/dict_db.c
      type_or_value: DB_NOOVERWRITE
    - item_type: preproc_def
      name: DB_FCNTL_LOCKING
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/postfix/postfix/src/util/dict_db.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DICT_DB_NELM
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/postfix/postfix/src/util/dict_db.c
      type_or_value: '4096'
    structs:
    - fields:
      - name: dict
        type: DICT
      - name: '*db'
        type: DB
      - name: '*key_buf'
        type: VSTRING
      - name: '*val_buf'
        type: VSTRING
      item_type: struct
      name: DICT_DB
      pos:
        line_end: 137
        line_start: 126
        source_file: /src/postfix/postfix/src/util/dict_db.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/midna_domain.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNSIG_CHAR_PTR
  - base64_encode
  - base64_encode_opt
  - base64_decode
  - base64_decode_opt
  - STR
  - LEN
  - main
  source_file: /src/postfix/postfix/src/util/base64_code.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UCHAR_MAX
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/postfix/postfix/src/util/base64_code.c
      type_or_value: '0xff'
    - item_type: preproc_def
      name: CHARS_PER_BYTE
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/postfix/postfix/src/util/base64_code.c
      type_or_value: (UCHAR_MAX + 1)
    - item_type: preproc_def
      name: INVALID
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/postfix/postfix/src/util/base64_code.c
      type_or_value: '0xff'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/normalize_v4mapped_addr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_ugid
  source_file: /src/postfix/postfix/src/util/set_ugid.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - quote_for_json_append
  - quote_for_json
  - main
  source_file: /src/postfix/postfix/src/util/quote_for_json.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PASS
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/postfix/postfix/src/util/quote_for_json.c
      type_or_value: (0)
    - item_type: preproc_def
      name: FAIL
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/postfix/postfix/src/util/quote_for_json.c
      type_or_value: (1)
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: '*(*fn) (VSTRING *, const char *, ssize_t)'
        type: char
      - name: '*input'
        type: char
      - name: input_len
        type: ssize_t
      - name: '*exp_res'
        type: char
      item_type: struct
      name: TEST_CASE
      pos:
        line_end: 156
        line_start: 150
        source_file: /src/postfix/postfix/src/util/quote_for_json.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/load_lib.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: (*fptr) (void)
        type: void
      item_type: struct
      name: LIB_FN
      pos:
        line_end: 20
        line_start: 17
        source_file: /src/postfix/postfix/src/util/load_lib.h
    - fields:
      - name: '*name'
        type: char
      - name: '*dptr'
        type: void
      item_type: struct
      name: LIB_DP
      pos:
        line_end: 25
        line_start: 22
        source_file: /src/postfix/postfix/src/util/load_lib.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/msg.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*MSG_CLEANUP_FN) (void)
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/postfix/postfix/src/util/msg.h
      type: void
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/events.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EVENT_NOTIFY_TIME_FN
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postfix/postfix/src/util/events.h
      type_or_value: "EVENT_NOTIFY_FN\t"
    - item_type: preproc_def
      name: EVENT_NOTIFY_RDWR_FN
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/postfix/postfix/src/util/events.h
      type_or_value: "EVENT_NOTIFY_FN\t"
    - item_type: preproc_def
      name: EVENT_READ
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postfix/postfix/src/util/events.h
      type_or_value: "(1<<0)\t\t"
    - item_type: preproc_def
      name: EVENT_WRITE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postfix/postfix/src/util/events.h
      type_or_value: "(1<<1)\t\t"
    - item_type: preproc_def
      name: EVENT_XCPT
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/util/events.h
      type_or_value: "(1<<2)\t\t"
    - item_type: preproc_def
      name: EVENT_TIME
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postfix/postfix/src/util/events.h
      type_or_value: "(1<<3)\t\t"
    - item_type: preproc_def
      name: EVENT_ERROR
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/util/events.h
      type_or_value: EVENT_XCPT
    - item_type: preproc_def
      name: EVENT_NULL_TYPE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/postfix/postfix/src/util/events.h
      type_or_value: (0)
    - item_type: preproc_def
      name: EVENT_NULL_CONTEXT
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/postfix/postfix/src/util/events.h
      type_or_value: ((void *) 0)
    - item_type: preproc_def
      name: EVENT_NULL_DELAY
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/postfix/postfix/src/util/events.h
      type_or_value: (0)
    structs: []
    typedefs:
    - item_type: typedef
      name: (*EVENT_NOTIFY_FN) (int, void *)
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/postfix/postfix/src/util/events.h
      type: void
    union: []
- function_names:
  - dir_forest
  source_file: /src/postfix/postfix/src/util/dir_forest.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/inet_addr_sizes.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: af
        type: int
      - name: '*ipproto_str'
        type: char
      - name: addr_bitcount
        type: int
      - name: addr_bytecount
        type: int
      - name: addr_strlen
        type: int
      - name: addr_bitcount_strlen
        type: int
      item_type: struct
      name: INET_ADDR_SIZES
      pos:
        line_end: 23
        line_start: 16
        source_file: /src/postfix/postfix/src/util/inet_addr_sizes.h
    typedefs: []
    union: []
- function_names:
  - write_buf
  source_file: /src/postfix/postfix/src/util/write_buf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/dict_db.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_HASH
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/util/dict_db.h
      type_or_value: '"hash"'
    - item_type: preproc_def
      name: DICT_TYPE_BTREE
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postfix/postfix/src/util/dict_db.h
      type_or_value: '"btree"'
    - item_type: preproc_def
      name: DEFINE_DICT_DB_CACHE_SIZE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postfix/postfix/src/util/dict_db.h
      type_or_value: int dict_db_cache_size = (128 * 1024)
    structs: []
    typedefs: []
    union: []
- function_names:
  - normalize_v4mapped_sockaddr
  - normalize_v4mapped_hostaddr
  source_file: /src/postfix/postfix/src/util/normalize_v4mapped_addr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/timecmp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/inet_addr_local.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ring_init
  - ring_append
  - ring_prepend
  - ring_detach
  source_file: /src/postfix/postfix/src/util/ring.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - open_limit
  source_file: /src/postfix/postfix/src/util/open_limit.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_FILES_PER_PROC
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postfix/postfix/src/util/open_limit.c
      type_or_value: '"kern.maxfilesperproc"'
    - item_type: preproc_def
      name: RLIMIT_NOFILE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/postfix/postfix/src/util/open_limit.c
      type_or_value: RLIMIT_OFILE
    structs: []
    typedefs: []
    union: []
- function_names:
  - stream_listen
  - stream_accept
  source_file: /src/postfix/postfix/src/util/stream_listen.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/find_inet.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - inet_proto_info
  source_file: /src/postfix/postfix/src/util/inet_proto.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INET_PROTO_NAME_IPV6
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/util/inet_proto.h
      type_or_value: '"ipv6"'
    - item_type: preproc_def
      name: INET_PROTO_NAME_IPV4
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postfix/postfix/src/util/inet_proto.h
      type_or_value: '"ipv4"'
    - item_type: preproc_def
      name: INET_PROTO_NAME_ALL
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/util/inet_proto.h
      type_or_value: '"all"'
    structs:
    - fields:
      - name: ai_family
        type: unsigned int
      - name: '*ai_family_list'
        type: unsigned int
      - name: '*dns_atype_list'
        type: unsigned int
      - name: '*sa_family_list'
        type: unsigned char
      item_type: struct
      name: INET_PROTO_INFO
      pos:
        line_end: 21
        line_start: 16
        source_file: /src/postfix/postfix/src/util/inet_proto.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/mac_expand.h
  types:
    enum:
    - enumerators:
      - name: MAC_EXP_OP_RES_TRUE
      - name: MAC_EXP_OP_RES_FALSE
      - name: MAC_EXP_OP_RES_ERROR
      item_type: enum
      name: MAC_EXP_OP_RES
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/postfix/postfix/src/util/mac_expand.h
    preproc_defs:
    - item_type: preproc_def
      name: MAC_EXP_FLAG_NONE
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/util/mac_expand.h
      type_or_value: (0)
    - item_type: preproc_def
      name: MAC_EXP_FLAG_RECURSE
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postfix/postfix/src/util/mac_expand.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: MAC_EXP_FLAG_APPEND
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/postfix/postfix/src/util/mac_expand.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: MAC_EXP_FLAG_SCAN
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postfix/postfix/src/util/mac_expand.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: MAC_EXP_FLAG_PRINTABLE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/util/mac_expand.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: MAC_EXP_OP_TOK_NONE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postfix/postfix/src/util/mac_expand.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: MAC_EXP_OP_TOK_EQ
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postfix/postfix/src/util/mac_expand.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: MAC_EXP_OP_TOK_NE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/util/mac_expand.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: MAC_EXP_OP_TOK_LT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/src/util/mac_expand.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: MAC_EXP_OP_TOK_LE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/util/mac_expand.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: MAC_EXP_OP_TOK_GE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postfix/postfix/src/util/mac_expand.h
      type_or_value: "5\t"
    - item_type: preproc_def
      name: MAC_EXP_OP_TOK_GT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/util/mac_expand.h
      type_or_value: "6\t"
    - item_type: preproc_def
      name: MAC_EXP_MODE_TEST
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/postfix/postfix/src/util/mac_expand.h
      type_or_value: (0)
    - item_type: preproc_def
      name: MAC_EXP_MODE_USE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/postfix/postfix/src/util/mac_expand.h
      type_or_value: (1)
    structs: []
    typedefs:
    - item_type: typedef
      name: MAC_EXP_OP_RES
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/postfix/postfix/src/util/mac_expand.h
    - item_type: typedef
      name: '*(*MAC_EXP_LOOKUP_FN) (const char *, int, void *)'
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/postfix/postfix/src/util/mac_expand.h
      type: char
    - item_type: typedef
      name: (*MAC_EXPAND_RELOP_FN) (const char *, int, const char *)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/postfix/postfix/src/util/mac_expand.h
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/mask_addr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/known_tcp_ports.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - dict_random_lookup
  - dict_random_close
  - dict_random_parse_name
  - dict_random_open
  - DICT_RANDOM_RETURN
  source_file: /src/postfix/postfix/src/util/dict_random.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dict
        type: DICT
      - name: '*replies'
        type: ARGV
      item_type: struct
      name: DICT_RANDOM
      pos:
        line_end: 58
        line_start: 55
        source_file: /src/postfix/postfix/src/util/dict_random.c
    typedefs: []
    union: []
- function_names:
  - mkmap_dbm_after_close
  - mkmap_dbm_open
  source_file: /src/postfix/postfix/src/util/mkmap_dbm.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: mkmap
        type: MKMAP
      - name: '*lock_file'
        type: char
      - name: lock_fd
        type: int
      item_type: struct
      name: MKMAP_DBM
      pos:
        line_end: 61
        line_start: 57
        source_file: /src/postfix/postfix/src/util/mkmap_dbm.c
    typedefs: []
    union: []
- function_names:
  - VA_COPY
  - VA_COPY
  - VA_COPY
  source_file: /src/postfix/postfix/src/util/compat_va_copy.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/posix_signals.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: (*sa_handler) ()
        type: void
      - name: sa_mask
        type: sigset_t
      - name: sa_flags
        type: int
      item_type: struct
      name: sigaction
      pos:
        line_end: 38
        line_start: 34
        source_file: /src/postfix/postfix/src/util/posix_signals.h
    typedefs:
    - item_type: typedef
      name: sigset_t
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/postfix/postfix/src/util/posix_signals.h
      type: int
    union: []
- function_names:
  - unescape
  - UCHAR
  - ISOCTAL
  - escape
  - main
  source_file: /src/postfix/postfix/src/util/unescape.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/binhash.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BINHASH_SEQ_FIRST
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/util/binhash.h
      type_or_value: '0'
    - item_type: preproc_def
      name: BINHASH_SEQ_NEXT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/util/binhash.h
      type_or_value: '1'
    - item_type: preproc_def
      name: BINHASH_SEQ_STOP
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/util/binhash.h
      type_or_value: (-1)
    structs:
    - fields:
      - name: '*key'
        type: void
      - name: key_len
        type: ssize_t
      - name: '*value'
        type: void
      - name: '*next'
        type: struct BINHASH_INFO
      - name: '*prev'
        type: struct BINHASH_INFO
      item_type: struct
      name: BINHASH_INFO
      pos:
        line_end: 21
        line_start: 15
        source_file: /src/postfix/postfix/src/util/binhash.h
    - fields:
      - name: size
        type: ssize_t
      - name: used
        type: ssize_t
      - name: '**data'
        type: BINHASH_INFO
      - name: '**seq_bucket'
        type: BINHASH_INFO
      - name: '**seq_element'
        type: BINHASH_INFO
      item_type: struct
      name: BINHASH
      pos:
        line_end: 31
        line_start: 25
        source_file: /src/postfix/postfix/src/util/binhash.h
    typedefs: []
    union: []
- function_names:
  - split_at
  - split_at_right
  source_file: /src/postfix/postfix/src/util/split_at.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/dict_sockmap.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_SOCKMAP
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/util/dict_sockmap.h
      type_or_value: '"socketmap"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/mvect.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*ptr'
        type: char
      - name: elsize
        type: ssize_t
      - name: nelm
        type: ssize_t
      - name: init_fn
        type: MVECT_FN
      - name: wipe_fn
        type: MVECT_FN
      item_type: struct
      name: MVECT
      pos:
        line_end: 24
        line_start: 18
        source_file: /src/postfix/postfix/src/util/mvect.h
    typedefs:
    - item_type: typedef
      name: (*MVECT_FN) (char *, ssize_t)
      pos:
        line_end: 16
        line_start: 16
        source_file: /src/postfix/postfix/src/util/mvect.h
      type: void
    union: []
- function_names:
  - argv_split
  - argv_split_count
  - argv_split_append
  source_file: /src/postfix/postfix/src/util/argv_split.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - clone_ipv4addrinfo
  - init_ipv4addrinfo
  - find_service
  - hostname_to_sockaddr_pf
  - hostaddr_to_sockaddr
  - sockaddr_to_hostaddr
  - sockaddr_to_hostname
  - myaddrinfo_control
  - freeaddrinfo
  - gai_strerror
  - compare_family
  - main
  - STR_OR_NULL
  source_file: /src/postfix/postfix/src/util/myaddrinfo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAI_SOCKTYPE
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/postfix/postfix/src/util/myaddrinfo.c
      type_or_value: "SOCK_STREAM\t"
    structs:
    - fields:
      - name: info
        type: struct addrinfo
      - name: sin
        type: struct sockaddr_in
      item_type: struct
      name: ipv4addrinfo
      pos:
        line_end: 223
        line_start: 220
        source_file: /src/postfix/postfix/src/util/myaddrinfo.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/dict_random.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_RANDOM
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/util/dict_random.h
      type_or_value: '"randmap"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - sock_addr_cmp_addr
  - sock_addr_cmp_port
  - sock_addr_in_loopback
  source_file: /src/postfix/postfix/src/util/sock_addr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/line_wrap.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*LINE_WRAP_FN) (const char *, int, int, void *)
      pos:
        line_end: 16
        line_start: 16
        source_file: /src/postfix/postfix/src/util/line_wrap.h
      type: void
    union: []
- function_names:
  - split_qnameval
  - compare
  - main
  source_file: /src/postfix/postfix/src/util/split_qnameval.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*input'
        type: char
      - name: '*expect_result'
        type: char
      - name: '*expect_key'
        type: char
      - name: '*expect_value'
        type: char
      item_type: struct
      name: test_info
      pos:
        line_end: 128
        line_start: 123
        source_file: /src/postfix/postfix/src/util/split_qnameval.c
    typedefs: []
    union: []
- function_names:
  - unix_dgram_connect
  source_file: /src/postfix/postfix/src/util/unix_dgram_connect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/ctable.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CTABLE
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/postfix/postfix/src/util/ctable.h
      type_or_value: struct ctable
    structs: []
    typedefs:
    - item_type: typedef
      name: '*(*CTABLE_CREATE_FN) (const char *, void *)'
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/postfix/postfix/src/util/ctable.h
      type: void
    - item_type: typedef
      name: (*CTABLE_DELETE_FN) (void *, void *)
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/postfix/postfix/src/util/ctable.h
      type: void
    union: []
- function_names:
  - timed_read
  source_file: /src/postfix/postfix/src/util/timed_read.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mystrerror
  source_file: /src/postfix/postfix/src/util/mystrerror.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/dict_tcp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_TCP
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/util/dict_tcp.h
      type_or_value: '"tcp"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/connect.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - open_as
  source_file: /src/postfix/postfix/src/util/open_as.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dict_env_update
  - dict_env_lookup
  - dict_env_close
  - dict_env_open
  source_file: /src/postfix/postfix/src/util/dict_env.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - neuter
  source_file: /src/postfix/postfix/src/util/neuter.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mvect_alloc
  - mvect_realloc
  - mvect_free
  source_file: /src/postfix/postfix/src/util/mvect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/split_at.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/sane_strtol.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sane_sockaddr_to_hostaddr
  source_file: /src/postfix/postfix/src/util/sane_sockaddr_to_hostaddr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ip_match_save
  - ip_match_dump
  - ip_match_print_code_prefix
  - ip_match_execute
  - ip_match_next_token
  - IP_MATCH_RETURN_TOK
  - IP_MATCH_RETURN_TOK_VAL
  - ipmatch_print_parse_error
  - ip_match_parse
  - FIND_TERMINATOR
  - main
  source_file: /src/postfix/postfix/src/util/ip_match.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IP_MATCH_CODE_OPEN
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/postfix/postfix/src/util/ip_match.c
      type_or_value: "'['\t"
    - item_type: preproc_def
      name: IP_MATCH_CODE_CLOSE
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/postfix/postfix/src/util/ip_match.c
      type_or_value: "']'\t"
    - item_type: preproc_def
      name: IP_MATCH_CODE_OVAL
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/postfix/postfix/src/util/ip_match.c
      type_or_value: "'N'\t"
    - item_type: preproc_def
      name: IP_MATCH_CODE_RANGE
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/postfix/postfix/src/util/ip_match.c
      type_or_value: "'R'\t"
    - item_type: preproc_def
      name: IP_MATCH_CODE_EOF
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/postfix/postfix/src/util/ip_match.c
      type_or_value: "'\\0'\t"
    - item_type: preproc_def
      name: IP_MATCH_CODE_ERR
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/postfix/postfix/src/util/ip_match.c
      type_or_value: "256\t"
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/postfix/postfix/src/util/ip_match.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: LEN
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/postfix/postfix/src/util/ip_match.c
      type_or_value: VSTRING_LEN
    structs: []
    typedefs: []
    union: []
- function_names:
  - sane_connect
  source_file: /src/postfix/postfix/src/util/sane_connect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_hostname
  source_file: /src/postfix/postfix/src/util/get_hostname.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAXHOSTNAMELEN
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postfix/postfix/src/util/get_hostname.c
      type_or_value: '256'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/inet_addr_host.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - myflock
  source_file: /src/postfix/postfix/src/util/myflock.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - doze
  - main
  source_file: /src/postfix/postfix/src/util/doze.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MILLION
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postfix/postfix/src/util/doze.c
      type_or_value: '1000000'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/dict_sdbm.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_SDBM
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/util/dict_sdbm.h
      type_or_value: '"sdbm"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ring_succ
  - ring_pred
  - RING_FOREACH
  - RING_TO_APPL
  source_file: /src/postfix/postfix/src/util/ring.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*succ'
        type: RING
      - name: '*pred'
        type: RING
      item_type: struct
      name: RING
      pos:
        line_end: 21
        line_start: 18
        source_file: /src/postfix/postfix/src/util/ring.h
    typedefs: []
    union: []
- function_names:
  - NBBIO_OP_NAME
  - NBBIO_BUFSIZE
  - NBBIO_READ_PEND
  - NBBIO_READ_BUF
  - NBBIO_WRITE_PEND
  - NBBIO_WRITE_BUF
  - NBBIO_ACTIVE_FLAGS
  - NBBIO_ERROR_FLAGS
  source_file: /src/postfix/postfix/src/util/nbbio.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NBBIO_FLAG_READ
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postfix/postfix/src/util/nbbio.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: NBBIO_FLAG_WRITE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postfix/postfix/src/util/nbbio.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: NBBIO_FLAG_EOF
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postfix/postfix/src/util/nbbio.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: NBBIO_FLAG_ERROR
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/util/nbbio.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: NBBIO_FLAG_TIMEOUT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postfix/postfix/src/util/nbbio.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: NBBIO_MASK_ACTIVE
      pos:
        line_end: 51
        line_start: 49
        source_file: /src/postfix/postfix/src/util/nbbio.h
      type_or_value: (NBBIO_FLAG_READ | NBBIO_FLAG_WRITE)
    - item_type: preproc_def
      name: NBBIO_MASK_ERROR
      pos:
        line_end: 54
        line_start: 52
        source_file: /src/postfix/postfix/src/util/nbbio.h
      type_or_value: (NBBIO_FLAG_EOF | NBBIO_FLAG_ERROR | NBBIO_FLAG_TIMEOUT)
    structs:
    - fields:
      - name: fd
        type: int
      - name: bufsize
        type: ssize_t
      - name: '*label'
        type: char
      - name: action
        type: NBBIO_ACTION
      - name: '*context'
        type: void
      - name: flags
        type: int
      - name: '*read_buf'
        type: char
      - name: read_pend
        type: ssize_t
      - name: '*write_buf'
        type: char
      - name: write_pend
        type: ssize_t
      item_type: struct
      name: NBBIO
      pos:
        line_end: 36
        line_start: 23
        source_file: /src/postfix/postfix/src/util/nbbio.h
    typedefs:
    - item_type: typedef
      name: (*NBBIO_ACTION) (int, void *)
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/postfix/postfix/src/util/nbbio.h
      type: void
    union: []
- function_names:
  - dict_regexp_expand
  - dict_regexp_regerror
  - DICT_REGEXP_REGEXEC
  - dict_regexp_lookup
  - dict_regexp_close
  - dict_regexp_get_pat
  - dict_regexp_get_pats
  - dict_regexp_prescan
  - dict_regexp_compile_pat
  - dict_regexp_rule_alloc
  - dict_regexp_parseline
  - CREATE_MATCHOP_ERROR_RETURN
  - dict_regexp_open
  - DICT_REGEXP_OPEN_RETURN
  source_file: /src/postfix/postfix/src/util/dict_regexp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_REGEXP_OP_MATCH
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/postfix/postfix/src/util/dict_regexp.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: DICT_REGEXP_OP_IF
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/postfix/postfix/src/util/dict_regexp.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: DICT_REGEXP_OP_ENDIF
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/postfix/postfix/src/util/dict_regexp.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: NULL_SUBSTITUTIONS
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/postfix/postfix/src/util/dict_regexp.c
      type_or_value: (0)
    - item_type: preproc_def
      name: NULL_MATCH_RESULT
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/postfix/postfix/src/util/dict_regexp.c
      type_or_value: ((regmatch_t *) 0)
    - item_type: preproc_def
      name: MAC_PARSE_OK
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/postfix/postfix/src/util/dict_regexp.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*regexp'
        type: char
      - name: options
        type: int
      - name: match
        type: int
      item_type: struct
      name: DICT_REGEXP_PATTERN
      pos:
        line_end: 85
        line_start: 81
        source_file: /src/postfix/postfix/src/util/dict_regexp.c
    - fields:
      - name: op
        type: int
      - name: lineno
        type: int
      - name: '*next'
        type: struct DICT_REGEXP_RULE
      item_type: struct
      name: DICT_REGEXP_RULE
      pos:
        line_end: 94
        line_start: 90
        source_file: /src/postfix/postfix/src/util/dict_regexp.c
    - fields:
      - name: rule
        type: DICT_REGEXP_RULE
      - name: '*first_exp'
        type: regex_t
      - name: first_match
        type: int
      - name: '*second_exp'
        type: regex_t
      - name: second_match
        type: int
      - name: '*replacement'
        type: char
      - name: max_sub
        type: size_t
      item_type: struct
      name: DICT_REGEXP_MATCH_RULE
      pos:
        line_end: 104
        line_start: 96
        source_file: /src/postfix/postfix/src/util/dict_regexp.c
    - fields:
      - name: rule
        type: DICT_REGEXP_RULE
      - name: '*expr'
        type: regex_t
      - name: match
        type: int
      - name: '*endif_rule'
        type: struct DICT_REGEXP_RULE
      item_type: struct
      name: DICT_REGEXP_IF_RULE
      pos:
        line_end: 111
        line_start: 106
        source_file: /src/postfix/postfix/src/util/dict_regexp.c
    - fields:
      - name: dict
        type: DICT
      - name: '*pmatch'
        type: regmatch_t
      - name: '*head'
        type: DICT_REGEXP_RULE
      - name: '*expansion_buf'
        type: VSTRING
      item_type: struct
      name: DICT_REGEXP
      pos:
        line_end: 121
        line_start: 116
        source_file: /src/postfix/postfix/src/util/dict_regexp.c
    - fields:
      - name: '*dict_regexp'
        type: DICT_REGEXP
      - name: '*match_rule'
        type: DICT_REGEXP_MATCH_RULE
      - name: '*lookup_string'
        type: char
      item_type: struct
      name: DICT_REGEXP_EXPAND_CONTEXT
      pos:
        line_end: 136
        line_start: 132
        source_file: /src/postfix/postfix/src/util/dict_regexp.c
    - fields:
      - name: '*mapname'
        type: char
      - name: lineno
        type: int
      - name: max_sub
        type: size_t
      - name: '*literal'
        type: char
      item_type: struct
      name: DICT_REGEXP_PRESCAN_CONTEXT
      pos:
        line_end: 146
        line_start: 141
        source_file: /src/postfix/postfix/src/util/dict_regexp.c
    typedefs: []
    union: []
- function_names:
  - MAI_STRERROR
  - hostname_to_sockaddr
  - HOSTNAME_TO_SOCKADDR_PF
  - HOSTNAME_TO_SOCKADDR
  - HOSTADDR_TO_SOCKADDR
  - SOCKADDR_TO_HOSTADDR
  - SOCKADDR_TO_HOSTNAME
  source_file: /src/postfix/postfix/src/util/myaddrinfo.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: freeaddrinfo
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: mai_freeaddrinfo
    - item_type: preproc_def
      name: gai_strerror
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: mai_strerror
    - item_type: preproc_def
      name: addrinfo
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: mai_addrinfo
    - item_type: preproc_def
      name: sockaddr_storage
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: mai_sockaddr_storage
    - item_type: preproc_def
      name: EAI_ADDRFAMILY
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAI_AGAIN
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: '2'
    - item_type: preproc_def
      name: EAI_BADFLAGS
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: '3'
    - item_type: preproc_def
      name: EAI_FAIL
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: '4'
    - item_type: preproc_def
      name: EAI_FAMILY
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: '5'
    - item_type: preproc_def
      name: EAI_MEMORY
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: '6'
    - item_type: preproc_def
      name: EAI_NODATA
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: '7'
    - item_type: preproc_def
      name: EAI_NONAME
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: '8'
    - item_type: preproc_def
      name: EAI_SERVICE
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: '9'
    - item_type: preproc_def
      name: EAI_SOCKTYPE
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: '10'
    - item_type: preproc_def
      name: EAI_SYSTEM
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: '11'
    - item_type: preproc_def
      name: EAI_BADHINTS
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: '12'
    - item_type: preproc_def
      name: EAI_PROTOCOL
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: '13'
    - item_type: preproc_def
      name: EAI_RESNULL
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: '14'
    - item_type: preproc_def
      name: EAI_MAX
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: '15'
    - item_type: preproc_def
      name: MAI_HOSTADDR_STRSIZE
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: INET6_ADDRSTRLEN
    - item_type: preproc_def
      name: INET_ADDRSTRLEN
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: '16'
    - item_type: preproc_def
      name: MAI_HOSTADDR_STRSIZE
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: INET_ADDRSTRLEN
    - item_type: preproc_def
      name: MAI_HOSTNAME_STRSIZE
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: '1025'
    - item_type: preproc_def
      name: MAI_SERVNAME_STRSIZE
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: '32'
    - item_type: preproc_def
      name: MAI_SERVPORT_STRSIZE
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: sizeof("65535")
    - item_type: preproc_def
      name: MAI_V4ADDR_BITS
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: '32'
    - item_type: preproc_def
      name: MAI_V6ADDR_BITS
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: '128'
    - item_type: preproc_def
      name: MAI_V4ADDR_BYTES
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: ((MAI_V4ADDR_BITS + (CHAR_BIT - 1))/CHAR_BIT)
    - item_type: preproc_def
      name: MAI_V6ADDR_BYTES
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: ((MAI_V6ADDR_BITS + (CHAR_BIT - 1))/CHAR_BIT)
    - item_type: preproc_def
      name: MAI_CTL_END
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
      type_or_value: "0\t\t"
    structs:
    - fields:
      - name: ai_flags
        type: int
      - name: ai_family
        type: int
      - name: ai_socktype
        type: int
      - name: ai_protocol
        type: int
      - name: ai_addrlen
        type: size_t
      - name: '*ai_canonname'
        type: char
      - name: '*ai_addr'
        type: struct sockaddr
      - name: '*ai_next'
        type: struct addrinfo
      item_type: struct
      name: addrinfo
      pos:
        line_end: 55
        line_start: 46
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
    - fields:
      - name: dummy
        type: struct sockaddr_in
      item_type: struct
      name: sockaddr_storage
      pos:
        line_end: 62
        line_start: 60
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
    - fields:
      - name: buf[MAI_HOSTNAME_STRSIZE]
        type: char
      item_type: struct
      name: MAI_HOSTNAME_STR
      pos:
        line_end: 142
        line_start: 140
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
    - fields:
      - name: buf[MAI_HOSTADDR_STRSIZE]
        type: char
      item_type: struct
      name: MAI_HOSTADDR_STR
      pos:
        line_end: 146
        line_start: 144
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
    - fields:
      - name: buf[MAI_SERVNAME_STRSIZE]
        type: char
      item_type: struct
      name: MAI_SERVNAME_STR
      pos:
        line_end: 150
        line_start: 148
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
    - fields:
      - name: buf[MAI_SERVPORT_STRSIZE]
        type: char
      item_type: struct
      name: MAI_SERVPORT_STR
      pos:
        line_end: 154
        line_start: 152
        source_file: /src/postfix/postfix/src/util/myaddrinfo.h
    typedefs: []
    union: []
- function_names:
  - unix_listen
  - unix_accept
  source_file: /src/postfix/postfix/src/util/unix_listen.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - hex_quote
  - hex_unquote
  - read_buf
  - main
  source_file: /src/postfix/postfix/src/util/hex_quote.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUFLEN
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/postfix/postfix/src/util/hex_quote.c
      type_or_value: '1024'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mysrand
  - myrand
  source_file: /src/postfix/postfix/src/util/myrand.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNSIG_CHAR_PTR
  - base32_encode
  - base32_decode
  - ENFORCE_LENGTH
  - ENFORCE_PADDING
  - ENFORCE_NULL_BITS
  - ENFORCE_LENGTH
  - ENFORCE_PADDING
  - ENFORCE_NULL_BITS
  - STR
  - LEN
  - main
  - DECODE
  - VERIFY
  source_file: /src/postfix/postfix/src/util/base32_code.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UCHAR_MAX
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/postfix/postfix/src/util/base32_code.c
      type_or_value: '0xff'
    - item_type: preproc_def
      name: CHARS_PER_BYTE
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/postfix/postfix/src/util/base32_code.c
      type_or_value: (UCHAR_MAX + 1)
    - item_type: preproc_def
      name: INVALID
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/postfix/postfix/src/util/base32_code.c
      type_or_value: '0xff'
    structs: []
    typedefs: []
    union: []
- function_names:
  - LEN
  - STR
  - valid_refcounts_for_good_composite_syntax
  - RETURN
  - valid_refcounts_for_bad_composite_syntax
  - RETURN
  - propagates_notfound_and_found
  - propagates_error
  - no_comma_for_not_found
  - main
  source_file: /src/postfix/postfix/src/util/dict_union_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PASS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/src/util/dict_union_test.c
      type_or_value: '1'
    - item_type: preproc_def
      name: FAIL
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/util/dict_union_test.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: (*action) (void)
        type: int
      item_type: struct
      name: TEST_CASE
      pos:
        line_end: 216
        line_start: 213
        source_file: /src/postfix/postfix/src/util/dict_union_test.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/open_as.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - name_code
  - str_name_code
  source_file: /src/postfix/postfix/src/util/name_code.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cdb_fileno
  - dict_cdbq_get_data
  - dict_cdbq_lookup
  - dict_cdbq_sequence
  - dict_cdbq_close
  - dict_cdbq_open
  - DICT_CDBQ_OPEN_RETURN
  - dict_cdbm_update
  - dict_cdbm_close
  - dict_cdbm_open
  - DICT_CDBM_OPEN_RETURN
  - dict_cdb_open
  source_file: /src/postfix/postfix/src/util/dict_cdb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CDB_SUFFIX
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/postfix/postfix/src/util/dict_cdb.c
      type_or_value: '".cdb"'
    - item_type: preproc_def
      name: CDB_TMP_SUFFIX
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/postfix/postfix/src/util/dict_cdb.c
      type_or_value: CDB_SUFFIX ".tmp"
    structs:
    - fields:
      - name: dict
        type: DICT
      - name: cdb
        type: struct cdb
      - name: '*val_buf'
        type: VSTRING
      item_type: struct
      name: DICT_CDBQ
      pos:
        line_end: 91
        line_start: 83
        source_file: /src/postfix/postfix/src/util/dict_cdb.c
    - fields:
      - name: dict
        type: DICT
      - name: cdbm
        type: struct cdb_make
      - name: '*cdb_path'
        type: char
      - name: '*tmp_path'
        type: char
      item_type: struct
      name: DICT_CDBM
      pos:
        line_end: 98
        line_start: 93
        source_file: /src/postfix/postfix/src/util/dict_cdb.c
    typedefs: []
    union: []
- function_names:
  - perrorexit
  - cleanup
  - stuck
  - main
  source_file: /src/postfix/postfix/src/util/fifo_open.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FIFO_PATH
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postfix/postfix/src/util/fifo_open.c
      type_or_value: '"test-fifo"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - line_wrap
  source_file: /src/postfix/postfix/src/util/line_wrap.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - nvtable_create
  - nvtable_locate
  - nvtable_walk
  - nvtable_list
  - nvtable_find
  - nvtable_delete
  - nvtable_free
  source_file: /src/postfix/postfix/src/util/nvtable.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/msg_syslog.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - attr_print64_str
  - attr_print64_num
  - attr_print64_long_num
  - attr_vprint64
  - attr_print64
  - main
  source_file: /src/postfix/postfix/src/util/attr_print64.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mkmap_cdb_open
  source_file: /src/postfix/postfix/src/util/mkmap_cdb.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - unix_recv_fd
  - main
  source_file: /src/postfix/postfix/src/util/unix_recv_fd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: just_for_alignment
        type: struct cmsghdr
      - name: control[CMSG_SPACE(sizeof(newfd))]
        type: char
      item_type: union
      name: control_un
      pos:
        line_end: 71
        line_start: 68
        source_file: /src/postfix/postfix/src/util/unix_recv_fd.c
- function_names:
  - STR
  - strcasecmp_utf8_init
  - strcasecmp_utf8x
  - strncasecmp_utf8x
  - main
  source_file: /src/postfix/postfix/src/util/strcasecmp_utf8.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - dict_inline_to_multiline
  - dict_stream_open
  - RETURN_0_WITH_REASON
  - main
  - STRING_OR
  source_file: /src/postfix/postfix/src/util/dict_stream.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXP_NOERR
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/postfix/postfix/src/util/dict_stream.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EXP_NOCONT
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/postfix/postfix/src/util/dict_stream.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DICT_TYPE_TEST
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/postfix/postfix/src/util/dict_stream.c
      type_or_value: '"test"'
    structs:
    - fields:
      - name: '*title'
        type: char
      - name: '*mapname'
        type: char
      - name: '*expect_err'
        type: char
      - name: '*expect_cont'
        type: char
      item_type: struct
      name: testcase
      pos:
        line_end: 159
        line_start: 154
        source_file: /src/postfix/postfix/src/util/dict_stream.c
    typedefs: []
    union: []
- function_names:
  - peekfd
  source_file: /src/postfix/postfix/src/util/peekfd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHUT_RDWR
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/postfix/postfix/src/util/peekfd.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - attr_vprint0
  - attr_print0
  - main
  source_file: /src/postfix/postfix/src/util/attr_print0.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - HAS_IPV6_COL
  - host_port
  - STR
  - main
  source_file: /src/postfix/postfix/src/util/host_port.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IPV6_COL
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/postfix/postfix/src/util/host_port.c
      type_or_value: "\"IPv6:\"\t"
    - item_type: preproc_def
      name: IPV6_COL_LEN
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/postfix/postfix/src/util/host_port.c
      type_or_value: (sizeof(IPV6_COL) - 1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fullname
  - main
  source_file: /src/postfix/postfix/src/util/fullname.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/mymalloc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - open_lock
  source_file: /src/postfix/postfix/src/util/open_lock.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MSG_LOGGER_NEED_SOCKET
  - STR
  - LEN
  - msg_logger_connect
  - msg_logger_disconnect
  - msg_logger_print
  - msg_logger_init
  - UPDATE_AND_FREE
  - msg_logger_control
  - fallback
  - main
  source_file: /src/postfix/postfix/src/util/msg_logger.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MSG_LOGGER_SOCK_NONE
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/postfix/postfix/src/util/msg_logger.c
      type_or_value: (-1)
    - item_type: preproc_def
      name: MSG_LOGGER_RECLEN
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/postfix/postfix/src/util/msg_logger.c
      type_or_value: '2000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - CA_MSG_LOGGER_CTL_FALLBACK_FN
  source_file: /src/postfix/postfix/src/util/msg_logger.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MSG_LOGGER_CTL_END
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/util/msg_logger.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MSG_LOGGER_CTL_FALLBACK_ONLY
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/src/util/msg_logger.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MSG_LOGGER_CTL_FALLBACK_FN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/util/msg_logger.h
      type_or_value: '2'
    - item_type: preproc_def
      name: MSG_LOGGER_CTL_DISABLE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postfix/postfix/src/util/msg_logger.h
      type_or_value: '3'
    - item_type: preproc_def
      name: MSG_LOGGER_CTL_CONNECT_NOW
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/util/msg_logger.h
      type_or_value: '4'
    - item_type: preproc_def
      name: CA_MSG_LOGGER_CTL_END
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postfix/postfix/src/util/msg_logger.h
      type_or_value: MSG_LOGGER_CTL_END
    - item_type: preproc_def
      name: CA_MSG_LOGGER_CTL_FALLBACK_ONLY
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/util/msg_logger.h
      type_or_value: MSG_LOGGER_CTL_FALLBACK_ONLY
    - item_type: preproc_def
      name: CA_MSG_LOGGER_CTL_DISABLE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/util/msg_logger.h
      type_or_value: MSG_LOGGER_CTL_DISABLE
    - item_type: preproc_def
      name: CA_MSG_LOGGER_CTL_CONNECT_NOW
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/util/msg_logger.h
      type_or_value: MSG_LOGGER_CTL_CONNECT_NOW
    structs: []
    typedefs:
    - item_type: typedef
      name: (*MSG_LOGGER_FALLBACK_FN) (const char *)
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/postfix/postfix/src/util/msg_logger.h
      type: void
    union: []
- function_names:
  - logwriter_open_or_die
  - logwriter_write
  - logwriter_close
  - logwriter_one_shot
  - set_logwriter_create_perms
  source_file: /src/postfix/postfix/src/util/logwriter.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NO_STATP
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/postfix/postfix/src/util/logwriter.c
      type_or_value: ((struct stat *) 0)
    - item_type: preproc_def
      name: NO_CHOWN
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/postfix/postfix/src/util/logwriter.c
      type_or_value: (-1)
    - item_type: preproc_def
      name: NO_CHGRP
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/postfix/postfix/src/util/logwriter.c
      type_or_value: (-1)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/msg_vstream.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - inet_trigger_event
  - inet_trigger
  source_file: /src/postfix/postfix/src/util/inet_trigger.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: fd
        type: int
      - name: '*service'
        type: char
      item_type: struct
      name: inet_trigger
      pos:
        line_end: 67
        line_start: 64
        source_file: /src/postfix/postfix/src/util/inet_trigger.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/killme_after.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/clean_env.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/dict_inline.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_INLINE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/util/dict_inline.h
      type_or_value: '"inline"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/sane_time.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/ossl_digest.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/ldseed.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/dir_forest.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_unix_pass_fd_fix
  source_file: /src/postfix/postfix/src/util/unix_pass_fd_fix.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/timed_wait.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_fstat
  - usage
  - main
  - main
  source_file: /src/postfix/postfix/src/util/stream_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FIFO
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/postfix/postfix/src/util/stream_test.c
      type_or_value: '"/tmp/test-fifo"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - allprint
  source_file: /src/postfix/postfix/src/util/allprint.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - basename
  source_file: /src/postfix/postfix/src/util/basename.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - valid_hostname
  - valid_hostaddr
  - valid_ipv4_hostaddr
  - valid_ipv6_hostaddr
  - valid_hostport
  - main
  source_file: /src/postfix/postfix/src/util/valid_hostname.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BYTES_NEEDED
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/postfix/postfix/src/util/valid_hostname.c
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names:
  - binhash_hash
  - binhash_hash
  - binhash_link
  - binhash_size
  - binhash_create
  - binhash_grow
  - binhash_enter
  - binhash_find
  - KEY_EQ
  - binhash_locate
  - binhash_delete
  - binhash_free
  - binhash_walk
  - binhash_list
  - binhash_sequence
  - main
  source_file: /src/postfix/postfix/src/util/binhash.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - htable_hash
  - htable_hash
  - htable_link
  - htable_size
  - htable_create
  - htable_grow
  - htable_enter
  - htable_find
  - STREQ
  - htable_locate
  - STREQ
  - htable_delete
  - STREQ
  - htable_free
  - htable_walk
  - htable_list
  - htable_sequence
  - main
  source_file: /src/postfix/postfix/src/util/htable.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - inet_addr_list_init
  - inet_addr_list_append
  - inet_addr_list_comp
  - inet_addr_list_uniq
  - inet_addr_list_free
  - inet_addr_list_print
  - main
  source_file: /src/postfix/postfix/src/util/inet_addr_list.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SCOPY
  - dict_lmdb_lookup
  - dict_lmdb_update
  - dict_lmdb_delete
  - dict_lmdb_sequence
  - dict_lmdb_close
  - dict_lmdb_longjmp
  - dict_lmdb_notify
  - dict_lmdb_assert
  - dict_lmdb_open
  - DICT_LMDB_OPEN_RETURN
  source_file: /src/postfix/postfix/src/util/dict_lmdb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_LMDB_SUFFIX
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/postfix/postfix/src/util/dict_lmdb.c
      type_or_value: '"lmdb"'
    - item_type: preproc_def
      name: DICT_LMDB_SIZE_INCR
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/postfix/postfix/src/util/dict_lmdb.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: DICT_LMDB_SIZE_MAX
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/postfix/postfix/src/util/dict_lmdb.c
      type_or_value: SSIZE_T_MAX
    - item_type: preproc_def
      name: DICT_LMDB_API_RETRY_LIMIT
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/postfix/postfix/src/util/dict_lmdb.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: DICT_LMDB_BULK_RETRY_LIMIT
      pos:
        line_end: 127
        line_start: 124
        source_file: /src/postfix/postfix/src/util/dict_lmdb.c
      type_or_value: "((int) (2 * sizeof(size_t) * CHAR_BIT))\t"
    - item_type: preproc_def
      name: DICT_LMDB_IMPL_FLAGS
      pos:
        line_end: 674
        line_start: 673
        source_file: /src/postfix/postfix/src/util/dict_lmdb.c
      type_or_value: (DICT_FLAG_FIXED | DICT_FLAG_MULTI_WRITER)
    structs:
    - fields:
      - name: dict
        type: DICT
      - name: slmdb
        type: SLMDB
      - name: '*key_buf'
        type: VSTRING
      - name: '*val_buf'
        type: VSTRING
      item_type: struct
      name: DICT_LMDB
      pos:
        line_end: 93
        line_start: 88
        source_file: /src/postfix/postfix/src/util/dict_lmdb.c
    typedefs: []
    union: []
- function_names:
  - dict_nis_init
  - dict_nis_strerror
  - dict_nis_lookup
  - dict_nis_close
  - dict_nis_open
  source_file: /src/postfix/postfix/src/util/dict_nis.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: YPERR_BUSY
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/util/dict_nis.c
      type_or_value: '16'
    - item_type: preproc_def
      name: YPERR_ACCESS
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/util/dict_nis.c
      type_or_value: '15'
    structs:
    - fields:
      - name: dict
        type: DICT
      item_type: struct
      name: DICT_NIS
      pos:
        line_end: 66
        line_start: 64
        source_file: /src/postfix/postfix/src/util/dict_nis.c
    typedefs: []
    union: []
- function_names:
  - name_mask_opt
  - name_mask
  - str_name_mask
  - long_name_mask_opt
  - long_name_mask
  - str_long_name_mask
  source_file: /src/postfix/postfix/src/util/name_mask.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NAME_MASK_FATAL
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/util/name_mask.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: NAME_MASK_ANY_CASE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/util/name_mask.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: NAME_MASK_RETURN
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/util/name_mask.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: NAME_MASK_COMMA
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postfix/postfix/src/util/name_mask.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: NAME_MASK_PIPE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/util/name_mask.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: NAME_MASK_NUMBER
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postfix/postfix/src/util/name_mask.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: NAME_MASK_WARN
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postfix/postfix/src/util/name_mask.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: NAME_MASK_IGNORE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/util/name_mask.h
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: NAME_MASK_REQUIRED
      pos:
        line_end: 37
        line_start: 35
        source_file: /src/postfix/postfix/src/util/name_mask.h
      type_or_value: (NAME_MASK_FATAL | NAME_MASK_RETURN | NAME_MASK_WARN | NAME_MASK_IGNORE)
    - item_type: preproc_def
      name: STR_NAME_MASK_REQUIRED
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/util/name_mask.h
      type_or_value: (NAME_MASK_REQUIRED | NAME_MASK_NUMBER)
    - item_type: preproc_def
      name: NAME_MASK_MATCH_REQ
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postfix/postfix/src/util/name_mask.h
      type_or_value: NAME_MASK_FATAL
    - item_type: preproc_def
      name: NAME_MASK_NONE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/util/name_mask.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NAME_MASK_DEFAULT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postfix/postfix/src/util/name_mask.h
      type_or_value: (NAME_MASK_FATAL)
    - item_type: preproc_def
      name: NAME_MASK_DEFAULT_DELIM
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/util/name_mask.h
      type_or_value: '", \t\r\n"'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: mask
        type: int
      item_type: struct
      name: NAME_MASK
      pos:
        line_end: 24
        line_start: 21
        source_file: /src/postfix/postfix/src/util/name_mask.h
    - fields:
      - name: '*name'
        type: char
      - name: mask
        type: long
      item_type: struct
      name: LONG_NAME_MASK
      pos:
        line_end: 62
        line_start: 59
        source_file: /src/postfix/postfix/src/util/name_mask.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/fsspace.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: block_size
        type: unsigned long
      - name: block_free
        type: unsigned long
      item_type: struct
      name: fsspace
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/postfix/postfix/src/util/fsspace.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/hash_fnv.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HASH_FNV_T
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/postfix/postfix/src/util/hash_fnv.h
      type_or_value: uint32_t
    - item_type: preproc_def
      name: HASH_FNV_T
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/util/hash_fnv.h
      type_or_value: uint64_t
    structs: []
    typedefs: []
    union: []
- function_names:
  - fifo_listen
  source_file: /src/postfix/postfix/src/util/fifo_listen.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUF_LEN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postfix/postfix/src/util/fifo_listen.c
      type_or_value: '100'
    structs: []
    typedefs: []
    union: []
- function_names:
  - sane_link
  source_file: /src/postfix/postfix/src/util/sane_link.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - diagnose_stat
  - warn_stat
  - warn_lstat
  - warn_fstat
  source_file: /src/postfix/postfix/src/util/warn_stat.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vstream_tweak_sock
  - vstream_tweak_tcp
  - EFF_BUFFER_SIZE
  source_file: /src/postfix/postfix/src/util/vstream_tweak.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SOCKADDR_STORAGE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postfix/postfix/src/util/vstream_tweak.c
      type_or_value: struct sockaddr_storage
    - item_type: preproc_def
      name: SOCKADDR_STORAGE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/postfix/postfix/src/util/vstream_tweak.c
      type_or_value: struct sockaddr
    structs: []
    typedefs: []
    union: []
- function_names:
  - HTABLE_ACTION_FN_CAST
  - HTABLE_FREE_FN_CAST
  source_file: /src/postfix/postfix/src/util/htable.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTABLE_SEQ_FIRST
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postfix/postfix/src/util/htable.h
      type_or_value: '0'
    - item_type: preproc_def
      name: HTABLE_SEQ_NEXT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/util/htable.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HTABLE_SEQ_STOP
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/util/htable.h
      type_or_value: (-1)
    structs:
    - fields:
      - name: '*key'
        type: char
      - name: '*value'
        type: void
      - name: '*next'
        type: struct HTABLE_INFO
      - name: '*prev'
        type: struct HTABLE_INFO
      item_type: struct
      name: HTABLE_INFO
      pos:
        line_end: 20
        line_start: 15
        source_file: /src/postfix/postfix/src/util/htable.h
    - fields:
      - name: size
        type: ssize_t
      - name: used
        type: ssize_t
      - name: '**data'
        type: HTABLE_INFO
      - name: '**seq_bucket'
        type: HTABLE_INFO
      - name: '**seq_element'
        type: HTABLE_INFO
      item_type: struct
      name: HTABLE
      pos:
        line_end: 30
        line_start: 24
        source_file: /src/postfix/postfix/src/util/htable.h
    typedefs: []
    union: []
- function_names:
  - LEN
  - STR
  - valid_refcounts_for_good_composite_syntax
  - RETURN
  - valid_refcounts_for_bad_composite_syntax
  - RETURN
  - propagates_notfound_and_found
  - propagates_notfound_and_error
  - main
  source_file: /src/postfix/postfix/src/util/dict_pipe_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PASS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postfix/postfix/src/util/dict_pipe_test.c
      type_or_value: '1'
    - item_type: preproc_def
      name: FAIL
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/util/dict_pipe_test.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: (*action) (void)
        type: int
      item_type: struct
      name: TEST_CASE
      pos:
        line_end: 190
        line_start: 187
        source_file: /src/postfix/postfix/src/util/dict_pipe_test.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/auto_clnt.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AUTO_CLNT_CTL_END
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postfix/postfix/src/util/auto_clnt.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AUTO_CLNT_CTL_HANDSHAKE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postfix/postfix/src/util/auto_clnt.h
      type_or_value: "1\t"
    structs: []
    typedefs:
    - item_type: typedef
      name: (*AUTO_CLNT_HANDSHAKE_FN) (VSTREAM *)
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/postfix/postfix/src/util/auto_clnt.h
      type: int
    union: []
- function_names:
  - STR
  - LEN
  - dict_file_to_buf
  - DICT_FILE_RETURN
  - dict_file_to_b64
  - dict_file_from_b64
  - dict_file_get_error
  - dict_file_purge_buffers
  - dict_file_lookup
  source_file: /src/postfix/postfix/src/util/dict_file.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/get_domainname.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - balpar
  source_file: /src/postfix/postfix/src/util/balpar.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - sane_basename
  - sane_dirname
  - main
  source_file: /src/postfix/postfix/src/util/sane_basename.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - concatenate
  source_file: /src/postfix/postfix/src/util/concatenate.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - clean_env
  - update_env
  - main
  source_file: /src/postfix/postfix/src/util/clean_env.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/open_lock.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DICT_PCRE_FREE_STUDY
  - DICT_PCRE_FREE_STUDY
  - DICT_PCRE_CODE_FREE
  - DICT_PCRE_MATCH_HINT
  - DICT_PCRE_MATCH_HINT_FREE
  - DICT_PCRE_CODE_FREE
  - DICT_PCRE_MATCH_HINT
  - DICT_PCRE_MATCH_HINT_FREE
  - dict_pcre_expand
  - dict_pcre_get_error
  - dict_pcre_exec_error
  - DICT_PCRE_EXEC
  - DICT_PCRE_EXEC
  - dict_pcre_lookup
  - dict_pcre_close
  - dict_pcre_get_pattern
  - dict_pcre_prescan
  - dict_pcre_compile
  - dict_pcre_rule_alloc
  - dict_pcre_parse_rule
  - CREATE_MATCHOP_ERROR_RETURN
  - dict_pcre_open
  - DICT_PCRE_OPEN_RETURN
  source_file: /src/postfix/postfix/src/util/dict_pcre.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCRE2_CODE_UNIT_WIDTH
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: '8'
    - item_type: preproc_def
      name: DICT_PCRE_CODE
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: pcre
    - item_type: preproc_def
      name: DICT_PCRE_MATCH_HINT_TYPE
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: pcre_extra *
    - item_type: preproc_def
      name: DICT_PCRE_MATCH_HINT_NAME
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: hints
    - item_type: preproc_def
      name: DICT_PCRE_CASELESS
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: PCRE_CASELESS
    - item_type: preproc_def
      name: DICT_PCRE_MULTILINE
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: PCRE_MULTILINE
    - item_type: preproc_def
      name: DICT_PCRE_DOTALL
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: PCRE_DOTALL
    - item_type: preproc_def
      name: DICT_PCRE_EXTENDED
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: PCRE_EXTENDED
    - item_type: preproc_def
      name: DICT_PCRE_ANCHORED
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: PCRE_ANCHORED
    - item_type: preproc_def
      name: DICT_PCRE_DOLLAR_ENDONLY
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: PCRE_DOLLAR_ENDONLY
    - item_type: preproc_def
      name: DICT_PCRE_UNGREEDY
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: PCRE_UNGREEDY
    - item_type: preproc_def
      name: DICT_PCRE_EXTRA
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: PCRE_EXTRA
    - item_type: preproc_def
      name: DICT_PCRE_CAPTURECOUNT_T
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: int
    - item_type: preproc_def
      name: DICT_PCRE_CODE
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: pcre2_code
    - item_type: preproc_def
      name: DICT_PCRE_MATCH_HINT_TYPE
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: pcre2_match_data *
    - item_type: preproc_def
      name: DICT_PCRE_MATCH_HINT_NAME
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: match_data
    - item_type: preproc_def
      name: DICT_PCRE_CASELESS
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: PCRE2_CASELESS
    - item_type: preproc_def
      name: DICT_PCRE_MULTILINE
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: PCRE2_MULTILINE
    - item_type: preproc_def
      name: DICT_PCRE_DOTALL
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: PCRE2_DOTALL
    - item_type: preproc_def
      name: DICT_PCRE_EXTENDED
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: PCRE2_EXTENDED
    - item_type: preproc_def
      name: DICT_PCRE_ANCHORED
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: PCRE2_ANCHORED
    - item_type: preproc_def
      name: DICT_PCRE_DOLLAR_ENDONLY
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: PCRE2_DOLLAR_ENDONLY
    - item_type: preproc_def
      name: DICT_PCRE_UNGREEDY
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: PCRE2_UNGREEDY
    - item_type: preproc_def
      name: DICT_PCRE_EXTRA
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DICT_PCRE_CAPTURECOUNT_T
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: uint32_t
    - item_type: preproc_def
      name: DICT_PCRE_OP_MATCH
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: DICT_PCRE_OP_IF
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: "2\t\t"
    - item_type: preproc_def
      name: DICT_PCRE_OP_ENDIF
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: "3\t\t"
    - item_type: preproc_def
      name: PCRE_MAX_CAPTURE
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: '99'
    - item_type: preproc_def
      name: MAC_PARSE_OK
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: '0'
    - item_type: preproc_def
      name: NULL_STARTOFFSET
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: (0)
    - item_type: preproc_def
      name: NULL_EXEC_OPTIONS
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: (0)
    - item_type: preproc_def
      name: DICT_PCRE_GET_ERROR_BUF_LEN
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
      type_or_value: '256'
    structs:
    - fields:
      - name: '*regexp'
        type: char
      - name: options
        type: int
      - name: match
        type: int
      item_type: struct
      name: DICT_PCRE_REGEXP
      pos:
        line_end: 166
        line_start: 162
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
    - fields:
      - name: '*pattern'
        type: DICT_PCRE_CODE
      - name: DICT_PCRE_MATCH_HINT_NAME
        type: DICT_PCRE_MATCH_HINT_TYPE
      item_type: struct
      name: DICT_PCRE_ENGINE
      pos:
        line_end: 171
        line_start: 168
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
    - fields:
      - name: op
        type: int
      - name: lineno
        type: int
      - name: '*next'
        type: struct DICT_PCRE_RULE
      item_type: struct
      name: DICT_PCRE_RULE
      pos:
        line_end: 180
        line_start: 176
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
    - fields:
      - name: rule
        type: DICT_PCRE_RULE
      - name: '*pattern'
        type: DICT_PCRE_CODE
      - name: DICT_PCRE_MATCH_HINT_NAME
        type: DICT_PCRE_MATCH_HINT_TYPE
      - name: '*replacement'
        type: char
      - name: match
        type: int
      - name: max_sub
        type: size_t
      item_type: struct
      name: DICT_PCRE_MATCH_RULE
      pos:
        line_end: 189
        line_start: 182
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
    - fields:
      - name: rule
        type: DICT_PCRE_RULE
      - name: '*pattern'
        type: DICT_PCRE_CODE
      - name: DICT_PCRE_MATCH_HINT_NAME
        type: DICT_PCRE_MATCH_HINT_TYPE
      - name: match
        type: int
      - name: '*endif_rule'
        type: struct DICT_PCRE_RULE
      item_type: struct
      name: DICT_PCRE_IF_RULE
      pos:
        line_end: 197
        line_start: 191
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
    - fields:
      - name: dict
        type: DICT
      - name: '*head'
        type: DICT_PCRE_RULE
      - name: '*expansion_buf'
        type: VSTRING
      item_type: struct
      name: DICT_PCRE
      pos:
        line_end: 206
        line_start: 202
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
    - fields:
      - name: '*dict_pcre'
        type: DICT_PCRE
      - name: '*lookup_string'
        type: char
      - name: matches
        type: int
      item_type: struct
      name: DICT_PCRE_EXPAND_CONTEXT
      pos:
        line_end: 228
        line_start: 216
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
    - fields:
      - name: '*mapname'
        type: char
      - name: lineno
        type: int
      - name: max_sub
        type: size_t
      - name: '*literal'
        type: char
      item_type: struct
      name: DICT_PCRE_PRESCAN_CONTEXT
      pos:
        line_end: 238
        line_start: 233
        source_file: /src/postfix/postfix/src/util/dict_pcre.c
    typedefs: []
    union: []
- function_names:
  - stat_as
  source_file: /src/postfix/postfix/src/util/stat_as.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/base32_code.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - exec_command
  - main
  source_file: /src/postfix/postfix/src/util/exec_command.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SPACE_TAB
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/util/exec_command.c
      type_or_value: '" \t"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - unix_trigger_event
  - unix_trigger
  source_file: /src/postfix/postfix/src/util/unix_trigger.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: fd
        type: int
      - name: '*service'
        type: char
      item_type: struct
      name: unix_trigger
      pos:
        line_end: 65
        line_start: 62
        source_file: /src/postfix/postfix/src/util/unix_trigger.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/dict_ni.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_NETINFO
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/util/dict_ni.h
      type_or_value: '"netinfo"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - msg_rate_delay
  - main
  source_file: /src/postfix/postfix/src/util/msg_rate_delay.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VBUF_SNPRINTF
  - VBUF_SNPRINTF
  - VBUF_SKIP
  - VSTRING_ADDNUM
  - VBUF_STRCAT
  - vbuf_print
  - main
  source_file: /src/postfix/postfix/src/util/vbuf_print.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IMX_SPACE
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/postfix/postfix/src/util/vbuf_print.c
      type_or_value: ((CHAR_BIT * sizeof(intmax_t)) / 2)
    - item_type: preproc_def
      name: LL_SPACE
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/postfix/postfix/src/util/vbuf_print.c
      type_or_value: ((CHAR_BIT * sizeof(long long)) / 2)
    - item_type: preproc_def
      name: INT_SPACE
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/postfix/postfix/src/util/vbuf_print.c
      type_or_value: ((CHAR_BIT * sizeof(long)) / 2)
    - item_type: preproc_def
      name: DBL_SPACE
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/postfix/postfix/src/util/vbuf_print.c
      type_or_value: ((CHAR_BIT * sizeof(double)) / 2 + DBL_MAX_10_EXP)
    - item_type: preproc_def
      name: PTR_SPACE
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/postfix/postfix/src/util/vbuf_print.c
      type_or_value: ((CHAR_BIT * sizeof(char *)) / 2)
    structs: []
    typedefs: []
    union: []
- function_names:
  - rand_sleep
  - main
  source_file: /src/postfix/postfix/src/util/rand_sleep.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_file_limit
  - set_file_limit
  source_file: /src/postfix/postfix/src/util/file_limit.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ULIMIT_BLOCK_SIZE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/postfix/postfix/src/util/file_limit.c
      type_or_value: '512'
    structs: []
    typedefs: []
    union: []
- function_names:
  - duplex_pipe
  source_file: /src/postfix/postfix/src/util/duplex_pipe.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - load_file
  source_file: /src/postfix/postfix/src/util/load_file.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - make_dirs
  - SKIP_WHILE
  - main
  source_file: /src/postfix/postfix/src/util/make_dirs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/set_ugid.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - non_blocking
  source_file: /src/postfix/postfix/src/util/non_blocking.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PATTERN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postfix/postfix/src/util/non_blocking.c
      type_or_value: FNDELAY
    - item_type: preproc_def
      name: PATTERN
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/postfix/postfix/src/util/non_blocking.c
      type_or_value: O_NONBLOCK
    structs: []
    typedefs: []
    union: []
- function_names:
  - username
  source_file: /src/postfix/postfix/src/util/username.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mystrtok_warn
  - mystrtok
  - mystrtok_cw
  - mystrtokq
  - mystrtokq_cw
  - mystrtokdq
  - mystrtokdq_cw
  - main
  - STR_OR_NULL
  source_file: /src/postfix/postfix/src/util/mystrtok.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXPECT_SIZE
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/postfix/postfix/src/util/mystrtok.c
      type_or_value: '5'
    - item_type: preproc_def
      name: NUM_TESTS
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/postfix/postfix/src/util/mystrtok.c
      type_or_value: sizeof(testcases)/sizeof(testcases[0])
    structs:
    - fields:
      - name: '*action'
        type: char
      - name: '*input'
        type: char
      - name: '*expected[EXPECT_SIZE]'
        type: char
      item_type: struct
      name: testcase
      pos:
        line_end: 257
        line_start: 253
        source_file: /src/postfix/postfix/src/util/mystrtok.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/attr_clnt.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ATTR_CLNT_CTL_END
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postfix/postfix/src/util/attr_clnt.h
      type_or_value: '0'
    - item_type: preproc_def
      name: ATTR_CLNT_CTL_PROTO
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/util/attr_clnt.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: ATTR_CLNT_CTL_REQ_LIMIT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postfix/postfix/src/util/attr_clnt.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: ATTR_CLNT_CTL_TRY_LIMIT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postfix/postfix/src/util/attr_clnt.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: ATTR_CLNT_CTL_TRY_DELAY
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postfix/postfix/src/util/attr_clnt.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: ATTR_CLNT_CTL_HANDSHAKE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/util/attr_clnt.h
      type_or_value: "5\t"
    structs: []
    typedefs:
    - item_type: typedef
      name: (*ATTR_CLNT_PRINT_FN) (VSTREAM *, int, va_list)
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/postfix/postfix/src/util/attr_clnt.h
      type: int
    - item_type: typedef
      name: (*ATTR_CLNT_SCAN_FN) (VSTREAM *, int, va_list)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/postfix/postfix/src/util/attr_clnt.h
      type: int
    - item_type: typedef
      name: (*ATTR_CLNT_HANDSHAKE_FN) (VSTREAM *)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/postfix/postfix/src/util/attr_clnt.h
      type: int
    union: []
- function_names:
  - ldseed
  source_file: /src/postfix/postfix/src/util/ldseed.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NON_WALLTIME_CLOCK
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/postfix/postfix/src/util/ldseed.c
      type_or_value: CLOCK_UPTIME
    - item_type: preproc_def
      name: NON_WALLTIME_CLOCK
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/postfix/postfix/src/util/ldseed.c
      type_or_value: CLOCK_BOOTTIME
    - item_type: preproc_def
      name: NON_WALLTIME_CLOCK
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/postfix/postfix/src/util/ldseed.c
      type_or_value: CLOCK_MONOTONIC
    - item_type: preproc_def
      name: NON_WALLTIME_CLOCK
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/postfix/postfix/src/util/ldseed.c
      type_or_value: CLOCK_HIGHRES
    structs: []
    typedefs: []
    union: []
- function_names:
  - recv_pass_attr
  source_file: /src/postfix/postfix/src/util/recv_pass_attr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - attr_vprint_plain
  - attr_print_plain
  - main
  source_file: /src/postfix/postfix/src/util/attr_print_plain.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/inet_addr_list.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: used
        type: int
      - name: size
        type: int
      - name: '*addrs'
        type: struct sockaddr_storage
      item_type: struct
      name: INET_ADDR_LIST
      pos:
        line_end: 25
        line_start: 21
        source_file: /src/postfix/postfix/src/util/inet_addr_list.h
    typedefs: []
    union: []
- function_names:
  - NEED_DICT_OPEN_INIT
  - dict_open_init
  - dict_open
  - dict_open3
  - DICT_OPEN3_RETURN
  - dict_open_register
  - dict_open_lookup
  - dict_open_extend
  - dict_mapnames
  - dict_mapnames_extend
  - dict_type_override
  - main
  source_file: /src/postfix/postfix/src/util/dict_open.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sane_accept
  source_file: /src/postfix/postfix/src/util/sane_accept.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fifo_trigger
  - cleanup
  - handler
  - read_event
  - main
  source_file: /src/postfix/postfix/src/util/fifo_trigger.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_FIFO
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/postfix/postfix/src/util/fifo_trigger.c
      type_or_value: '"test-fifo"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - dict_node
  - DICT_FIND_FOR_LOOKUP
  - DICT_FIND_FOR_UPDATE
  - STR
  - dict_register_close
  - dict_register
  - dict_handle
  - dict_node_free
  - dict_unregister
  - dict_update
  - dict_lookup
  - dict_delete
  - dict_sequence
  - dict_error
  - dict_load_file_xt
  - dict_load_fp
  - dict_eval_lookup
  - dict_eval
  - dict_walk
  - dict_changed_name
  - dict_changed
  - dict_flags_str
  - dict_flags_mask
  - dict_make_registered_name
  - dict_make_registered_name4
  source_file: /src/postfix/postfix/src/util/dict.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DONT_FILTER
      pos:
        line_end: 597
        line_start: 596
        source_file: /src/postfix/postfix/src/util/dict.c
      type_or_value: (char *) 0
    structs:
    - fields:
      - name: '*dict'
        type: DICT
      - name: refcount
        type: int
      item_type: struct
      name: DICT_NODE
      pos:
        line_end: 305
        line_start: 302
        source_file: /src/postfix/postfix/src/util/dict.c
    typedefs: []
    union: []
- function_names:
  - hex_encode
  - hex_decode
  source_file: /src/postfix/postfix/src/util/hex_code.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HEX_ENCODE_FLAG_NONE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/util/hex_code.h
      type_or_value: (0)
    - item_type: preproc_def
      name: HEX_ENCODE_FLAG_USE_COLON
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/util/hex_code.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: HEX_ENCODE_FLAG_APPEND
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postfix/postfix/src/util/hex_code.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: HEX_ENCODE_FLAG_LOWERCASE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/postfix/postfix/src/util/hex_code.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: HEX_DECODE_FLAG_NONE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/util/hex_code.h
      type_or_value: (0)
    - item_type: preproc_def
      name: HEX_DECODE_FLAG_ALLOW_COLON
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/util/hex_code.h
      type_or_value: (1<<0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - dict_pipe_lookup
  - dict_pipe_close
  - dict_pipe_open
  - DICT_PIPE_RETURN
  source_file: /src/postfix/postfix/src/util/dict_pipe.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dict
        type: DICT
      - name: '*map_pipe'
        type: ARGV
      - name: '*qr_buf'
        type: VSTRING
      item_type: struct
      name: DICT_PIPE
      pos:
        line_end: 62
        line_start: 58
        source_file: /src/postfix/postfix/src/util/dict_pipe.c
    typedefs: []
    union: []
- function_names:
  - usage
  - dict_test
  source_file: /src/postfix/postfix/src/util/dict_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USAGE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/postfix/postfix/src/util/dict_test.c
      type_or_value: '"verbose|del key|get key|put key=value|first|next|masks|flags"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - safe_open_exist
  - safe_open_create
  - CHANGE_OWNER
  - safe_open
  source_file: /src/postfix/postfix/src/util/safe_open.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/dict_debug.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_DEBUG
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/util/dict_debug.h
      type_or_value: '"debug"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - msg_info
  - vmsg_info
  - msg_warn
  - vmsg_warn
  - msg_error
  - vmsg_error
  - msg_fatal
  - vmsg_fatal
  - msg_fatal_status
  - vmsg_fatal_status
  - msg_panic
  - vmsg_panic
  - msg_cleanup
  - msg_error_limit
  - msg_error_clear
  source_file: /src/postfix/postfix/src/util/msg.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mystrtok
  - mystrtokq
  - mystrtokdq
  - printable
  - allascii
  - casefold
  - casefold_len
  - casefold_append
  - strcasecmp_utf8
  - strncasecmp_utf8
  - STRREF
  source_file: /src/postfix/postfix/src/util/stringops.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: basename
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/util/stringops.h
      type_or_value: postfix_basename
    - item_type: preproc_def
      name: EXTPAR_FLAG_NONE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/postfix/postfix/src/util/stringops.h
      type_or_value: (0)
    - item_type: preproc_def
      name: EXTPAR_FLAG_STRIP
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/postfix/postfix/src/util/stringops.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: EXTPAR_FLAG_EXTRACT
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/postfix/postfix/src/util/stringops.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: EXTPAR_FLAG_NORMAL_WS
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/postfix/postfix/src/util/stringops.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: CASEF_FLAG_UTF8
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/postfix/postfix/src/util/stringops.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: CASEF_FLAG_APPEND
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/postfix/postfix/src/util/stringops.h
      type_or_value: (1<<1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - timed_wait_alarm
  - timed_waitpid
  source_file: /src/postfix/postfix/src/util/timed_wait.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dict_cidr_lookup
  - dict_cidr_close
  - dict_cidr_parse_rule
  - dict_cidr_open
  - DICT_CIDR_OPEN_RETURN
  source_file: /src/postfix/postfix/src/util/dict_cidr.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: cidr_info
        type: CIDR_MATCH
      - name: '*value'
        type: char
      - name: lineno
        type: int
      item_type: struct
      name: DICT_CIDR_ENTRY
      pos:
        line_end: 73
        line_start: 69
        source_file: /src/postfix/postfix/src/util/dict_cidr.c
    - fields:
      - name: dict
        type: DICT
      - name: '*head'
        type: DICT_CIDR_ENTRY
      item_type: struct
      name: DICT_CIDR
      pos:
        line_end: 78
        line_start: 75
        source_file: /src/postfix/postfix/src/util/dict_cidr.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/match_list.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MATCH_FLAG_NONE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postfix/postfix/src/util/match_list.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MATCH_FLAG_PARENT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postfix/postfix/src/util/match_list.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: MATCH_FLAG_RETURN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postfix/postfix/src/util/match_list.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: MATCH_FLAG_ALL
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postfix/postfix/src/util/match_list.h
      type_or_value: (MATCH_FLAG_PARENT | MATCH_FLAG_RETURN)
    structs:
    - fields:
      - name: '*pname'
        type: char
      - name: flags
        type: int
      - name: '*patterns'
        type: ARGV
      - name: match_count
        type: int
      - name: '*match_func'
        type: MATCH_LIST_FN
      - name: '**match_args'
        type: char
      - name: '*fold_buf'
        type: VSTRING
      - name: error
        type: int
      item_type: struct
      name: MATCH_LIST
      pos:
        line_end: 35
        line_start: 26
        source_file: /src/postfix/postfix/src/util/match_list.h
    typedefs:
    - item_type: typedef
      name: (*MATCH_LIST_FN) (MATCH_LIST *, const char *, const char *)
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/postfix/postfix/src/util/match_list.h
      type: int
    union: []
- function_names:
  - mkmap_sdbm_after_close
  - mkmap_sdbm_open
  source_file: /src/postfix/postfix/src/util/mkmap_sdbm.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: mkmap
        type: MKMAP
      - name: '*lock_file'
        type: char
      - name: lock_fd
        type: int
      item_type: struct
      name: MKMAP_SDBM
      pos:
        line_end: 58
        line_start: 54
        source_file: /src/postfix/postfix/src/util/mkmap_sdbm.c
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - END
  - readllines
  - main
  source_file: /src/postfix/postfix/src/util/readlline.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUM_TESTS
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/postfix/postfix/src/util/readlline.c
      type_or_value: sizeof(testcases)/sizeof(testcases[0])
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*input'
        type: char
      - name: '*exp_output'
        type: char
      - name: exp_first_line
        type: int
      - name: exp_last_line
        type: int
      item_type: struct
      name: testcase
      pos:
        line_end: 184
        line_start: 178
        source_file: /src/postfix/postfix/src/util/readlline.c
    typedefs: []
    union: []
- function_names:
  - pass_trigger_event
  - pass_trigger
  source_file: /src/postfix/postfix/src/util/pass_trigger.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: connect_fd
        type: int
      - name: '*service'
        type: char
      - name: pass_fd[2]
        type: int
      item_type: struct
      name: pass_trigger
      pos:
        line_end: 67
        line_start: 63
        source_file: /src/postfix/postfix/src/util/pass_trigger.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/lstat_as.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - inet_listen
  - inet_accept
  source_file: /src/postfix/postfix/src/util/inet_listen.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/stat_as.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/edit_file.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EDIT_FILE_SUFFIX
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/util/edit_file.h
      type_or_value: '".tmp"'
    structs:
    - fields:
      - name: '*final_path'
        type: char
      - name: final_mode
        type: mode_t
      - name: '*tmp_path'
        type: char
      - name: '*tmp_fp'
        type: VSTREAM
      item_type: struct
      name: EDIT_FILE
      pos:
        line_end: 28
        line_start: 21
        source_file: /src/postfix/postfix/src/util/edit_file.h
    typedefs: []
    union: []
- function_names:
  - msg_output
  - msg_printf
  - msg_vprintf
  source_file: /src/postfix/postfix/src/util/msg_output.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MSG_OUT_NESTING_LIMIT
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/postfix/postfix/src/util/msg_output.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - dict_nisplus_lookup
  - dict_nisplus_close
  - dict_nisplus_open
  source_file: /src/postfix/postfix/src/util/dict_nisplus.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dict
        type: DICT
      - name: '*template'
        type: char
      - name: column
        type: int
      item_type: struct
      name: DICT_NISPLUS
      pos:
        line_end: 67
        line_start: 63
        source_file: /src/postfix/postfix/src/util/dict_nisplus.c
    typedefs: []
    union: []
- function_names:
  - OPENSSL_VERSION_PREREQ
  - EVP_MD_fetch
  - STR
  - LEN
  - ossl_digest_new
  - ossl_digest_data
  - ossl_digest_get_size
  - ossl_digest_get_errors
  - ERRGET
  - ERRGET
  - ossl_digest_log_errors
  - ossl_digest_free
  source_file: /src/postfix/postfix/src/util/ossl_digest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BC_CONST
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/postfix/postfix/src/util/ossl_digest.c
      type_or_value: const
    - item_type: preproc_def
      name: EVP_MD_get_size
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/postfix/postfix/src/util/ossl_digest.c
      type_or_value: EVP_MD_size
    structs:
    - fields:
      - name: '*mdctx'
        type: EVP_MD_CTX
      - name: '*dgst_alg'
        type: BC_CONST
      item_type: struct
      name: OSSL_DGST
      pos:
        line_end: 113
        line_start: 110
        source_file: /src/postfix/postfix/src/util/ossl_digest.c
    typedefs: []
    union: []
- function_names:
  - _STRINGIFY
  - _STRLEN
  - inet_addr_sizes
  source_file: /src/postfix/postfix/src/util/inet_addr_sizes.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - argv_free
  - argv_alloc
  - argv_cmp
  - argv_qsort
  - argv_sort
  - argv_uniq
  - argv_extend
  - argv_add
  - ARGV_SPACE_LEFT
  - argv_addn
  - argv_addv
  - argv_terminate
  - argv_truncate
  - argv_insert_one
  - argv_replace_one
  - argv_delete
  - argv_join
  - test_msg_panic
  - test_argv_populate
  - test_argv_sort
  - test_argv_sort_uniq
  - test_argv_good_truncate
  - test_argv_bad_truncate
  - test_argv_good_insert
  - test_argv_bad_insert1
  - test_argv_bad_insert2
  - test_argv_good_replace
  - test_argv_bad_replace1
  - test_argv_bad_replace2
  - test_argv_bad_delete1
  - test_argv_bad_delete2
  - test_argv_bad_delete3
  - test_argv_join
  - test_argv_addv_appends
  - test_argv_addv_creates
  - test_argv_verify
  - main
  source_file: /src/postfix/postfix/src/util/argv.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: msg_panic
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/postfix/postfix/src/util/argv.c
      type_or_value: test_msg_panic
    - item_type: preproc_def
      name: ARRAY_LEN
      pos:
        line_end: 447
        line_start: 446
        source_file: /src/postfix/postfix/src/util/argv.c
      type_or_value: (10)
    - item_type: preproc_def
      name: TERMINATE_ARRAY
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/postfix/postfix/src/util/argv.c
      type_or_value: (1)
    - item_type: preproc_def
      name: PASS
      pos:
        line_end: 462
        line_start: 461
        source_file: /src/postfix/postfix/src/util/argv.c
      type_or_value: (0)
    - item_type: preproc_def
      name: FAIL
      pos:
        line_end: 463
        line_start: 462
        source_file: /src/postfix/postfix/src/util/argv.c
      type_or_value: (1)
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: '*inputs[ARRAY_LEN]'
        type: char
      - name: terminate
        type: int
      - name: '*(*populate_fn) (const struct TEST_CASE *, ARGV *)'
        type: ARGV
      - name: '*exp_panic_msg'
        type: char
      - name: exp_argc
        type: int
      - name: '*exp_argv[ARRAY_LEN]'
        type: char
      - name: join_delim
        type: int
      item_type: struct
      name: TEST_CASE
      pos:
        line_end: 457
        line_start: 448
        source_file: /src/postfix/postfix/src/util/argv.c
    typedefs: []
    union: []
- function_names:
  - perrorexit
  - cleanup
  - main
  source_file: /src/postfix/postfix/src/util/fifo_rdwr_bug.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FIFO_PATH
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postfix/postfix/src/util/fifo_rdwr_bug.c
      type_or_value: '"test-fifo"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/dict_env.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_ENVIRON
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/util/dict_env.h
      type_or_value: '"environ"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - namelength
  - findenv
  - getenv
  - putenv
  - unsetenv
  - setenv
  - cmalloc
  - addenv
  source_file: /src/postfix/postfix/src/util/environ.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DO_CLOBBER
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/util/environ.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/argv_attr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ARGV_ATTR_SIZE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/postfix/postfix/src/util/argv_attr.h
      type_or_value: '"argv_size"'
    - item_type: preproc_def
      name: ARGV_ATTR_VALUE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postfix/postfix/src/util/argv_attr.h
      type_or_value: '"argv_value"'
    - item_type: preproc_def
      name: ARGV_ATTR_MAX
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/util/argv_attr.h
      type_or_value: '1024'
    structs: []
    typedefs: []
    union: []
- function_names:
  - timed_write
  source_file: /src/postfix/postfix/src/util/timed_write.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/trigger.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/timed_connect.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - normalize_ws
  - normalizes_all_isspace_members
  - test_normalize_ws
  - main
  source_file: /src/postfix/postfix/src/util/normalize_ws.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PASS
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/postfix/postfix/src/util/normalize_ws.c
      type_or_value: (0)
    - item_type: preproc_def
      name: FAIL
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/postfix/postfix/src/util/normalize_ws.c
      type_or_value: (1)
    - item_type: preproc_def
      name: BUFLEN
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/postfix/postfix/src/util/normalize_ws.c
      type_or_value: '2'
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: (*action) (const struct TEST_CASE *)
        type: int
      - name: '*input'
        type: char
      - name: '*want'
        type: char
      item_type: struct
      name: TEST_CASE
      pos:
        line_end: 60
        line_start: 55
        source_file: /src/postfix/postfix/src/util/normalize_ws.c
    typedefs: []
    union: []
- function_names:
  - argv_attr_print
  source_file: /src/postfix/postfix/src/util/argv_attr_print.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/valid_hostname.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VALID_HOSTNAME_LEN
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/postfix/postfix/src/util/valid_hostname.h
      type_or_value: "255\t"
    - item_type: preproc_def
      name: VALID_LABEL_LEN
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/postfix/postfix/src/util/valid_hostname.h
      type_or_value: "63\t"
    - item_type: preproc_def
      name: DONT_GRIPE
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/postfix/postfix/src/util/valid_hostname.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DO_GRIPE
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/postfix/postfix/src/util/valid_hostname.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DONT_WILDCARD
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/postfix/postfix/src/util/valid_hostname.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DO_WILDCARD
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/util/valid_hostname.h
      type_or_value: (1<<1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - attr_scan_plain_string
  - attr_scan_plain_data
  - attr_scan_plain_number
  - attr_scan_plain_long_number
  - attr_vscan_plain
  - attr_scan_plain
  - attr_scan_more_plain
  - main
  source_file: /src/postfix/postfix/src/util/attr_scan_plain.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - readable
  - writable
  - read_wait
  - write_wait
  source_file: /src/postfix/postfix/src/util/iostuff.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: POLL_FD_READ
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/util/iostuff.h
      type_or_value: '0'
    - item_type: preproc_def
      name: POLL_FD_WRITE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/util/iostuff.h
      type_or_value: '1'
    - item_type: preproc_def
      name: BLOCKING
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postfix/postfix/src/util/iostuff.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NON_BLOCKING
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/postfix/postfix/src/util/iostuff.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CLOSE_ON_EXEC
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/postfix/postfix/src/util/iostuff.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PASS_ON_EXEC
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/postfix/postfix/src/util/iostuff.h
      type_or_value: '0'
    - item_type: preproc_def
      name: UNIX_PASS_FD_FIX_NONE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/postfix/postfix/src/util/iostuff.h
      type_or_value: (0)
    - item_type: preproc_def
      name: UNIX_PASS_FD_FIX_CMSG_LEN
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postfix/postfix/src/util/iostuff.h
      type_or_value: (1<<0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - sane_socketpair
  source_file: /src/postfix/postfix/src/util/sane_socketpair.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/fullname.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - HASH_FNV_NEW_BITS
  - HASH_FNV_NEW_BITS
  - hash_fnv_init
  - hash_fnv
  - hash_fnvz
  - main
  source_file: /src/postfix/postfix/src/util/hash_fnv.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FNV_prime
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/postfix/postfix/src/util/hash_fnv.c
      type_or_value: 0x01000193UL
    - item_type: preproc_def
      name: FNV_offset_basis
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/postfix/postfix/src/util/hash_fnv.c
      type_or_value: 0x811c9dc5UL
    - item_type: preproc_def
      name: FNV_prime
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/postfix/postfix/src/util/hash_fnv.c
      type_or_value: 0x00000100000001B3ULL
    - item_type: preproc_def
      name: FNV_offset_basis
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/postfix/postfix/src/util/hash_fnv.c
      type_or_value: 0xcbf29ce484222325ULL
    structs:
    - fields:
      - name: hval
        type: HASH_FNV_T
      - name: '*str'
        type: char
      item_type: struct
      name: testcase
      pos:
        line_end: 170
        line_start: 167
        source_file: /src/postfix/postfix/src/util/hash_fnv.c
    typedefs: []
    union: []
- function_names:
  - test1
  - test2
  - test3
  source_file: /src/postfix/postfix/src/util/gccw.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DO
  - main
  source_file: /src/postfix/postfix/src/util/dup2_pass_on_exec.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - dict_union_lookup
  - dict_union_close
  - dict_union_open
  - DICT_UNION_RETURN
  source_file: /src/postfix/postfix/src/util/dict_union.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dict
        type: DICT
      - name: '*map_union'
        type: ARGV
      - name: '*re_buf'
        type: VSTRING
      item_type: struct
      name: DICT_UNION
      pos:
        line_end: 66
        line_start: 62
        source_file: /src/postfix/postfix/src/util/dict_union.c
    typedefs: []
    union: []
- function_names:
  - mkmap_fail_open
  source_file: /src/postfix/postfix/src/util/mkmap_fail.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/dict_pcre.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_PCRE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/util/dict_pcre.h
      type_or_value: '"pcre"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - NETSTRING_PUT_BUF
  source_file: /src/postfix/postfix/src/util/netstring.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NETSTRING_ERR_EOF
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/util/netstring.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: NETSTRING_ERR_TIME
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postfix/postfix/src/util/netstring.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: NETSTRING_ERR_FORMAT
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/postfix/postfix/src/util/netstring.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: NETSTRING_ERR_SIZE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postfix/postfix/src/util/netstring.h
      type_or_value: "4\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - mkmap_db_after_close
  - mkmap_db_after_open
  - mkmap_db_before_open
  - mkmap_hash_open
  - mkmap_btree_open
  source_file: /src/postfix/postfix/src/util/mkmap_db.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: mkmap
        type: MKMAP
      - name: '*lock_file'
        type: char
      - name: lock_fd
        type: int
      item_type: struct
      name: MKMAP_DB
      pos:
        line_end: 66
        line_start: 62
        source_file: /src/postfix/postfix/src/util/mkmap_db.c
    typedefs: []
    union: []
- function_names:
  - fork_and_read_select
  - main
  source_file: /src/postfix/postfix/src/util/select_bug.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DELAY
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/postfix/postfix/src/util/select_bug.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/safe_open.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_domainname
  source_file: /src/postfix/postfix/src/util/get_domainname.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - unix_dgram_listen
  source_file: /src/postfix/postfix/src/util/unix_dgram_listen.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sigemptyset
  - sigaddset
  - sigprocmask
  - sighandle
  - sigaction
  source_file: /src/postfix/postfix/src/util/posix_signals.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - EVENT_MASK_BYTE_COUNT
  - EVENT_MASK_ZERO
  - EVENT_MASK_SET
  - EVENT_MASK_ISSET
  - EVENT_MASK_CLR
  - EVENT_MASK_CMP
  - EVENT_MASK_FD_BYTE
  - EVENT_MASK_FD_BIT
  - EVENT_MASK_BYTES_NEEDED
  - EVENT_MASK_BYTE_COUNT
  - EVENT_MASK_ALLOC
  - EVENT_MASK_REALLOC
  - EVENT_MASK_FREE
  - EVENT_MASK_ZERO
  - EVENT_MASK_SET
  - EVENT_MASK_ISSET
  - EVENT_MASK_CLR
  - EVENT_MASK_CMP
  - EV_SET
  - EVENT_REG_INIT_HANDLE
  - EVENT_REG_FORK_HANDLE
  - EVENT_REG_FD_OP
  - EVENT_REG_ADD_OP
  - EVENT_REG_ADD_READ
  - EVENT_REG_ADD_WRITE
  - EVENT_REG_DEL_OP
  - EVENT_REG_DEL_READ
  - EVENT_REG_DEL_WRITE
  - EVENT_BUFFER_READ
  - EVENT_GET_FD
  - EVENT_GET_TYPE
  - EVENT_TEST_READ
  - EVENT_TEST_WRITE
  - EVENT_REG_INIT_HANDLE
  - EVENT_REG_FORK_HANDLE
  - EVENT_REG_FD_OP
  - EVENT_REG_ADD_READ
  - EVENT_REG_ADD_WRITE
  - EVENT_REG_DEL_BOTH
  - EVENT_BUFFER_READ
  - EVENT_GET_FD
  - EVENT_GET_TYPE
  - EVENT_TEST_READ
  - EVENT_TEST_WRITE
  - EVENT_REG_INIT_HANDLE
  - EVENT_REG_FORK_HANDLE
  - EVENT_REG_FD_OP
  - EVENT_REG_ADD_OP
  - EVENT_REG_ADD_READ
  - EVENT_REG_ADD_WRITE
  - EVENT_REG_DEL_OP
  - EVENT_REG_DEL_READ
  - EVENT_REG_DEL_WRITE
  - EVENT_BUFFER_READ
  - EVENT_GET_FD
  - EVENT_GET_TYPE
  - EVENT_TEST_READ
  - EVENT_TEST_WRITE
  - RING_TO_TIMER
  - FOREACH_QUEUE_ENTRY
  - FIRST_TIMER
  - EVENT_INIT_NEEDED
  - event_init
  - event_extend
  - event_time
  - event_drain
  - event_fork
  - event_enable_read
  - event_enable_write
  - event_disable_readwrite
  - event_request_timer
  - event_cancel_timer
  - event_loop
  - timer_event
  - echo
  - request
  - main
  source_file: /src/postfix/postfix/src/util/events.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EVENT_ALLOC_INCR
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/postfix/postfix/src/util/events.c
      type_or_value: '10'
    - item_type: preproc_def
      name: EVENT_MASK_NBBY
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/postfix/postfix/src/util/events.c
      type_or_value: (8)
    - item_type: preproc_def
      name: EVENT_REG_INIT_TEXT
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/postfix/postfix/src/util/events.c
      type_or_value: '"kqueue"'
    - item_type: preproc_def
      name: EVENT_REG_ADD_TEXT
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/postfix/postfix/src/util/events.c
      type_or_value: '"kevent EV_ADD"'
    - item_type: preproc_def
      name: EVENT_REG_DEL_TEXT
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/postfix/postfix/src/util/events.c
      type_or_value: '"kevent EV_DELETE"'
    - item_type: preproc_def
      name: EVENT_BUFFER_READ_TEXT
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/postfix/postfix/src/util/events.c
      type_or_value: '"kevent"'
    - item_type: preproc_def
      name: EVENT_REG_INIT_TEXT
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/postfix/postfix/src/util/events.c
      type_or_value: '"open /dev/poll"'
    - item_type: preproc_def
      name: EVENT_REG_ADD_TEXT
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/postfix/postfix/src/util/events.c
      type_or_value: '"write /dev/poll"'
    - item_type: preproc_def
      name: EVENT_REG_DEL_TEXT
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/postfix/postfix/src/util/events.c
      type_or_value: '"write /dev/poll"'
    - item_type: preproc_def
      name: EVENT_BUFFER_READ_TEXT
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/postfix/postfix/src/util/events.c
      type_or_value: '"ioctl DP_POLL"'
    - item_type: preproc_def
      name: EVENT_REG_INIT_TEXT
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/postfix/postfix/src/util/events.c
      type_or_value: '"epoll_create"'
    - item_type: preproc_def
      name: EVENT_REG_ADD_TEXT
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/postfix/postfix/src/util/events.c
      type_or_value: '"epoll_ctl EPOLL_CTL_ADD"'
    - item_type: preproc_def
      name: EVENT_REG_DEL_TEXT
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/postfix/postfix/src/util/events.c
      type_or_value: '"epoll_ctl EPOLL_CTL_DEL"'
    - item_type: preproc_def
      name: EVENT_BUFFER_READ_TEXT
      pos:
        line_end: 489
        line_start: 488
        source_file: /src/postfix/postfix/src/util/events.c
      type_or_value: '"epoll_wait"'
    structs:
    - fields:
      - name: '*data'
        type: char
      - name: data_len
        type: size_t
      item_type: struct
      name: EVENT_MASK
      pos:
        line_end: 192
        line_start: 189
        source_file: /src/postfix/postfix/src/util/events.c
    - fields:
      - name: callback
        type: EVENT_NOTIFY_RDWR_FN
      - name: '*context'
        type: char
      item_type: struct
      name: EVENT_FDTABLE
      pos:
        line_end: 241
        line_start: 238
        source_file: /src/postfix/postfix/src/util/events.c
    - fields:
      - name: when
        type: time_t
      - name: callback
        type: EVENT_NOTIFY_TIME_FN
      - name: '*context'
        type: char
      - name: loop_instance
        type: long
      - name: ring
        type: RING
      item_type: struct
      name: EVENT_TIMER
      pos:
        line_end: 517
        line_start: 511
        source_file: /src/postfix/postfix/src/util/events.c
    typedefs:
    - item_type: typedef
      name: EVENT_MASK
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/postfix/postfix/src/util/events.c
    union: []
- function_names:
  - SEND_ATTR_INT
  - SEND_ATTR_UINT
  - SEND_ATTR_STR
  - SEND_ATTR_HASH
  - SEND_ATTR_NV
  - SEND_ATTR_LONG
  - SEND_ATTR_DATA
  - SEND_ATTR_FUNC
  - RECV_ATTR_INT
  - RECV_ATTR_UINT
  - RECV_ATTR_STR
  - RECV_ATTR_STREQ
  - RECV_ATTR_HASH
  - RECV_ATTR_NV
  - RECV_ATTR_LONG
  - RECV_ATTR_DATA
  - RECV_ATTR_FUNC
  source_file: /src/postfix/postfix/src/util/attr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ATTR_TYPE_END
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: ATTR_TYPE_INT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: ATTR_TYPE_NUM
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: ATTR_TYPE_INT
    - item_type: preproc_def
      name: ATTR_TYPE_STR
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: ATTR_TYPE_HASH
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: ATTR_TYPE_NV
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: ATTR_TYPE_LONG
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: ATTR_TYPE_DATA
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: "5\t"
    - item_type: preproc_def
      name: ATTR_TYPE_FUNC
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: "6\t"
    - item_type: preproc_def
      name: ATTR_TYPE_STREQ
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: "7\t"
    - item_type: preproc_def
      name: ATTR_TYPE_OPEN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: '''{'''
    - item_type: preproc_def
      name: ATTR_TYPE_CLOSE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: '''}'''
    - item_type: preproc_def
      name: ATTR_NAME_OPEN
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: '"{"'
    - item_type: preproc_def
      name: ATTR_NAME_CLOSE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: '"}"'
    - item_type: preproc_def
      name: ATTR_HASH_LIMIT
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: "1024\t"
    - item_type: preproc_def
      name: ATTR_FLAG_NONE
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: '0'
    - item_type: preproc_def
      name: ATTR_FLAG_MISSING
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: ATTR_FLAG_EXTRA
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: ATTR_FLAG_MORE
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: ATTR_FLAG_PRINTABLE
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: ATTR_FLAG_STRICT
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: (ATTR_FLAG_MISSING | ATTR_FLAG_EXTRA)
    - item_type: preproc_def
      name: ATTR_FLAG_ALL
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: (017)
    - item_type: preproc_def
      name: attr_print
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: attr_print0
    - item_type: preproc_def
      name: attr_vprint
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: attr_vprint0
    - item_type: preproc_def
      name: attr_scan
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: attr_scan0
    - item_type: preproc_def
      name: attr_vscan
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: attr_vscan0
    - item_type: preproc_def
      name: attr_scan_more
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: attr_scan_more0
    - item_type: preproc_def
      name: ATTR_NAME_INT
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: '"number"'
    - item_type: preproc_def
      name: ATTR_NAME_STR
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: '"string"'
    - item_type: preproc_def
      name: ATTR_NAME_LONG
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: '"long_number"'
    - item_type: preproc_def
      name: ATTR_NAME_DATA
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/postfix/postfix/src/util/attr.h
      type_or_value: '"data"'
    structs: []
    typedefs:
    - item_type: typedef
      name: (*ATTR_SCAN_COMMON_FN) (VSTREAM *, int,...)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/postfix/postfix/src/util/attr.h
      type: int
    - item_type: typedef
      name: (*ATTR_SCAN_CUSTOM_FN) (ATTR_SCAN_COMMON_FN, VSTREAM *, int, void *)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/postfix/postfix/src/util/attr.h
      type: int
    - item_type: typedef
      name: (*ATTR_PRINT_COMMON_FN) (VSTREAM *, int,...)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/postfix/postfix/src/util/attr.h
      type: int
    - item_type: typedef
      name: (*ATTR_PRINT_CUSTOM_FN) (ATTR_PRINT_COMMON_FN, VSTREAM *, int, const void
        *)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/postfix/postfix/src/util/attr.h
      type: int
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/valid_uri_scheme.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UCHAR_PTR
  - hex_encode
  - hex_encode_opt
  - hex_decode
  - hex_decode_opt
  - STR
  - LEN
  - main
  source_file: /src/postfix/postfix/src/util/hex_code.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OUTPUT_INIT
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/postfix/postfix/src/util/hex_code.c
      type_or_value: "\"thrash:\"\t"
    - item_type: preproc_def
      name: OUTPUT_INIT_SZ
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/postfix/postfix/src/util/hex_code.c
      type_or_value: (sizeof(OUTPUT_INIT) - 1)
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: '*(*func) (VSTRING *, const char *, ssize_t, int)'
        type: VSTRING
      - name: '*input'
        type: char
      - name: inlen
        type: ssize_t
      - name: flags
        type: int
      - name: '*exp_output'
        type: char
      - name: exp_outlen
        type: ssize_t
      item_type: struct
      name: TEST_CASE
      pos:
        line_end: 208
        line_start: 200
        source_file: /src/postfix/postfix/src/util/hex_code.c
    typedefs: []
    union: []
- function_names:
  - lstat_as
  source_file: /src/postfix/postfix/src/util/lstat_as.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vbuf_unget
  - vbuf_get
  - vbuf_put
  - vbuf_read
  - vbuf_write
  source_file: /src/postfix/postfix/src/util/vbuf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - watchdog_read
  - watchdog_event
  - watchdog_create
  - watchdog_destroy
  - watchdog_start
  - watchdog_stop
  - watchdog_pat
  - main
  source_file: /src/postfix/postfix/src/util/watchdog.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WATCHDOG_STEPS
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/postfix/postfix/src/util/watchdog.c
      type_or_value: '3'
    structs:
    - fields:
      - name: timeout
        type: unsigned
      - name: action
        type: WATCHDOG_FN
      - name: '*context'
        type: char
      - name: trip_run
        type: int
      - name: '*saved_watchdog'
        type: WATCHDOG
      - name: saved_action
        type: struct sigaction
      - name: saved_time
        type: unsigned
      item_type: struct
      name: WATCHDOG
      pos:
        line_end: 118
        line_start: 110
        source_file: /src/postfix/postfix/src/util/watchdog.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/watchdog.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*WATCHDOG_FN) (WATCHDOG *, char *)
      pos:
        line_end: 17
        line_start: 17
        source_file: /src/postfix/postfix/src/util/watchdog.h
      type: void
    union: []
- function_names:
  - valid_uri_scheme
  - test_validate_scheme
  - main
  source_file: /src/postfix/postfix/src/util/valid_uri_scheme.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PASS
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/postfix/postfix/src/util/valid_uri_scheme.c
      type_or_value: (0)
    - item_type: preproc_def
      name: FAIL
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/postfix/postfix/src/util/valid_uri_scheme.c
      type_or_value: (1)
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: '*input'
        type: char
      - name: want
        type: ssize_t
      item_type: struct
      name: TEST_CASE
      pos:
        line_end: 70
        line_start: 66
        source_file: /src/postfix/postfix/src/util/valid_uri_scheme.c
    typedefs: []
    union: []
- function_names:
  - test_normalize_v4mapped_hostaddr
  - test_normalize_v4mapped_sockaddr
  - main
  source_file: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PASS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c
      type_or_value: '1'
    - item_type: preproc_def
      name: FAIL
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c
      type_or_value: '2'
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: '*inet_protocols'
        type: char
      - name: '*in_hostaddr'
        type: char
      - name: want_return
        type: int
      - name: '*want_hostaddr'
        type: char
      item_type: struct
      name: TEST_CASE
      pos:
        line_end: 25
        line_start: 19
        source_file: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c
    - fields:
      - name: (*act_fn) (const TEST_CASE *)
        type: int
      - name: '*act_name'
        type: char
      item_type: struct
      name: test_action
      pos:
        line_end: 164
        line_start: 161
        source_file: /src/postfix/postfix/src/util/normalize_v4mapped_addr_test.c
    typedefs: []
    union: []
- function_names:
  - inet_addr_host
  - main
  source_file: /src/postfix/postfix/src/util/inet_addr_host.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/name_code.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NAME_CODE_FLAG_NONE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/util/name_code.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NAME_CODE_FLAG_STRICT_CASE
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/util/name_code.h
      type_or_value: (1<<0)
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: code
        type: int
      item_type: struct
      name: NAME_CODE
      pos:
        line_end: 19
        line_start: 16
        source_file: /src/postfix/postfix/src/util/name_code.h
    typedefs: []
    union: []
- function_names:
  - clean_ascii_cntrl_space
  - test_clean_ascii_cntrl_space
  - passes_all_non_controls
  - replaces_all_controls
  - main
  source_file: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: LEN
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c
      type_or_value: VSTRING_LEN
    - item_type: preproc_def
      name: END
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c
      type_or_value: vstring_end
    - item_type: preproc_def
      name: NO_OUTPUT
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c
      type_or_value: ((char *) 0)
    - item_type: preproc_def
      name: PASS
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c
      type_or_value: (0)
    - item_type: preproc_def
      name: FAIL
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c
      type_or_value: (1)
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: (*action) (const struct TEST_CASE *)
        type: int
      - name: '*input'
        type: char
      - name: inlen
        type: ssize_t
      - name: '*exp_output'
        type: char
      item_type: struct
      name: TEST_CASE
      pos:
        line_end: 101
        line_start: 95
        source_file: /src/postfix/postfix/src/util/clean_ascii_cntrl_space.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/dict_lmdb.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_LMDB
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/util/dict_lmdb.h
      type_or_value: '"lmdb"'
    - item_type: preproc_def
      name: DEFINE_DICT_LMDB_MAP_SIZE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/util/dict_lmdb.h
      type_or_value: size_t dict_lmdb_map_size = 8192
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECK_VAL
  - CHECK_PTR
  - CHECK_CPTR
  - CHECK_PPTR
  - CHECK_VAL_HELPER_DCL
  - CHECK_PTR_HELPER_DCL
  - CHECK_CPTR_HELPER_DCL
  - CHECK_PPTR_HELPER_DCL
  - CHECK_VAL
  - CHECK_PTR
  - CHECK_CPTR
  - CHECK_PPTR
  - CHECK_VAL_HELPER_DCL
  - CHECK_PTR_HELPER_DCL
  - CHECK_CPTR_HELPER_DCL
  - CHECK_PPTR_HELPER_DCL
  - CHECK_VAL_DUMMY
  - CHECK_PTR_DUMMY
  - CHECK_CPTR_DUMMY
  - CHECK_PPTR_DUMMY
  source_file: /src/postfix/postfix/src/util/check_arg.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - midna_domain_strerror
  - midna_domain_pre_chroot
  - midna_domain_to_ascii_create
  - midna_domain_to_utf8_create
  - midna_domain_cache_free
  - midna_domain_to_ascii
  - midna_domain_to_utf8
  - midna_domain_suffix_to_ascii
  - midna_domain_suffix_to_utf8
  - main
  source_file: /src/postfix/postfix/src/util/midna_domain.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEF_MIDNA_CACHE_SIZE
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/postfix/postfix/src/util/midna_domain.c
      type_or_value: '256'
    structs: []
    typedefs: []
    union: []
- function_names:
  - dict_inline_open
  - DICT_INLINE_RETURN
  source_file: /src/postfix/postfix/src/util/dict_inline.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/make_dirs.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - siginit
  - sigresume
  - sigdelay
  - gotsig
  - main
  source_file: /src/postfix/postfix/src/util/sigdelay.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/dict_fail.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_FAIL
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/util/dict_fail.h
      type_or_value: '"fail"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/host_port.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LEN
  - STR
  - get_error_string
  - reports_bad_digest_name
  - computes_sha256_digests
  - returns_sha256_output_size
  - main
  - main
  source_file: /src/postfix/postfix/src/util/ossl_digest_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PASS
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/util/ossl_digest_test.c
      type_or_value: '1'
    - item_type: preproc_def
      name: FAIL
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/util/ossl_digest_test.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*in'
        type: char
      - name: '*want_hex'
        type: char
      item_type: struct
      name: DGST_TEST
      pos:
        line_end: 90
        line_start: 87
        source_file: /src/postfix/postfix/src/util/ossl_digest_test.c
    - fields:
      - name: '*label'
        type: char
      - name: (*action) (void)
        type: int
      item_type: struct
      name: TEST_CASE
      pos:
        line_end: 166
        line_start: 163
        source_file: /src/postfix/postfix/src/util/ossl_digest_test.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/format_tv.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vstring_extend
  - vstring_buf_get_ready
  - vstring_buf_put_ready
  - vstring_buf_space
  - vstring_alloc
  - vstring_free
  - vstring_ctl
  - vstring_truncate
  - vstring_set_payload_size
  - vstring_strcpy
  - vstring_strncpy
  - vstring_strcat
  - vstring_strncat
  - vstring_memcpy
  - vstring_memcat
  - vstring_memchr
  - vstring_insert
  - vstring_prepend
  - vstring_export
  - vstring_import
  - vstring_sprintf
  - vstring_vsprintf
  - vstring_sprintf_append
  - vstring_vsprintf_append
  - vstring_sprintf_prepend
  - main
  source_file: /src/postfix/postfix/src/util/vstring.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/sane_connect.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/dict_thash.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_THASH
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/util/dict_thash.h
      type_or_value: '"texthash"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - VSTRING_SPACE
  - vstring_str
  - VSTRING_LEN
  - vstring_end
  - VSTRING_TERMINATE
  - VSTRING_RESET
  - VSTRING_ADDCH
  - VSTRING_SKIP
  - vstring_avail
  - VSTRING_AT_OFFSET
  source_file: /src/postfix/postfix/src/util/vstring.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VSTRING_CTL_EXACT
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/postfix/postfix/src/util/vstring.h
      type_or_value: '2'
    - item_type: preproc_def
      name: VSTRING_CTL_END
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/postfix/postfix/src/util/vstring.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CA_VSTRING_CTL_END
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postfix/postfix/src/util/vstring.h
      type_or_value: VSTRING_CTL_END
    - item_type: preproc_def
      name: CA_VSTRING_CTL_EXACT
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/postfix/postfix/src/util/vstring.h
      type_or_value: VSTRING_CTL_EXACT
    - item_type: preproc_def
      name: VSTRING_FLAG_EXACT
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/postfix/postfix/src/util/vstring.h
      type_or_value: "(1<<24)\t"
    - item_type: preproc_def
      name: VSTRING_FLAG_MASK
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/postfix/postfix/src/util/vstring.h
      type_or_value: (255 << 24)
    structs:
    - fields:
      - name: vbuf
        type: VBUF
      item_type: struct
      name: VSTRING
      pos:
        line_end: 30
        line_start: 28
        source_file: /src/postfix/postfix/src/util/vstring.h
    typedefs: []
    union: []
- function_names:
  - STR
  - name_mask_delim_opt
  - str_name_mask_opt
  - long_name_mask_delim_opt
  - str_long_name_mask_opt
  - hex_to_ulong
  - main
  source_file: /src/postfix/postfix/src/util/name_mask.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ARGV_FAKE_BEGIN
  source_file: /src/postfix/postfix/src/util/argv.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ARGV_FAKE_END
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/postfix/postfix/src/util/argv.h
      type_or_value: '}'
    - item_type: preproc_def
      name: ARGV_END
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/postfix/postfix/src/util/argv.h
      type_or_value: ((char *) 0)
    structs:
    - fields:
      - name: len
        type: ssize_t
      - name: argc
        type: ssize_t
      - name: '**argv'
        type: char
      item_type: struct
      name: ARGV
      pos:
        line_end: 20
        line_start: 16
        source_file: /src/postfix/postfix/src/util/argv.h
    typedefs:
    - item_type: typedef
      name: (*ARGV_COMPAR_FN) (const void *, const void *)
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/postfix/postfix/src/util/argv.h
      type: int
    union: []
- function_names:
  - timecmp
  - UNSIGNED
  - __MAXINT__
  - main
  source_file: /src/postfix/postfix/src/util/timecmp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - atol_or_die
  - mac_exp_eval
  - mac_exp_parse_error
  - MAC_EXP_ERR_RETURN
  - MAC_EXP_FIND_LEFT_CURLY
  - mac_exp_extract_curly_payload
  - mac_exp_parse_relational
  - mac_expand_add_relop
  - mac_expand_callback
  - mac_expand
  - lookup
  - length_relop_eval
  - main
  source_file: /src/postfix/postfix/src/util/mac_expand.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAC_EXP_BVAL_TRUE
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/postfix/postfix/src/util/mac_expand.c
      type_or_value: '"true"'
    - item_type: preproc_def
      name: MAC_EXP_BVAL_FALSE
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/postfix/postfix/src/util/mac_expand.c
      type_or_value: '""'
    - item_type: preproc_def
      name: MAC_EXP_OP_STR_EQ
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/postfix/postfix/src/util/mac_expand.c
      type_or_value: '"=="'
    - item_type: preproc_def
      name: MAC_EXP_OP_STR_NE
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/postfix/postfix/src/util/mac_expand.c
      type_or_value: '"!="'
    - item_type: preproc_def
      name: MAC_EXP_OP_STR_LT
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/postfix/postfix/src/util/mac_expand.c
      type_or_value: '"<"'
    - item_type: preproc_def
      name: MAC_EXP_OP_STR_LE
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/postfix/postfix/src/util/mac_expand.c
      type_or_value: '"<="'
    - item_type: preproc_def
      name: MAC_EXP_OP_STR_GE
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/postfix/postfix/src/util/mac_expand.c
      type_or_value: '">="'
    - item_type: preproc_def
      name: MAC_EXP_OP_STR_GT
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/postfix/postfix/src/util/mac_expand.c
      type_or_value: '">"'
    - item_type: preproc_def
      name: MAC_EXP_OP_STR_ANY
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/postfix/postfix/src/util/mac_expand.c
      type_or_value: "\"\\\"\" MAC_EXP_OP_STR_EQ \\\n\t\t\t\t\"\\\" or \\\"\" MAC_EXP_OP_STR_NE
        \"\\\"\" \\\n\t\t\t\t\"\\\" or \\\"\" MAC_EXP_OP_STR_LT \"\\\"\" \\\n\t\t\t\t\"\\\"
        or \\\"\" MAC_EXP_OP_STR_LE \"\\\"\" \\\n\t\t\t\t\"\\\" or \\\"\" MAC_EXP_OP_STR_GE
        \"\\\"\" \\\n\t\t\t\t\"\\\" or \\\"\" MAC_EXP_OP_STR_GT \"\\\"\""
    - item_type: preproc_def
      name: MAC_EXP_WHITESPACE
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/postfix/postfix/src/util/mac_expand.c
      type_or_value: CHARS_SPACE
    structs:
    - fields:
      - name: '*result'
        type: VSTRING
      - name: flags
        type: int
      - name: '*filter'
        type: char
      - name: lookup
        type: MAC_EXP_LOOKUP_FN
      - name: '*context'
        type: void
      - name: status
        type: int
      - name: level
        type: int
      item_type: struct
      name: MAC_EXP_CONTEXT
      pos:
        line_end: 202
        line_start: 194
        source_file: /src/postfix/postfix/src/util/mac_expand.c
    typedefs: []
    union: []
- function_names:
  - inet_connect
  - inet_connect_one
  source_file: /src/postfix/postfix/src/util/inet_connect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/dict_pipe.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_PIPE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/util/dict_pipe.h
      type_or_value: '"pipemap"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/myrand.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RAND_MAX
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/postfix/postfix/src/util/myrand.h
      type_or_value: '0x7fffffff'
    structs: []
    typedefs: []
    union: []
- function_names:
  - MATCH_DICTIONARY
  - match_error
  - match_string
  - match_hostname
  - match_hostaddr
  source_file: /src/postfix/postfix/src/util/match_ops.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: V4_ADDR_STRING_CHARS
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/postfix/postfix/src/util/match_ops.c
      type_or_value: '"01234567890."'
    - item_type: preproc_def
      name: V6_ADDR_STRING_CHARS
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/postfix/postfix/src/util/match_ops.c
      type_or_value: V4_ADDR_STRING_CHARS "abcdefABCDEF:"
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_spawn_args
  - spawn_command
  source_file: /src/postfix/postfix/src/util/spawn_command.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '**argv'
        type: char
      - name: '*command'
        type: char
      - name: stdin_fd
        type: int
      - name: stdout_fd
        type: int
      - name: stderr_fd
        type: int
      - name: uid
        type: uid_t
      - name: gid
        type: gid_t
      - name: '**env'
        type: char
      - name: '**export'
        type: char
      - name: '*shell'
        type: char
      - name: time_limit
        type: int
      item_type: struct
      name: spawn_args
      pos:
        line_end: 116
        line_start: 104
        source_file: /src/postfix/postfix/src/util/spawn_command.c
    typedefs: []
    union: []
- function_names:
  - EDIT_FILE_ALLOC
  - EDIT_FILE_FREE
  - edit_file_open
  - edit_file_cleanup
  - edit_file_close
  source_file: /src/postfix/postfix/src/util/edit_file.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FILE_PERM_MASK
      pos:
        line_end: 147
        line_start: 145
        source_file: /src/postfix/postfix/src/util/edit_file.c
      type_or_value: (S_ISUID | S_ISGID | S_ISVTX | S_IRWXU | S_IRWXG | S_IRWXO)
    - item_type: preproc_def
      name: EDIT_FILE_MODE
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/postfix/postfix/src/util/edit_file.c
      type_or_value: "(S_IRUSR | S_IWUSR)\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - sane_rename
  source_file: /src/postfix/postfix/src/util/sane_rename.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - valid_utf8_string
  - valid_utf8_stringz
  - valid_to_str
  - main
  source_file: /src/postfix/postfix/src/util/valid_utf8_string.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: T_VALID
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/postfix/postfix/src/util/valid_utf8_string.c
      type_or_value: (1)
    - item_type: preproc_def
      name: T_INVALID
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/postfix/postfix/src/util/valid_utf8_string.c
      type_or_value: (0)
    - item_type: preproc_def
      name: NUM_TESTS
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/postfix/postfix/src/util/valid_utf8_string.c
      type_or_value: sizeof(testcases)/sizeof(testcases[0])
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*input'
        type: char
      - name: expected
        type: int
      item_type: struct
      name: testcase
      pos:
        line_end: 122
        line_start: 118
        source_file: /src/postfix/postfix/src/util/valid_utf8_string.c
    typedefs: []
    union: []
- function_names:
  - close_on_exec
  source_file: /src/postfix/postfix/src/util/close_on_exec.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PATTERN
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/util/close_on_exec.c
      type_or_value: FD_CLOEXEC
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_eugid
  source_file: /src/postfix/postfix/src/util/set_eugid.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CA_SPAWN_CMD_ARGV
  - CA_SPAWN_CMD_COMMAND
  - CA_SPAWN_CMD_STDIN
  - CA_SPAWN_CMD_STDOUT
  - CA_SPAWN_CMD_STDERR
  - CA_SPAWN_CMD_UID
  - CA_SPAWN_CMD_GID
  - CA_SPAWN_CMD_TIME_LIMIT
  - CA_SPAWN_CMD_ENV
  - CA_SPAWN_CMD_SHELL
  - CA_SPAWN_CMD_EXPORT
  source_file: /src/postfix/postfix/src/util/spawn_command.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SPAWN_CMD_END
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/postfix/postfix/src/util/spawn_command.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: SPAWN_CMD_ARGV
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/postfix/postfix/src/util/spawn_command.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: SPAWN_CMD_COMMAND
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/util/spawn_command.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: SPAWN_CMD_STDIN
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/util/spawn_command.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: SPAWN_CMD_STDOUT
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postfix/postfix/src/util/spawn_command.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: SPAWN_CMD_STDERR
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/postfix/postfix/src/util/spawn_command.h
      type_or_value: "5\t"
    - item_type: preproc_def
      name: SPAWN_CMD_UID
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postfix/postfix/src/util/spawn_command.h
      type_or_value: "6\t"
    - item_type: preproc_def
      name: SPAWN_CMD_GID
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postfix/postfix/src/util/spawn_command.h
      type_or_value: "7\t"
    - item_type: preproc_def
      name: SPAWN_CMD_TIME_LIMIT
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postfix/postfix/src/util/spawn_command.h
      type_or_value: "8\t"
    - item_type: preproc_def
      name: SPAWN_CMD_ENV
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postfix/postfix/src/util/spawn_command.h
      type_or_value: "9\t"
    - item_type: preproc_def
      name: SPAWN_CMD_SHELL
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postfix/postfix/src/util/spawn_command.h
      type_or_value: "10\t"
    - item_type: preproc_def
      name: SPAWN_CMD_EXPORT
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postfix/postfix/src/util/spawn_command.h
      type_or_value: "11\t"
    - item_type: preproc_def
      name: CA_SPAWN_CMD_END
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/util/spawn_command.h
      type_or_value: SPAWN_CMD_END
    structs: []
    typedefs: []
    union: []
- function_names:
  - MATCH_DICTIONARY
  - match_list_parse
  - STR
  - match_list_init
  - match_list_match
  - match_list_free
  source_file: /src/postfix/postfix/src/util/match_list.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OPEN_FLAGS
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/postfix/postfix/src/util/match_list.c
      type_or_value: O_RDONLY
    - item_type: preproc_def
      name: DICT_FLAGS
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/postfix/postfix/src/util/match_list.c
      type_or_value: (DICT_FLAG_LOCK | DICT_FLAG_UTF8_REQUEST)
    - item_type: preproc_def
      name: DO_MATCH
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/postfix/postfix/src/util/match_list.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - dict_unix_getpwnam
  - dict_unix_getgrnam
  - dict_unix_close
  - dict_unix_open
  source_file: /src/postfix/postfix/src/util/dict_unix.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dict
        type: DICT
      item_type: struct
      name: DICT_UNIX
      pos:
        line_end: 61
        line_start: 59
        source_file: /src/postfix/postfix/src/util/dict_unix.c
    - fields:
      - name: '*name'
        type: char
      - name: '*(*lookup) (DICT *, const char *)'
        type: char
      item_type: struct
      name: dict_unix_lookup
      pos:
        line_end: 167
        line_start: 164
        source_file: /src/postfix/postfix/src/util/dict_unix.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/cidr_match.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CIDR_MATCH_ABYTES
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postfix/postfix/src/util/cidr_match.h
      type_or_value: MAI_V6ADDR_BYTES
    - item_type: preproc_def
      name: CIDR_MATCH_ABYTES
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postfix/postfix/src/util/cidr_match.h
      type_or_value: MAI_V4ADDR_BYTES
    - item_type: preproc_def
      name: CIDR_MATCH_OP_MATCH
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/postfix/postfix/src/util/cidr_match.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: CIDR_MATCH_OP_IF
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/postfix/postfix/src/util/cidr_match.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: CIDR_MATCH_OP_ENDIF
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/postfix/postfix/src/util/cidr_match.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: CIDR_MATCH_TRUE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/postfix/postfix/src/util/cidr_match.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: CIDR_MATCH_FALSE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postfix/postfix/src/util/cidr_match.h
      type_or_value: "0\t"
    structs:
    - fields:
      - name: op
        type: int
      - name: match
        type: int
      - name: net_bytes[CIDR_MATCH_ABYTES]
        type: unsigned char
      - name: mask_bytes[CIDR_MATCH_ABYTES]
        type: unsigned char
      - name: addr_family
        type: unsigned char
      - name: addr_byte_count
        type: unsigned char
      - name: addr_bit_count
        type: unsigned char
      - name: mask_shift
        type: unsigned char
      - name: '*next'
        type: struct CIDR_MATCH
      - name: '*block_end'
        type: struct CIDR_MATCH
      item_type: struct
      name: CIDR_MATCH
      pos:
        line_end: 50
        line_start: 39
        source_file: /src/postfix/postfix/src/util/cidr_match.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/logwriter.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - safe_getenv
  source_file: /src/postfix/postfix/src/util/safe_getenv.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/dict_cidr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_CIDR
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postfix/postfix/src/util/dict_cidr.h
      type_or_value: '"cidr"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - format_line_number
  source_file: /src/postfix/postfix/src/util/line_number.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/dict_unix.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_UNIX
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/util/dict_unix.h
      type_or_value: '"unix"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/sane_fsops.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SLMDB_API_RETURN
  - slmdb_cursor_close
  - slmdb_saved_key_init
  - slmdb_saved_key_free
  - HAVE_SLMDB_SAVED_KEY
  - slmdb_saved_key_assign
  - slmdb_prepare
  - slmdb_recover
  - slmdb_txn_begin
  - slmdb_get
  - slmdb_put
  - slmdb_del
  - slmdb_cursor_get
  - slmdb_assert_cb
  - slmdb_control
  - slmdb_close
  - slmdb_init
  - slmdb_open
  source_file: /src/postfix/postfix/src/util/slmdb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SLMDB_DEF_API_RETRY_LIMIT
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/postfix/postfix/src/util/slmdb.c
      type_or_value: "30\t"
    - item_type: preproc_def
      name: SLMDB_DEF_BULK_RETRY_LIMIT
      pos:
        line_end: 295
        line_start: 293
        source_file: /src/postfix/postfix/src/util/slmdb.c
      type_or_value: "(2 * sizeof(size_t) * CHAR_BIT)\t"
    - item_type: preproc_def
      name: SLMDB_FUDGE
      pos:
        line_end: 882
        line_start: 881
        source_file: /src/postfix/postfix/src/util/slmdb.c
      type_or_value: '10240'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/load_file.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*LOAD_FILE_FN) (VSTREAM *, void *)
      pos:
        line_end: 16
        line_start: 16
        source_file: /src/postfix/postfix/src/util/load_file.h
      type: void
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/dict_static.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_STATIC
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/util/dict_static.h
      type_or_value: '"static"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/sane_accept.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SCOPY
  - dict_sdbm_lookup
  - dict_sdbm_update
  - dict_sdbm_delete
  - dict_sdbm_sequence
  - dict_sdbm_close
  - dict_sdbm_open
  source_file: /src/postfix/postfix/src/util/dict_sdbm.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dict
        type: DICT
      - name: '*dbm'
        type: SDBM
      - name: '*key_buf'
        type: VSTRING
      - name: '*val_buf'
        type: VSTRING
      item_type: struct
      name: DICT_SDBM
      pos:
        line_end: 65
        line_start: 60
        source_file: /src/postfix/postfix/src/util/dict_sdbm.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/dict_union.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_UNION
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/util/dict_union.h
      type_or_value: '"unionmap"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - poll_fd_bsd
  - HANDLE_SYSV_POLL_ERROR
  - HANDLE_SYSV_POLL_ERROR
  - poll_fd_sysv
  source_file: /src/postfix/postfix/src/util/poll_fd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: poll_fd_sysv
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/postfix/postfix/src/util/poll_fd.c
      type_or_value: poll_fd
    - item_type: preproc_def
      name: poll_fd_bsd
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/postfix/postfix/src/util/poll_fd.c
      type_or_value: poll_fd
    - item_type: preproc_def
      name: poll_fd_sysv
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/postfix/postfix/src/util/poll_fd.c
      type_or_value: poll_fd
    - item_type: preproc_def
      name: WAIT_FOR_EVENT
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/postfix/postfix/src/util/poll_fd.c
      type_or_value: (-1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - strcasecmp
  - strncasecmp
  source_file: /src/postfix/postfix/src/util/strcasecmp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stat
  - lstat
  - fstat
  source_file: /src/postfix/postfix/src/util/warn_stat.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - trimblanks
  source_file: /src/postfix/postfix/src/util/trimblanks.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dict_default_lookup
  - dict_default_update
  - dict_default_delete
  - dict_default_sequence
  - dict_default_lock
  - dict_default_close
  - dict_alloc
  - dict_free
  - dict_jmp_alloc
  source_file: /src/postfix/postfix/src/util/dict_alloc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - add_known_tcp_port
  - filter_known_tcp_port
  - clear_known_tcp_ports
  - compare_ht_keys
  - export_known_tcp_ports
  - main
  - STRING_OR_NULL
  source_file: /src/postfix/postfix/src/util/known_tcp_ports.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*lhs'
        type: char
      - name: '*rhs'
        type: char
      item_type: struct
      name: association
      pos:
        line_end: 149
        line_start: 146
        source_file: /src/postfix/postfix/src/util/known_tcp_ports.c
    - fields:
      - name: '*query'
        type: char
      - name: '*exp_reply'
        type: char
      item_type: struct
      name: probe
      pos:
        line_end: 154
        line_start: 151
        source_file: /src/postfix/postfix/src/util/known_tcp_ports.c
    - fields:
      - name: '*label'
        type: char
      - name: associations[10]
        type: struct association
      - name: '*exp_err'
        type: char
      - name: '*exp_export'
        type: char
      - name: probes[10]
        type: struct probe
      item_type: struct
      name: test_case
      pos:
        line_end: 162
        line_start: 156
        source_file: /src/postfix/postfix/src/util/known_tcp_ports.c
    typedefs: []
    union: []
- function_names:
  - allascii_len
  source_file: /src/postfix/postfix/src/util/allascii.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/dict_dbm.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_DBM
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/util/dict_dbm.h
      type_or_value: '"dbm"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/dict_nis.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_NIS
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/util/dict_nis.h
      type_or_value: '"nis"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - vstring_get
  - vstring_get_nonl
  - vstring_get_null
  - vstring_get_bound
  - vstring_get_nonl_bound
  - vstring_get_null_bound
  - vstring_fgets
  - vstring_fgets_nonl
  - vstring_fgets_null
  - vstring_fgets_bound
  - vstring_fgets_nonl_bound
  source_file: /src/postfix/postfix/src/util/vstring_vstream.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VSTRING_GET_FLAG_NONE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postfix/postfix/src/util/vstring_vstream.h
      type_or_value: (0)
    - item_type: preproc_def
      name: VSTRING_GET_FLAG_APPEND
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/util/vstring_vstream.h
      type_or_value: "(1<<1)\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - base64_encode
  - base64_decode
  source_file: /src/postfix/postfix/src/util/base64_code.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BASE64_FLAG_NONE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/postfix/postfix/src/util/base64_code.h
      type_or_value: '0'
    - item_type: preproc_def
      name: BASE64_FLAG_APPEND
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postfix/postfix/src/util/base64_code.h
      type_or_value: (1<<0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - argv_splitq
  - argv_splitq_count
  - argv_splitq_append
  source_file: /src/postfix/postfix/src/util/argv_splitq.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/get_hostname.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - skipblanks
  source_file: /src/postfix/postfix/src/util/skipblanks.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - alldig
  - allalnum
  source_file: /src/postfix/postfix/src/util/alldig.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/listen.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - netstring_setup
  - netstring_except
  - netstring_get_length
  - netstring_get_data
  - netstring_get_terminator
  - netstring_get
  - netstring_put
  - netstring_put_multi
  - netstring_fflush
  - netstring_memcpy
  - netstring_memcat
  - netstring_strerror
  - stdin_read_event
  - child_read_event
  - main
  source_file: /src/postfix/postfix/src/util/netstring.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SAVE_AND_SET_EUGID
  - RESTORE_SAVED_EUGID
  source_file: /src/postfix/postfix/src/util/set_eugid.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VBUF_TO_APPL
  - vbuf_rd_error
  - vbuf_wr_error
  - vbuf_rd_timeout
  - vbuf_wr_timeout
  - vbuf_error
  - vbuf_eof
  - vbuf_timeout
  - vbuf_clearerr
  - VBUF_GET
  - VBUF_PUT
  - VBUF_SPACE
  source_file: /src/postfix/postfix/src/util/vbuf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VBUF_FLAG_RD_ERR
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/postfix/postfix/src/util/vbuf.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: VBUF_FLAG_WR_ERR
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/postfix/postfix/src/util/vbuf.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: VBUF_FLAG_ERR
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/postfix/postfix/src/util/vbuf.h
      type_or_value: (VBUF_FLAG_RD_ERR | VBUF_FLAG_WR_ERR)
    - item_type: preproc_def
      name: VBUF_FLAG_EOF
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/postfix/postfix/src/util/vbuf.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: VBUF_FLAG_RD_TIMEOUT
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/postfix/postfix/src/util/vbuf.h
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: VBUF_FLAG_WR_TIMEOUT
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/postfix/postfix/src/util/vbuf.h
      type_or_value: "(1<<4)\t"
    - item_type: preproc_def
      name: VBUF_FLAG_TIMEOUT
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/postfix/postfix/src/util/vbuf.h
      type_or_value: (VBUF_FLAG_RD_TIMEOUT | VBUF_FLAG_WR_TIMEOUT)
    - item_type: preproc_def
      name: VBUF_FLAG_BAD
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/postfix/postfix/src/util/vbuf.h
      type_or_value: (VBUF_FLAG_ERR | VBUF_FLAG_EOF | VBUF_FLAG_TIMEOUT)
    - item_type: preproc_def
      name: VBUF_FLAG_FIXED
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/postfix/postfix/src/util/vbuf.h
      type_or_value: "(1<<5)\t"
    - item_type: preproc_def
      name: VBUF_EOF
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/postfix/postfix/src/util/vbuf.h
      type_or_value: "(-1)\t\t"
    structs:
    - fields:
      - name: flags
        type: int
      - name: '*data'
        type: unsigned char
      - name: len
        type: ssize_t
      - name: cnt
        type: ssize_t
      - name: '*ptr'
        type: unsigned char
      - name: get_ready
        type: VBUF_GET_READY_FN
      - name: put_ready
        type: VBUF_PUT_READY_FN
      - name: space
        type: VBUF_SPACE_FN
      item_type: struct
      name: VBUF
      pos:
        line_end: 45
        line_start: 36
        source_file: /src/postfix/postfix/src/util/vbuf.h
    typedefs:
    - item_type: typedef
      name: (*VBUF_GET_READY_FN) (VBUF *)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/postfix/postfix/src/util/vbuf.h
      type: int
    - item_type: typedef
      name: (*VBUF_PUT_READY_FN) (VBUF *)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/postfix/postfix/src/util/vbuf.h
      type: int
    - item_type: typedef
      name: (*VBUF_SPACE_FN) (VBUF *, ssize_t)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/postfix/postfix/src/util/vbuf.h
      type: int
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/line_number.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_inet_windowsize
  source_file: /src/postfix/postfix/src/util/inet_windowsize.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mkmap_lmdb_open
  source_file: /src/postfix/postfix/src/util/mkmap_lmdb.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stream_send_fd
  - main
  source_file: /src/postfix/postfix/src/util/stream_send_fd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - attr_clnt_free
  - attr_clnt_create
  - attr_clnt_request
  - SKIP_ARG
  - SKIP_ARG2
  - attr_clnt_control
  source_file: /src/postfix/postfix/src/util/attr_clnt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ATTR_CLNT_DEF_REQ_LIMIT
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/postfix/postfix/src/util/attr_clnt.c
      type_or_value: "(0)\t"
    - item_type: preproc_def
      name: ATTR_CLNT_DEF_TRY_LIMIT
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/postfix/postfix/src/util/attr_clnt.c
      type_or_value: "(2)\t"
    - item_type: preproc_def
      name: ATTR_CLNT_DEF_TRY_DELAY
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/postfix/postfix/src/util/attr_clnt.c
      type_or_value: "(1)\t"
    structs:
    - fields:
      - name: '*auto_clnt'
        type: AUTO_CLNT
      - name: print
        type: ATTR_CLNT_PRINT_FN
      - name: scan
        type: ATTR_CLNT_SCAN_FN
      - name: req_limit
        type: int
      - name: req_count
        type: int
      - name: try_limit
        type: int
      - name: try_delay
        type: int
      item_type: struct
      name: ATTR_CLNT
      pos:
        line_end: 122
        line_start: 113
        source_file: /src/postfix/postfix/src/util/attr_clnt.c
    typedefs: []
    union: []
- function_names:
  - strerror
  - setenv
  - unsetenv
  - seteuid
  - setegid
  - mkfifo
  - waitpid
  - setsid
  - dup2_pass_on_exec
  - closefrom
  - inet_ntop
  - inet_pton
  source_file: /src/postfix/postfix/src/util/sys_compat.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INADDR_NONE
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/postfix/postfix/src/util/sys_compat.c
      type_or_value: '0xffffffff'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/username.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - split_nameval
  - SKIP
  - TRIM
  source_file: /src/postfix/postfix/src/util/split_nameval.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - inet_prefix_top
  - main
  source_file: /src/postfix/postfix/src/util/inet_prefix_top.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_CASE_COUNT
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/postfix/postfix/src/util/inet_prefix_top.c
      type_or_value: (sizeof(test_cases) / sizeof(test_cases[0]))
    structs:
    - fields:
      - name: in_af
        type: int
      - name: in_prefix_len
        type: int
      - name: '*exp_prefix'
        type: char
      item_type: struct
      name: TEST_CASE
      pos:
        line_end: 117
        line_start: 113
        source_file: /src/postfix/postfix/src/util/inet_prefix_top.c
    typedefs: []
    union:
    - fields:
      - name: in_addr
        type: struct in_addr
      - name: in6_addr
        type: struct in6_addr
      item_type: union
      name: u
      pos:
        line_end: 65
        line_start: 62
        source_file: /src/postfix/postfix/src/util/inet_prefix_top.c
    - fields:
      - name: in_addr
        type: struct in_addr
      - name: in6_addr
        type: struct in6_addr
      item_type: union
      name: u
      pos:
        line_end: 144
        line_start: 141
        source_file: /src/postfix/postfix/src/util/inet_prefix_top.c
- function_names:
  - pass_accept
  - pass_accept_attr
  source_file: /src/postfix/postfix/src/util/pass_accept.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PASS_ACCEPT_TMOUT
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/postfix/postfix/src/util/pass_accept.c
      type_or_value: '100'
    structs: []
    typedefs: []
    union: []
- function_names:
  - nbbio_event
  - nbbio_enable_read
  - nbbio_enable_write
  - nbbio_disable_readwrite
  - nbbio_slumber
  - nbbio_create
  - nbbio_free
  source_file: /src/postfix/postfix/src/util/nbbio.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dict_debug_lookup
  - dict_debug_update
  - dict_debug_delete
  - dict_debug_sequence
  - dict_debug_close
  - dict_debug_open
  source_file: /src/postfix/postfix/src/util/dict_debug.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dict
        type: DICT
      - name: '*real_dict'
        type: DICT
      item_type: struct
      name: DICT_DEBUG
      pos:
        line_end: 55
        line_start: 52
        source_file: /src/postfix/postfix/src/util/dict_debug.c
    typedefs: []
    union: []
- function_names:
  - VSTREAM_STATIC
  - VSTREAM_ACC_MASK
  - VSTREAM_CAN_READ
  - VSTREAM_CAN_WRITE
  - VSTREAM_BUF_COUNT
  - VSTREAM_BUF_AT_START
  - VSTREAM_BUF_AT_OFFSET
  - VSTREAM_BUF_AT_END
  - VSTREAM_BUF_ZERO
  - VSTREAM_BUF_ACTIONS
  - VSTREAM_SAVE_STATE
  - VSTREAM_RESTORE_STATE
  - VSTREAM_FORK_STATE
  - VSTREAM_FFLUSH_SOME
  - VSTREAM_SUB_TIME
  - VSTREAM_ADD_TIME
  - vstream_buf_init
  - vstream_buf_alloc
  - vstream_buf_wipe
  - vstream_fflush_some
  - vstream_fflush_delayed
  - vstream_buf_get_ready
  - vstream_buf_put_ready
  - vstream_buf_space
  - VSTREAM_TRUNCATE
  - VSTREAM_ROUNDUP
  - vstream_fpurge
  - VSTREAM_MAYBE_PURGE_WRITE
  - VSTREAM_MAYBE_PURGE_READ
  - vstream_fseek
  - vstream_ftell
  - vstream_subopen
  - vstream_fdopen
  - vstream_fopen
  - open_create
  - open_exist
  - vstream_fflush
  - vstream_fclose
  - vstream_fdclose
  - vstream_printf
  - vstream_fprintf
  - vstream_fputs
  - vstream_fread_buf
  - vstream_fread_app
  - vstream_control
  - SWAP
  - VSTREAM_TRY_DUPFD
  - vstream_vprintf
  - vstream_vfprintf
  - vstream_bufstat
  - vstream_peek
  - vstream_peek_data
  - vstream_memreopen
  - copy_line
  - printf_number
  - do_memory_stream
  - main
  source_file: /src/postfix/postfix/src/util/vstream.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VSTREAM_FLAG_READ_DOUBLE
      pos:
        line_end: 646
        line_start: 645
        source_file: /src/postfix/postfix/src/util/vstream.c
      type_or_value: (VSTREAM_FLAG_READ | VSTREAM_FLAG_DOUBLE)
    - item_type: preproc_def
      name: VSTREAM_FLAG_WRITE_DOUBLE
      pos:
        line_end: 647
        line_start: 646
        source_file: /src/postfix/postfix/src/util/vstream.c
      type_or_value: (VSTREAM_FLAG_WRITE | VSTREAM_FLAG_DOUBLE)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/dict_cdb.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_TYPE_CDB
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postfix/postfix/src/util/dict_cdb.h
      type_or_value: '"cdb"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - nvtable_update
  source_file: /src/postfix/postfix/src/util/nvtable.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sane_strtol
  - sane_strtoul
  source_file: /src/postfix/postfix/src/util/sane_strtol.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/inet_prefix_top.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dict_surrogate_sequence
  - dict_surrogate_update
  - dict_surrogate_lookup
  - dict_surrogate_delete
  - dict_surrogate_close
  - dict_surrogate
  source_file: /src/postfix/postfix/src/util/dict_surrogate.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dict
        type: DICT
      - name: '*reason'
        type: char
      item_type: struct
      name: DICT_SURROGATE
      pos:
        line_end: 71
        line_start: 68
        source_file: /src/postfix/postfix/src/util/dict_surrogate.c
    typedefs: []
    union: []
- function_names:
  - MAC_PARSE_ACTION
  - mac_parse
  - SKIP
  - mac_parse_print
  - main
  source_file: /src/postfix/postfix/src/util/mac_parse.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - parse_utf8_char
  source_file: /src/postfix/postfix/src/util/parse_utf8_char.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - GETTIMEOFDAY
  - getsid
  - CMSG_SPACE
  - CMSG_LEN
  - CMSG_ALIGN
  - GETTIMEOFDAY
  - GETTIMEOFDAY
  - S_ISSOCK
  - GETTIMEOFDAY
  - GETTIMEOFDAY
  - memmove
  - OCTAL_TO_UNSIGNED
  - GETTIMEOFDAY
  - GETTIMEOFDAY
  - GETTIMEOFDAY
  - GETTIMEOFDAY
  - CMSG_SPACE
  - CMSG_LEN
  - GETTIMEOFDAY
  - GETTIMEOFDAY
  - GETTIMEOFDAY
  - HAVE_GLIBC_API_VERSION_SUPPORT
  - HAVE_GLIBC_API_VERSION_SUPPORT
  - GETTIMEOFDAY
  - KERNEL_VERSION
  - GETTIMEOFDAY
  - GETTIMEOFDAY
  - GETTIMEOFDAY
  - GETTIMEOFDAY
  - GETTIMEOFDAY
  - NORMAL_EXIT_STATUS
  - GETTIMEOFDAY
  - isascii
  - WEXITSTATUS
  - WTERMSIG
  - NORMAL_EXIT_STATUS
  - GETTIMEOFDAY
  - isascii
  - WEXITSTATUS
  - WTERMSIG
  - GETTIMEOFDAY
  - GETTIMEOFDAY
  - S_ISSOCK
  - GETTIMEOFDAY
  - S_ISSOCK
  - CAST_ANY_PTR_TO_INT
  - CAST_INT_TO_VOID_PTR
  - GETOPT
  - GETOPT
  - NORMAL_EXIT_STATUS
  - OCTAL_TO_UNSIGNED
  - INT_SIZEOF
  - S_ISBLK
  - S_ISCHR
  - S_ISDIR
  - S_ISSOCK
  - S_ISFIFO
  - S_ISREG
  - S_ISLNK
  - __has_attribute
  - PRINTFLIKE
  - PRINTFLIKE
  - SCANFLIKE
  - SCANFLIKE
  - PRINTFPTRLIKE
  - PRINTFPTRLIKE
  - EXPECTED
  - UNEXPECTED
  - EXPECTED
  - UNEXPECTED
  - __MAXINT__
  - ENFORCING_SIZE_LIMIT
  - ISASCII
  - _UCHAR_
  - ISALNUM
  - ISALPHA
  - ISCNTRL
  - ISDIGIT
  - ISGRAPH
  - ISLOWER
  - ISPRINT
  - ISPUNCT
  - ISSPACE
  - ISUPPER
  - TOLOWER
  - TOUPPER
  source_file: /src/postfix/postfix/src/util/sys_defs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UINT32_TYPE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: UINT16_TYPE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: INTERNAL_LOCK
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: MYFLOCK_STYLE_FLOCK
    - item_type: preproc_def
      name: DEF_MAILBOX_LOCK
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"flock, dotlock"'
    - item_type: preproc_def
      name: NATIVE_DB_TYPE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"hash"'
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: "DEF_DB_TYPE \":/etc/mail/aliases\"\t"
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: "DEF_DB_TYPE \":/etc/mail/aliases\"\t"
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: DEF_DB_TYPE ":/etc/aliases"
    - item_type: preproc_def
      name: ROOT_PATH
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/sbin:/usr/sbin"'
    - item_type: preproc_def
      name: NATIVE_SENDMAIL_PATH
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/sbin/sendmail"'
    - item_type: preproc_def
      name: NATIVE_MAILQ_PATH
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin/mailq"'
    - item_type: preproc_def
      name: NATIVE_NEWALIAS_PATH
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin/newaliases"'
    - item_type: preproc_def
      name: NATIVE_COMMAND_DIR
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/sbin"'
    - item_type: preproc_def
      name: NATIVE_DAEMON_DIR
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/libexec/postfix"'
    - item_type: preproc_def
      name: PREFERRED_RAND_SOURCE
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: "\"dev:/dev/urandom\"\t"
    - item_type: preproc_def
      name: SOCKADDR_SIZE
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: SOCKOPT_SIZE
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: PREFERRED_RAND_SOURCE
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: "\"dev:/dev/arandom\"\t"
    - item_type: preproc_def
      name: SOCKADDR_SIZE
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: SOCKOPT_SIZE
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: DEF_MAILBOX_LOCK
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"flock, dotlock"'
    - item_type: preproc_def
      name: PREFERRED_RAND_SOURCE
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: "\"dev:/dev/urandom\"\t"
    - item_type: preproc_def
      name: SOCKADDR_SIZE
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: SOCKOPT_SIZE
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: SOCKADDR_SIZE
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: SOCKOPT_SIZE
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: EVENTS_STYLE
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: EVENTS_STYLE_KQUEUE
    - item_type: preproc_def
      name: UINT32_TYPE
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: UINT16_TYPE
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: INTERNAL_LOCK
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: MYFLOCK_STYLE_FLOCK
    - item_type: preproc_def
      name: DEF_MAILBOX_LOCK
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"flock, dotlock"'
    - item_type: preproc_def
      name: NATIVE_DB_TYPE
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"hash"'
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: DEF_DB_TYPE ":/etc/aliases"
    - item_type: preproc_def
      name: ROOT_PATH
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/sbin:/usr/sbin"'
    - item_type: preproc_def
      name: NATIVE_SENDMAIL_PATH
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/sbin/sendmail"'
    - item_type: preproc_def
      name: NATIVE_MAILQ_PATH
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin/mailq"'
    - item_type: preproc_def
      name: NATIVE_NEWALIAS_PATH
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin/newaliases"'
    - item_type: preproc_def
      name: NATIVE_COMMAND_DIR
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/sbin"'
    - item_type: preproc_def
      name: NATIVE_DAEMON_DIR
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/libexec/postfix"'
    - item_type: preproc_def
      name: SOCKADDR_SIZE
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: SOCKOPT_SIZE
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: EVENTS_STYLE
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: EVENTS_STYLE_KQUEUE
    - item_type: preproc_def
      name: PREFERRED_RAND_SOURCE
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"dev:/dev/urandom"'
    - item_type: preproc_def
      name: UINT32_TYPE
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: UINT16_TYPE
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: FD_SETSIZE
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '96'
    - item_type: preproc_def
      name: _PATH_MAILDIR
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/var/spool/mail"'
    - item_type: preproc_def
      name: _PATH_BSHELL
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin/sh"'
    - item_type: preproc_def
      name: _PATH_DEFPATH
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/usr/ucb"'
    - item_type: preproc_def
      name: _PATH_STDPATH
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/usr/etc:/usr/ucb"'
    - item_type: preproc_def
      name: INTERNAL_LOCK
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: MYFLOCK_STYLE_FLOCK
    - item_type: preproc_def
      name: DEF_MAILBOX_LOCK
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"flock, dotlock"'
    - item_type: preproc_def
      name: NATIVE_DB_TYPE
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"hash"'
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: DEF_DB_TYPE ":/etc/aliases"
    - item_type: preproc_def
      name: NATIVE_DB_TYPE
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"dbm"'
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: DEF_DB_TYPE ":/etc/aliases"
    - item_type: preproc_def
      name: ROOT_PATH
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/etc:/usr/etc:/usr/ucb"'
    - item_type: preproc_def
      name: NATIVE_SENDMAIL_PATH
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/lib/sendmail"'
    - item_type: preproc_def
      name: NATIVE_COMMAND_DIR
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/etc"'
    - item_type: preproc_def
      name: NATIVE_DAEMON_DIR
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/libexec/postfix"'
    - item_type: preproc_def
      name: UINT32_TYPE
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: UINT16_TYPE
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: _PATH_DEFPATH
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin:/usr/ucb"'
    - item_type: preproc_def
      name: INTERNAL_LOCK
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: MYFLOCK_STYLE_FLOCK
    - item_type: preproc_def
      name: DEF_MAILBOX_LOCK
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"flock, dotlock"'
    - item_type: preproc_def
      name: NATIVE_DB_TYPE
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"dbm"'
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: DEF_DB_TYPE ":/var/adm/sendmail/aliases"
    - item_type: preproc_def
      name: ROOT_PATH
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/sbin:/usr/sbin:/usr/ucb"'
    - item_type: preproc_def
      name: UINT32_TYPE
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: UINT16_TYPE
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: fpos_t
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: long
    - item_type: preproc_def
      name: _PATH_MAILDIR
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/var/spool/mail"'
    - item_type: preproc_def
      name: _PATH_BSHELL
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin/sh"'
    - item_type: preproc_def
      name: _PATH_DEFPATH
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin:/usr/ucb"'
    - item_type: preproc_def
      name: _PATH_STDPATH
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin:/usr/etc:/usr/ucb"'
    - item_type: preproc_def
      name: INTERNAL_LOCK
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: MYFLOCK_STYLE_FLOCK
    - item_type: preproc_def
      name: DEF_MAILBOX_LOCK
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"flock, dotlock"'
    - item_type: preproc_def
      name: NATIVE_DB_TYPE
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"dbm"'
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: DEF_DB_TYPE ":/etc/aliases"
    - item_type: preproc_def
      name: ROOT_PATH
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/etc:/usr/etc:/usr/ucb"'
    - item_type: preproc_def
      name: NATIVE_SENDMAIL_PATH
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/lib/sendmail"'
    - item_type: preproc_def
      name: NATIVE_MAILQ_PATH
      pos:
        line_end: 404
        line_start: 403
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/ucb/mailq"'
    - item_type: preproc_def
      name: NATIVE_NEWALIAS_PATH
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/ucb/newaliases"'
    - item_type: preproc_def
      name: NATIVE_COMMAND_DIR
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/etc"'
    - item_type: preproc_def
      name: NATIVE_DAEMON_DIR
      pos:
        line_end: 407
        line_start: 406
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/libexec/postfix"'
    - item_type: preproc_def
      name: size_t
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned
    - item_type: preproc_def
      name: ssize_t
      pos:
        line_end: 411
        line_start: 410
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: int
    - item_type: preproc_def
      name: getsid
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: getpgrp
    - item_type: preproc_def
      name: UINT32_TYPE
      pos:
        line_end: 421
        line_start: 420
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: UINT16_TYPE
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: _PATH_MAILDIR
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/var/mail"'
    - item_type: preproc_def
      name: _PATH_BSHELL
      pos:
        line_end: 424
        line_start: 423
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin/sh"'
    - item_type: preproc_def
      name: _PATH_DEFPATH
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin:/usr/ucb"'
    - item_type: preproc_def
      name: _PATH_STDPATH
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin:/usr/sbin:/usr/ucb"'
    - item_type: preproc_def
      name: INTERNAL_LOCK
      pos:
        line_end: 428
        line_start: 427
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: MYFLOCK_STYLE_FCNTL
    - item_type: preproc_def
      name: DEF_MAILBOX_LOCK
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"fcntl, dotlock"'
    - item_type: preproc_def
      name: NATIVE_DB_TYPE
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"dbm"'
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 433
        line_start: 432
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: DEF_DB_TYPE ":/etc/mail/aliases"
    - item_type: preproc_def
      name: ROOT_PATH
      pos:
        line_end: 442
        line_start: 441
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/sbin:/usr/sbin:/usr/ucb"'
    - item_type: preproc_def
      name: LOCAL_LISTEN
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: stream_listen
    - item_type: preproc_def
      name: LOCAL_ACCEPT
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: stream_accept
    - item_type: preproc_def
      name: LOCAL_CONNECT
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: stream_connect
    - item_type: preproc_def
      name: LOCAL_TRIGGER
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: stream_trigger
    - item_type: preproc_def
      name: LOCAL_SEND_FD
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: stream_send_fd
    - item_type: preproc_def
      name: LOCAL_RECV_FD
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: stream_recv_fd
    - item_type: preproc_def
      name: PREFERRED_RAND_SOURCE
      pos:
        line_end: 469
        line_start: 468
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"dev:/dev/urandom"'
    - item_type: preproc_def
      name: EVENTS_STYLE
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: EVENTS_STYLE_DEVPOLL
    - item_type: preproc_def
      name: NATIVE_SENDMAIL_PATH
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/lib/sendmail"'
    - item_type: preproc_def
      name: NATIVE_MAILQ_PATH
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin/mailq"'
    - item_type: preproc_def
      name: NATIVE_NEWALIAS_PATH
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin/newaliases"'
    - item_type: preproc_def
      name: NATIVE_COMMAND_DIR
      pos:
        line_end: 489
        line_start: 488
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/sbin"'
    - item_type: preproc_def
      name: NATIVE_DAEMON_DIR
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/libexec/postfix"'
    - item_type: preproc_def
      name: UINT32_TYPE
      pos:
        line_end: 500
        line_start: 499
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: UINT16_TYPE
      pos:
        line_end: 501
        line_start: 500
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: _PATH_MAILDIR
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/var/mail"'
    - item_type: preproc_def
      name: _PATH_BSHELL
      pos:
        line_end: 503
        line_start: 502
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin/sh"'
    - item_type: preproc_def
      name: _PATH_DEFPATH
      pos:
        line_end: 504
        line_start: 503
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin:/usr/ucb"'
    - item_type: preproc_def
      name: _PATH_STDPATH
      pos:
        line_end: 505
        line_start: 504
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin:/usr/sbin:/usr/ucb"'
    - item_type: preproc_def
      name: INTERNAL_LOCK
      pos:
        line_end: 508
        line_start: 507
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: MYFLOCK_STYLE_FCNTL
    - item_type: preproc_def
      name: DEF_MAILBOX_LOCK
      pos:
        line_end: 509
        line_start: 508
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"fcntl, dotlock"'
    - item_type: preproc_def
      name: NATIVE_DB_TYPE
      pos:
        line_end: 512
        line_start: 511
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"dbm"'
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 513
        line_start: 512
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: DEF_DB_TYPE ":/etc/mail/aliases"
    - item_type: preproc_def
      name: ROOT_PATH
      pos:
        line_end: 519
        line_start: 518
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/sbin:/usr/sbin:/usr/ucb"'
    - item_type: preproc_def
      name: UINT32_TYPE
      pos:
        line_end: 530
        line_start: 529
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: UINT16_TYPE
      pos:
        line_end: 531
        line_start: 530
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: _PATH_MAILDIR
      pos:
        line_end: 532
        line_start: 531
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/var/mail"'
    - item_type: preproc_def
      name: _PATH_BSHELL
      pos:
        line_end: 533
        line_start: 532
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin/sh"'
    - item_type: preproc_def
      name: _PATH_DEFPATH
      pos:
        line_end: 534
        line_start: 533
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin:/usr/ucb"'
    - item_type: preproc_def
      name: _PATH_STDPATH
      pos:
        line_end: 535
        line_start: 534
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin:/usr/sbin:/usr/ucb"'
    - item_type: preproc_def
      name: INTERNAL_LOCK
      pos:
        line_end: 538
        line_start: 537
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: MYFLOCK_STYLE_FCNTL
    - item_type: preproc_def
      name: DEF_MAILBOX_LOCK
      pos:
        line_end: 539
        line_start: 538
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"fcntl, dotlock"'
    - item_type: preproc_def
      name: NATIVE_DB_TYPE
      pos:
        line_end: 542
        line_start: 541
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"dbm"'
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 543
        line_start: 542
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: DEF_DB_TYPE ":/etc/mail/aliases"
    - item_type: preproc_def
      name: HAS_NIS
      pos:
        line_end: 546
        line_start: 544
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '*/

        #endif'
    - item_type: preproc_def
      name: ROOT_PATH
      pos:
        line_end: 549
        line_start: 548
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/sbin:/usr/sbin:/usr/ucb"'
    - item_type: preproc_def
      name: UINT32_TYPE
      pos:
        line_end: 562
        line_start: 561
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: UINT16_TYPE
      pos:
        line_end: 563
        line_start: 562
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: _PATH_BSHELL
      pos:
        line_end: 567
        line_start: 566
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin/sh"'
    - item_type: preproc_def
      name: _PATH_MAILDIR
      pos:
        line_end: 570
        line_start: 569
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: "\"/var/spool/mail\"\t"
    - item_type: preproc_def
      name: _PATH_DEFPATH
      pos:
        line_end: 573
        line_start: 572
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin:/usr/ucb"'
    - item_type: preproc_def
      name: _PATH_STDPATH
      pos:
        line_end: 576
        line_start: 575
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin:/usr/sbin:/usr/ucb"'
    - item_type: preproc_def
      name: INTERNAL_LOCK
      pos:
        line_end: 579
        line_start: 578
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: MYFLOCK_STYLE_FCNTL
    - item_type: preproc_def
      name: DEF_MAILBOX_LOCK
      pos:
        line_end: 580
        line_start: 579
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"fcntl, dotlock"'
    - item_type: preproc_def
      name: NATIVE_DB_TYPE
      pos:
        line_end: 584
        line_start: 583
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"dbm"'
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 585
        line_start: 584
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: DEF_DB_TYPE ":/etc/aliases"
    - item_type: preproc_def
      name: ROOT_PATH
      pos:
        line_end: 591
        line_start: 590
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/sbin:/usr/sbin:/usr/ucb"'
    - item_type: preproc_def
      name: SOCKADDR_SIZE
      pos:
        line_end: 592
        line_start: 591
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: SOCKOPT_SIZE
      pos:
        line_end: 593
        line_start: 592
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: NATIVE_SENDMAIL_PATH
      pos:
        line_end: 596
        line_start: 595
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/sbin/sendmail"'
    - item_type: preproc_def
      name: NATIVE_MAILQ_PATH
      pos:
        line_end: 597
        line_start: 596
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/sbin/mailq"'
    - item_type: preproc_def
      name: NATIVE_NEWALIAS_PATH
      pos:
        line_end: 598
        line_start: 597
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/sbin/newaliases"'
    - item_type: preproc_def
      name: NATIVE_COMMAND_DIR
      pos:
        line_end: 599
        line_start: 598
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/sbin"'
    - item_type: preproc_def
      name: NATIVE_DAEMON_DIR
      pos:
        line_end: 600
        line_start: 599
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/libexec/postfix"'
    - item_type: preproc_def
      name: MYMALLOC_FUZZ
      pos:
        line_end: 619
        line_start: 618
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: UINT32_TYPE
      pos:
        line_end: 624
        line_start: 623
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: UINT16_TYPE
      pos:
        line_end: 625
        line_start: 624
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: _PATH_BSHELL
      pos:
        line_end: 627
        line_start: 626
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin/sh"'
    - item_type: preproc_def
      name: _PATH_MAILDIR
      pos:
        line_end: 628
        line_start: 627
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: "\"/var/spool/mail\"\t"
    - item_type: preproc_def
      name: _PATH_DEFPATH
      pos:
        line_end: 629
        line_start: 628
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin:/usr/ucb"'
    - item_type: preproc_def
      name: _PATH_STDPATH
      pos:
        line_end: 630
        line_start: 629
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin:/usr/sbin:/usr/ucb"'
    - item_type: preproc_def
      name: INTERNAL_LOCK
      pos:
        line_end: 632
        line_start: 631
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: MYFLOCK_STYLE_FCNTL
    - item_type: preproc_def
      name: DEF_MAILBOX_LOCK
      pos:
        line_end: 633
        line_start: 632
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"fcntl, dotlock"'
    - item_type: preproc_def
      name: NATIVE_DB_TYPE
      pos:
        line_end: 637
        line_start: 636
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"dbm"'
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 638
        line_start: 637
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: DEF_DB_TYPE ":/etc/aliases"
    - item_type: preproc_def
      name: ROOT_PATH
      pos:
        line_end: 645
        line_start: 644
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/sbin:/usr/sbin:/usr/ucb"'
    - item_type: preproc_def
      name: SOCKADDR_SIZE
      pos:
        line_end: 646
        line_start: 645
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: size_t
    - item_type: preproc_def
      name: SOCKOPT_SIZE
      pos:
        line_end: 647
        line_start: 646
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: size_t
    - item_type: preproc_def
      name: NATIVE_SENDMAIL_PATH
      pos:
        line_end: 658
        line_start: 657
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/lib/sendmail"'
    - item_type: preproc_def
      name: NATIVE_MAILQ_PATH
      pos:
        line_end: 659
        line_start: 658
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/sbin/mailq"'
    - item_type: preproc_def
      name: NATIVE_NEWALIAS_PATH
      pos:
        line_end: 660
        line_start: 659
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/sbin/newaliases"'
    - item_type: preproc_def
      name: NATIVE_COMMAND_DIR
      pos:
        line_end: 661
        line_start: 660
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/sbin"'
    - item_type: preproc_def
      name: NATIVE_DAEMON_DIR
      pos:
        line_end: 662
        line_start: 661
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/libexec/postfix"'
    - item_type: preproc_def
      name: UINT32_TYPE
      pos:
        line_end: 669
        line_start: 668
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: UINT16_TYPE
      pos:
        line_end: 670
        line_start: 669
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: _PATH_BSHELL
      pos:
        line_end: 672
        line_start: 671
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin/sh"'
    - item_type: preproc_def
      name: _PATH_MAILDIR
      pos:
        line_end: 673
        line_start: 672
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: "\"/var/spool/mail\"\t"
    - item_type: preproc_def
      name: _PATH_DEFPATH
      pos:
        line_end: 674
        line_start: 673
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin:/usr/ucb"'
    - item_type: preproc_def
      name: _PATH_STDPATH
      pos:
        line_end: 675
        line_start: 674
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin:/usr/sbin:/usr/ucb"'
    - item_type: preproc_def
      name: INTERNAL_LOCK
      pos:
        line_end: 677
        line_start: 676
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: MYFLOCK_STYLE_FCNTL
    - item_type: preproc_def
      name: DEF_MAILBOX_LOCK
      pos:
        line_end: 678
        line_start: 677
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"fcntl, dotlock"'
    - item_type: preproc_def
      name: NATIVE_DB_TYPE
      pos:
        line_end: 682
        line_start: 681
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"dbm"'
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 683
        line_start: 682
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: DEF_DB_TYPE ":/etc/aliases"
    - item_type: preproc_def
      name: ROOT_PATH
      pos:
        line_end: 690
        line_start: 689
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/sbin:/usr/sbin:/usr/ucb"'
    - item_type: preproc_def
      name: SOCKADDR_SIZE
      pos:
        line_end: 691
        line_start: 690
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: size_t
    - item_type: preproc_def
      name: SOCKOPT_SIZE
      pos:
        line_end: 692
        line_start: 691
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: size_t
    - item_type: preproc_def
      name: NATIVE_SENDMAIL_PATH
      pos:
        line_end: 701
        line_start: 700
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/lib/sendmail"'
    - item_type: preproc_def
      name: UINT32_TYPE
      pos:
        line_end: 711
        line_start: 710
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: UINT16_TYPE
      pos:
        line_end: 712
        line_start: 711
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: _PATH_MAILDIR
      pos:
        line_end: 714
        line_start: 713
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/var/mail"'
    - item_type: preproc_def
      name: _PATH_BSHELL
      pos:
        line_end: 715
        line_start: 714
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin/sh"'
    - item_type: preproc_def
      name: _PATH_DEFPATH
      pos:
        line_end: 716
        line_start: 715
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin:/usr/bsd"'
    - item_type: preproc_def
      name: _PATH_STDPATH
      pos:
        line_end: 717
        line_start: 716
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin:/usr/sbin:/usr/bsd"'
    - item_type: preproc_def
      name: INTERNAL_LOCK
      pos:
        line_end: 719
        line_start: 718
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: MYFLOCK_STYLE_FCNTL
    - item_type: preproc_def
      name: DEF_MAILBOX_LOCK
      pos:
        line_end: 720
        line_start: 719
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"fcntl, dotlock"'
    - item_type: preproc_def
      name: NATIVE_DB_TYPE
      pos:
        line_end: 723
        line_start: 722
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"dbm"'
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 724
        line_start: 723
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: DEF_DB_TYPE ":/etc/aliases"
    - item_type: preproc_def
      name: ROOT_PATH
      pos:
        line_end: 730
        line_start: 729
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/sbin:/usr/sbin:/usr/bsd"'
    - item_type: preproc_def
      name: UINT32_TYPE
      pos:
        line_end: 768
        line_start: 767
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: UINT16_TYPE
      pos:
        line_end: 769
        line_start: 768
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: INTERNAL_LOCK
      pos:
        line_end: 774
        line_start: 773
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: MYFLOCK_STYLE_FLOCK
    - item_type: preproc_def
      name: DEF_MAILBOX_LOCK
      pos:
        line_end: 775
        line_start: 774
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: "\"fcntl, dotlock\"\t"
    - item_type: preproc_def
      name: NATIVE_DB_TYPE
      pos:
        line_end: 778
        line_start: 777
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"hash"'
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 779
        line_start: 778
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: DEF_DB_TYPE ":/etc/aliases"
    - item_type: preproc_def
      name: ROOT_PATH
      pos:
        line_end: 784
        line_start: 783
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/sbin:/usr/sbin"'
    - item_type: preproc_def
      name: NATIVE_SENDMAIL_PATH
      pos:
        line_end: 791
        line_start: 790
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/sbin/sendmail"'
    - item_type: preproc_def
      name: NATIVE_MAILQ_PATH
      pos:
        line_end: 792
        line_start: 791
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin/mailq"'
    - item_type: preproc_def
      name: NATIVE_NEWALIAS_PATH
      pos:
        line_end: 793
        line_start: 792
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin/newaliases"'
    - item_type: preproc_def
      name: NATIVE_COMMAND_DIR
      pos:
        line_end: 794
        line_start: 793
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/sbin"'
    - item_type: preproc_def
      name: NATIVE_DAEMON_DIR
      pos:
        line_end: 795
        line_start: 794
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/libexec/postfix"'
    - item_type: preproc_def
      name: SOCKADDR_SIZE
      pos:
        line_end: 797
        line_start: 796
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: SOCKOPT_SIZE
      pos:
        line_end: 798
        line_start: 797
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: _PATH_PROCNET_IFINET6
      pos:
        line_end: 809
        line_start: 808
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/proc/net/if_inet6"'
    - item_type: preproc_def
      name: DEF_SMTP_CACHE_DEMAND
      pos:
        line_end: 819
        line_start: 818
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PREFERRED_RAND_SOURCE
      pos:
        line_end: 823
        line_start: 822
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: "\"dev:/dev/urandom\"\t"
    - item_type: preproc_def
      name: EVENTS_STYLE
      pos:
        line_end: 825
        line_start: 824
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: "EVENTS_STYLE_EPOLL\t"
    - item_type: preproc_def
      name: UINT32_TYPE
      pos:
        line_end: 845
        line_start: 844
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: UINT16_TYPE
      pos:
        line_end: 846
        line_start: 845
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: INTERNAL_LOCK
      pos:
        line_end: 850
        line_start: 849
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: MYFLOCK_STYLE_FLOCK
    - item_type: preproc_def
      name: DEF_MAILBOX_LOCK
      pos:
        line_end: 851
        line_start: 850
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: "\"dotlock\"\t"
    - item_type: preproc_def
      name: NATIVE_DB_TYPE
      pos:
        line_end: 854
        line_start: 853
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"hash"'
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 855
        line_start: 854
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: DEF_DB_TYPE ":/etc/aliases"
    - item_type: preproc_def
      name: ROOT_PATH
      pos:
        line_end: 860
        line_start: 859
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/sbin:/usr/sbin"'
    - item_type: preproc_def
      name: NATIVE_SENDMAIL_PATH
      pos:
        line_end: 866
        line_start: 865
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/sbin/sendmail"'
    - item_type: preproc_def
      name: NATIVE_MAILQ_PATH
      pos:
        line_end: 867
        line_start: 866
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin/mailq"'
    - item_type: preproc_def
      name: NATIVE_NEWALIAS_PATH
      pos:
        line_end: 868
        line_start: 867
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin/newaliases"'
    - item_type: preproc_def
      name: NATIVE_COMMAND_DIR
      pos:
        line_end: 869
        line_start: 868
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/sbin"'
    - item_type: preproc_def
      name: NATIVE_DAEMON_DIR
      pos:
        line_end: 870
        line_start: 869
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/libexec/postfix"'
    - item_type: preproc_def
      name: DEF_SMTP_CACHE_DEMAND
      pos:
        line_end: 872
        line_start: 871
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: INTERNAL_LOCK
      pos:
        line_end: 883
        line_start: 882
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: MYFLOCK_STYLE_FCNTL
    - item_type: preproc_def
      name: DEF_MAILBOX_LOCK
      pos:
        line_end: 884
        line_start: 883
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: "\"fcntl, dotlock\"\t"
    - item_type: preproc_def
      name: NATIVE_DB_TYPE
      pos:
        line_end: 887
        line_start: 886
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"hash"'
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 888
        line_start: 887
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: DEF_DB_TYPE ":/etc/aliases"
    - item_type: preproc_def
      name: ROOT_PATH
      pos:
        line_end: 893
        line_start: 892
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/sbin:/usr/sbin"'
    - item_type: preproc_def
      name: NATIVE_SENDMAIL_PATH
      pos:
        line_end: 901
        line_start: 900
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/sbin/sendmail"'
    - item_type: preproc_def
      name: NATIVE_MAILQ_PATH
      pos:
        line_end: 902
        line_start: 901
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin/mailq"'
    - item_type: preproc_def
      name: NATIVE_NEWALIAS_PATH
      pos:
        line_end: 903
        line_start: 902
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin/newaliases"'
    - item_type: preproc_def
      name: NATIVE_COMMAND_DIR
      pos:
        line_end: 904
        line_start: 903
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/sbin"'
    - item_type: preproc_def
      name: NATIVE_DAEMON_DIR
      pos:
        line_end: 906
        line_start: 905
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/lib/postfix"'
    - item_type: preproc_def
      name: DEF_MANPAGE_DIR
      pos:
        line_end: 908
        line_start: 907
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/share/man"'
    - item_type: preproc_def
      name: DEF_SAMPLE_DIR
      pos:
        line_end: 911
        line_start: 910
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/share/doc/postfix/examples"'
    - item_type: preproc_def
      name: DEF_README_DIR
      pos:
        line_end: 914
        line_start: 913
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/share/doc/postfix"'
    - item_type: preproc_def
      name: NATIVE_DAEMON_DIR
      pos:
        line_end: 917
        line_start: 916
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/libexec/postfix"'
    - item_type: preproc_def
      name: SOCKADDR_SIZE
      pos:
        line_end: 919
        line_start: 918
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: SOCKOPT_SIZE
      pos:
        line_end: 920
        line_start: 919
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: _PATH_PROCNET_IFINET6
      pos:
        line_end: 931
        line_start: 930
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/proc/net/if_inet6"'
    - item_type: preproc_def
      name: DEF_SMTP_CACHE_DEMAND
      pos:
        line_end: 935
        line_start: 934
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PREFERRED_RAND_SOURCE
      pos:
        line_end: 936
        line_start: 935
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"dev:/dev/urandom"'
    - item_type: preproc_def
      name: UINT32_TYPE
      pos:
        line_end: 945
        line_start: 944
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: UINT16_TYPE
      pos:
        line_end: 946
        line_start: 945
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: INTERNAL_LOCK
      pos:
        line_end: 949
        line_start: 948
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: MYFLOCK_STYLE_FCNTL
    - item_type: preproc_def
      name: DEF_MAILBOX_LOCK
      pos:
        line_end: 950
        line_start: 949
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"fcntl, dotlock"'
    - item_type: preproc_def
      name: NATIVE_DB_TYPE
      pos:
        line_end: 952
        line_start: 951
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"dbm"'
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 953
        line_start: 952
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: DEF_DB_TYPE ":/etc/mail/aliases"
    - item_type: preproc_def
      name: ROOT_PATH
      pos:
        line_end: 954
        line_start: 953
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin:/sbin:/usr/sbin"'
    - item_type: preproc_def
      name: _PATH_BSHELL
      pos:
        line_end: 960
        line_start: 959
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin/sh"'
    - item_type: preproc_def
      name: _PATH_MAILDIR
      pos:
        line_end: 961
        line_start: 960
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/var/mail"'
    - item_type: preproc_def
      name: _PATH_DEFPATH
      pos:
        line_end: 962
        line_start: 961
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin"'
    - item_type: preproc_def
      name: _PATH_STDPATH
      pos:
        line_end: 963
        line_start: 962
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin:/sbin:/usr/sbin"'
    - item_type: preproc_def
      name: NATIVE_SENDMAIL_PATH
      pos:
        line_end: 974
        line_start: 973
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/sbin/sendmail"'
    - item_type: preproc_def
      name: NATIVE_MAILQ_PATH
      pos:
        line_end: 975
        line_start: 974
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin/mailq"'
    - item_type: preproc_def
      name: NATIVE_NEWALIAS_PATH
      pos:
        line_end: 976
        line_start: 975
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin/newaliases"'
    - item_type: preproc_def
      name: NATIVE_COMMAND_DIR
      pos:
        line_end: 977
        line_start: 976
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/sbin"'
    - item_type: preproc_def
      name: NATIVE_DAEMON_DIR
      pos:
        line_end: 978
        line_start: 977
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/libexec/postfix"'
    - item_type: preproc_def
      name: UINT32_TYPE
      pos:
        line_end: 984
        line_start: 983
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: UINT16_TYPE
      pos:
        line_end: 985
        line_start: 984
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: INTERNAL_LOCK
      pos:
        line_end: 988
        line_start: 987
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: MYFLOCK_STYLE_FCNTL
    - item_type: preproc_def
      name: DEF_MAILBOX_LOCK
      pos:
        line_end: 989
        line_start: 988
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"fcntl, dotlock"'
    - item_type: preproc_def
      name: NATIVE_DB_TYPE
      pos:
        line_end: 991
        line_start: 990
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"dbm"'
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 992
        line_start: 991
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: DEF_DB_TYPE ":/etc/mail/aliases"
    - item_type: preproc_def
      name: ROOT_PATH
      pos:
        line_end: 993
        line_start: 992
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin:/sbin:/usr/sbin"'
    - item_type: preproc_def
      name: _PATH_BSHELL
      pos:
        line_end: 999
        line_start: 998
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin/sh"'
    - item_type: preproc_def
      name: _PATH_MAILDIR
      pos:
        line_end: 1000
        line_start: 999
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/var/mail"'
    - item_type: preproc_def
      name: _PATH_DEFPATH
      pos:
        line_end: 1001
        line_start: 1000
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin"'
    - item_type: preproc_def
      name: _PATH_STDPATH
      pos:
        line_end: 1002
        line_start: 1001
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin:/sbin:/usr/sbin"'
    - item_type: preproc_def
      name: NATIVE_SENDMAIL_PATH
      pos:
        line_end: 1013
        line_start: 1012
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/sbin/sendmail"'
    - item_type: preproc_def
      name: NATIVE_MAILQ_PATH
      pos:
        line_end: 1014
        line_start: 1013
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin/mailq"'
    - item_type: preproc_def
      name: NATIVE_NEWALIAS_PATH
      pos:
        line_end: 1015
        line_start: 1014
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin/newaliases"'
    - item_type: preproc_def
      name: NATIVE_COMMAND_DIR
      pos:
        line_end: 1016
        line_start: 1015
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/sbin"'
    - item_type: preproc_def
      name: NATIVE_DAEMON_DIR
      pos:
        line_end: 1017
        line_start: 1016
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/libexec/postfix"'
    - item_type: preproc_def
      name: UINT32_TYPE
      pos:
        line_end: 1023
        line_start: 1022
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: UINT16_TYPE
      pos:
        line_end: 1024
        line_start: 1023
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: INTERNAL_LOCK
      pos:
        line_end: 1027
        line_start: 1026
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: MYFLOCK_STYLE_FCNTL
    - item_type: preproc_def
      name: DEF_MAILBOX_LOCK
      pos:
        line_end: 1028
        line_start: 1027
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"fcntl, dotlock"'
    - item_type: preproc_def
      name: NATIVE_DB_TYPE
      pos:
        line_end: 1036
        line_start: 1035
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"dbm"'
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 1037
        line_start: 1036
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: DEF_DB_TYPE ":/usr/lib/aliases"
    - item_type: preproc_def
      name: ROOT_PATH
      pos:
        line_end: 1038
        line_start: 1037
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/etc"'
    - item_type: preproc_def
      name: _PATH_BSHELL
      pos:
        line_end: 1039
        line_start: 1038
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin/sh"'
    - item_type: preproc_def
      name: _PATH_MAILDIR
      pos:
        line_end: 1040
        line_start: 1039
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/mail"'
    - item_type: preproc_def
      name: _PATH_DEFPATH
      pos:
        line_end: 1041
        line_start: 1040
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin"'
    - item_type: preproc_def
      name: _PATH_STDPATH
      pos:
        line_end: 1042
        line_start: 1041
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/etc"'
    - item_type: preproc_def
      name: NATIVE_SENDMAIL_PATH
      pos:
        line_end: 1054
        line_start: 1053
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin/sendmail"'
    - item_type: preproc_def
      name: NATIVE_MAILQ_PATH
      pos:
        line_end: 1055
        line_start: 1054
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin/mailq"'
    - item_type: preproc_def
      name: NATIVE_NEWALIAS_PATH
      pos:
        line_end: 1056
        line_start: 1055
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin/newaliases"'
    - item_type: preproc_def
      name: NATIVE_DAEMON_DIR
      pos:
        line_end: 1057
        line_start: 1056
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/libexec/postfix"'
    - item_type: preproc_def
      name: UINT32_TYPE
      pos:
        line_end: 1065
        line_start: 1064
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: UINT16_TYPE
      pos:
        line_end: 1066
        line_start: 1065
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: INTERNAL_LOCK
      pos:
        line_end: 1069
        line_start: 1068
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: MYFLOCK_STYLE_FLOCK
    - item_type: preproc_def
      name: DEF_MAILBOX_LOCK
      pos:
        line_end: 1070
        line_start: 1069
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"flock, dotlock"'
    - item_type: preproc_def
      name: WAIT_STATUS_T
      pos:
        line_end: 1088
        line_start: 1087
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: union wait
    - item_type: preproc_def
      name: _PATH_MAILDIR
      pos:
        line_end: 1091
        line_start: 1090
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/spool/mail"'
    - item_type: preproc_def
      name: _PATH_BSHELL
      pos:
        line_end: 1092
        line_start: 1091
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin/sh"'
    - item_type: preproc_def
      name: _PATH_DEFPATH
      pos:
        line_end: 1093
        line_start: 1092
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/usr/ucb"'
    - item_type: preproc_def
      name: _PATH_STDPATH
      pos:
        line_end: 1094
        line_start: 1093
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/usr/ucb"'
    - item_type: preproc_def
      name: ROOT_PATH
      pos:
        line_end: 1095
        line_start: 1094
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/usr/etc:/usr/ucb"'
    - item_type: preproc_def
      name: NATIVE_DB_TYPE
      pos:
        line_end: 1096
        line_start: 1095
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"dbm"'
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 1097
        line_start: 1096
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"netinfo:/aliases"'
    - item_type: preproc_def
      name: FD_CLOEXEC
      pos:
        line_end: 1108
        line_start: 1107
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: O_NONBLOCK
      pos:
        line_end: 1109
        line_start: 1108
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: O_NDELAY
    - item_type: preproc_def
      name: UINT32_TYPE
      pos:
        line_end: 1119
        line_start: 1118
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: UINT16_TYPE
      pos:
        line_end: 1120
        line_start: 1119
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: INTERNAL_LOCK
      pos:
        line_end: 1123
        line_start: 1122
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: MYFLOCK_STYLE_FLOCK
    - item_type: preproc_def
      name: DEF_MAILBOX_LOCK
      pos:
        line_end: 1124
        line_start: 1123
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"flock, dotlock"'
    - item_type: preproc_def
      name: WAIT_STATUS_T
      pos:
        line_end: 1142
        line_start: 1141
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: union wait
    - item_type: preproc_def
      name: _PATH_MAILDIR
      pos:
        line_end: 1145
        line_start: 1144
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/spool/mail"'
    - item_type: preproc_def
      name: _PATH_BSHELL
      pos:
        line_end: 1146
        line_start: 1145
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin/sh"'
    - item_type: preproc_def
      name: _PATH_DEFPATH
      pos:
        line_end: 1147
        line_start: 1146
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/usr/ucb"'
    - item_type: preproc_def
      name: _PATH_STDPATH
      pos:
        line_end: 1148
        line_start: 1147
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/usr/ucb"'
    - item_type: preproc_def
      name: ROOT_PATH
      pos:
        line_end: 1149
        line_start: 1148
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/usr/etc:/usr/ucb"'
    - item_type: preproc_def
      name: NATIVE_DB_TYPE
      pos:
        line_end: 1150
        line_start: 1149
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"dbm"'
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 1151
        line_start: 1150
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"netinfo:/aliases"'
    - item_type: preproc_def
      name: FD_CLOEXEC
      pos:
        line_end: 1162
        line_start: 1161
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: O_NONBLOCK
      pos:
        line_end: 1163
        line_start: 1162
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: O_NDELAY
    - item_type: preproc_def
      name: UINT32_TYPE
      pos:
        line_end: 1170
        line_start: 1169
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: UINT16_TYPE
      pos:
        line_end: 1171
        line_start: 1170
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: _PATH_DEFPATH
      pos:
        line_end: 1173
        line_start: 1172
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin:/usr/ucb"'
    - item_type: preproc_def
      name: _PATH_BSHELL
      pos:
        line_end: 1174
        line_start: 1173
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin/sh"'
    - item_type: preproc_def
      name: _PATH_MAILDIR
      pos:
        line_end: 1175
        line_start: 1174
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/var/spool/mail"'
    - item_type: preproc_def
      name: INTERNAL_LOCK
      pos:
        line_end: 1177
        line_start: 1176
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: MYFLOCK_STYLE_FCNTL
    - item_type: preproc_def
      name: DEF_MAILBOX_LOCK
      pos:
        line_end: 1178
        line_start: 1177
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"fcntl, dotlock"'
    - item_type: preproc_def
      name: NATIVE_DB_TYPE
      pos:
        line_end: 1183
        line_start: 1182
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"dbm"'
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 1184
        line_start: 1183
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: DEF_DB_TYPE ":/var/adm/sendmail/aliases"
    - item_type: preproc_def
      name: ROOT_PATH
      pos:
        line_end: 1193
        line_start: 1192
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/sbin:/usr/sbin:/usr/ucb"'
    - item_type: preproc_def
      name: UINT32_TYPE
      pos:
        line_end: 1201
        line_start: 1200
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: UINT16_TYPE
      pos:
        line_end: 1202
        line_start: 1201
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: _PATH_MAILDIR
      pos:
        line_end: 1203
        line_start: 1202
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/var/mail"'
    - item_type: preproc_def
      name: _PATH_BSHELL
      pos:
        line_end: 1204
        line_start: 1203
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin/sh"'
    - item_type: preproc_def
      name: _PATH_DEFPATH
      pos:
        line_end: 1205
        line_start: 1204
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin:/usr/ucb"'
    - item_type: preproc_def
      name: _PATH_STDPATH
      pos:
        line_end: 1206
        line_start: 1205
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/bin:/usr/sbin:/usr/ucb"'
    - item_type: preproc_def
      name: INTERNAL_LOCK
      pos:
        line_end: 1209
        line_start: 1208
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: MYFLOCK_STYLE_FCNTL
    - item_type: preproc_def
      name: DEF_MAILBOX_LOCK
      pos:
        line_end: 1210
        line_start: 1209
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"fcntl, dotlock"'
    - item_type: preproc_def
      name: NATIVE_DB_TYPE
      pos:
        line_end: 1212
        line_start: 1211
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"hash"'
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 1213
        line_start: 1212
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: DEF_DB_TYPE ":/etc/aliases"
    - item_type: preproc_def
      name: ROOT_PATH
      pos:
        line_end: 1218
        line_start: 1217
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin:/sbin:/usr/sbin:/usr/ucb"'
    - item_type: preproc_def
      name: UINT32_TYPE
      pos:
        line_end: 1233
        line_start: 1232
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: UINT16_TYPE
      pos:
        line_end: 1234
        line_start: 1233
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: _PATH_MAILDIR
      pos:
        line_end: 1235
        line_start: 1234
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/usr/spool/mail"'
    - item_type: preproc_def
      name: _PATH_BSHELL
      pos:
        line_end: 1236
        line_start: 1235
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin/sh"'
    - item_type: preproc_def
      name: _PATH_DEFPATH
      pos:
        line_end: 1237
        line_start: 1236
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/usr/bin"'
    - item_type: preproc_def
      name: INTERNAL_LOCK
      pos:
        line_end: 1240
        line_start: 1239
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: MYFLOCK_STYLE_FCNTL
    - item_type: preproc_def
      name: DEF_MAILBOX_LOCK
      pos:
        line_end: 1241
        line_start: 1240
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"fcntl, dotlock"'
    - item_type: preproc_def
      name: NATIVE_DB_TYPE
      pos:
        line_end: 1244
        line_start: 1243
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"dbm"'
    - item_type: preproc_def
      name: ALIAS_DB_MAP
      pos:
        line_end: 1245
        line_start: 1244
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: DEF_DB_TYPE ":/etc/mail/aliases"
    - item_type: preproc_def
      name: ROOT_PATH
      pos:
        line_end: 1251
        line_start: 1250
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"/bin:/etc:/usr/bin:/tcb/bin"'
    - item_type: preproc_def
      name: DEF_SMTP_CACHE_DEMAND
      pos:
        line_end: 1262
        line_start: 1261
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DEF_COMMAND_DIR
      pos:
        line_end: 1277
        line_start: 1276
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: NATIVE_COMMAND_DIR
    - item_type: preproc_def
      name: DEF_DAEMON_DIR
      pos:
        line_end: 1283
        line_start: 1282
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: NATIVE_DAEMON_DIR
    - item_type: preproc_def
      name: DEF_SENDMAIL_PATH
      pos:
        line_end: 1289
        line_start: 1288
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: NATIVE_SENDMAIL_PATH
    - item_type: preproc_def
      name: DEF_MAILQ_PATH
      pos:
        line_end: 1295
        line_start: 1294
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: NATIVE_MAILQ_PATH
    - item_type: preproc_def
      name: DEF_NEWALIAS_PATH
      pos:
        line_end: 1301
        line_start: 1300
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: NATIVE_NEWALIAS_PATH
    - item_type: preproc_def
      name: DEF_DB_TYPE
      pos:
        line_end: 1306
        line_start: 1305
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: NATIVE_DB_TYPE
    - item_type: preproc_def
      name: DUP2
      pos:
        line_end: 1316
        line_start: 1315
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: dup2_pass_on_exec
    - item_type: preproc_def
      name: DUP2
      pos:
        line_end: 1318
        line_start: 1317
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: dup2
    - item_type: preproc_def
      name: OPTIND
      pos:
        line_end: 1326
        line_start: 1325
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '(optind > 0 ? optind : 1)'
    - item_type: preproc_def
      name: PREFERRED_RAND_SOURCE
      pos:
        line_end: 1393
        line_start: 1392
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '"dev:/dev/urandom"'
    - item_type: preproc_def
      name: EVENTS_STYLE
      pos:
        line_end: 1401
        line_start: 1400
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: EVENTS_STYLE_SELECT
    - item_type: preproc_def
      name: EVENTS_STYLE_SELECT
      pos:
        line_end: 1404
        line_start: 1403
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: EVENTS_STYLE_KQUEUE
      pos:
        line_end: 1405
        line_start: 1404
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: EVENTS_STYLE_DEVPOLL
      pos:
        line_end: 1406
        line_start: 1405
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: EVENTS_STYLE_EPOLL
      pos:
        line_end: 1407
        line_start: 1406
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: DEF_INET_PROTOCOLS
      pos:
        line_end: 1425
        line_start: 1424
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: INET_PROTO_NAME_ALL
    - item_type: preproc_def
      name: DEF_INET_PROTOCOLS
      pos:
        line_end: 1427
        line_start: 1426
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: INET_PROTO_NAME_IPV4
    - item_type: preproc_def
      name: SOCKADDR_SIZE
      pos:
        line_end: 1435
        line_start: 1434
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: int
    - item_type: preproc_def
      name: SOCKOPT_SIZE
      pos:
        line_end: 1439
        line_start: 1438
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: int
    - item_type: preproc_def
      name: LOCAL_LISTEN
      pos:
        line_end: 1446
        line_start: 1445
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unix_listen
    - item_type: preproc_def
      name: LOCAL_ACCEPT
      pos:
        line_end: 1447
        line_start: 1446
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unix_accept
    - item_type: preproc_def
      name: LOCAL_CONNECT
      pos:
        line_end: 1448
        line_start: 1447
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unix_connect
    - item_type: preproc_def
      name: LOCAL_TRIGGER
      pos:
        line_end: 1449
        line_start: 1448
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unix_trigger
    - item_type: preproc_def
      name: LOCAL_SEND_FD
      pos:
        line_end: 1450
        line_start: 1449
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unix_send_fd
    - item_type: preproc_def
      name: LOCAL_RECV_FD
      pos:
        line_end: 1451
        line_start: 1450
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: unix_recv_fd
    - item_type: preproc_def
      name: STDIN_FILENO
      pos:
        line_end: 1538
        line_start: 1537
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: STDOUT_FILENO
      pos:
        line_end: 1539
        line_start: 1538
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: STDERR_FILENO
      pos:
        line_end: 1540
        line_start: 1539
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: S_IRUSR
      pos:
        line_end: 1559
        line_start: 1558
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: _S_IRUSR
    - item_type: preproc_def
      name: S_IRGRP
      pos:
        line_end: 1560
        line_start: 1559
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '0000040'
    - item_type: preproc_def
      name: S_IROTH
      pos:
        line_end: 1561
        line_start: 1560
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '0000004'
    - item_type: preproc_def
      name: S_IWUSR
      pos:
        line_end: 1562
        line_start: 1561
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: _S_IWUSR
    - item_type: preproc_def
      name: S_IWGRP
      pos:
        line_end: 1563
        line_start: 1562
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '0000020'
    - item_type: preproc_def
      name: S_IWOTH
      pos:
        line_end: 1564
        line_start: 1563
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '0000002'
    - item_type: preproc_def
      name: S_IXUSR
      pos:
        line_end: 1565
        line_start: 1564
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: _S_IXUSR
    - item_type: preproc_def
      name: S_IXGRP
      pos:
        line_end: 1566
        line_start: 1565
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '0000010'
    - item_type: preproc_def
      name: S_IXOTH
      pos:
        line_end: 1567
        line_start: 1566
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '0000001'
    - item_type: preproc_def
      name: S_IRWXU
      pos:
        line_end: 1568
        line_start: 1567
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: (S_IRUSR | S_IWUSR | S_IXUSR)
    - item_type: preproc_def
      name: ALIGN_TYPE
      pos:
        line_end: 1577
        line_start: 1576
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: __float80
    - item_type: preproc_def
      name: ALIGN_TYPE
      pos:
        line_end: 1579
        line_start: 1578
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: long double
    - item_type: preproc_def
      name: ALIGN_TYPE
      pos:
        line_end: 1581
        line_start: 1580
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: double
    - item_type: preproc_def
      name: NORETURN
      pos:
        line_end: 1607
        line_start: 1606
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: void __attribute__((__noreturn__))
    - item_type: preproc_def
      name: NORETURN
      pos:
        line_end: 1609
        line_start: 1608
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: void __attribute__((__noreturn__))
    - item_type: preproc_def
      name: NORETURN
      pos:
        line_end: 1611
        line_start: 1610
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: void
    - item_type: preproc_def
      name: WARN_UNUSED_RESULT
      pos:
        line_end: 1686
        line_start: 1685
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: __attribute__((warn_unused_result))
    - item_type: preproc_def
      name: WARN_UNUSED_RESULT
      pos:
        line_end: 1688
        line_start: 1687
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: __attribute__((warn_unused_result))
    - item_type: preproc_def
      name: NOCLOBBER
      pos:
        line_end: 1698
        line_start: 1697
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: volatile
    - item_type: preproc_def
      name: OFF_T_MAX
      pos:
        line_end: 1711
        line_start: 1710
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: __MAXINT__(off_t)
    - item_type: preproc_def
      name: SSIZE_T_MAX
      pos:
        line_end: 1715
        line_start: 1714
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: __MAXINT__(ssize_t)
    - item_type: preproc_def
      name: UINT32_TYPE
      pos:
        line_end: 1745
        line_start: 1744
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: uint32_t
    - item_type: preproc_def
      name: UINT16_TYPE
      pos:
        line_end: 1746
        line_start: 1745
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: uint16_t
    - item_type: preproc_def
      name: UINT32_SIZE
      pos:
        line_end: 1748
        line_start: 1747
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: UINT16_SIZE
      pos:
        line_end: 1749
        line_start: 1748
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: CHARS_COMMA_SP
      pos:
        line_end: 1786
        line_start: 1785
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: "\", \\t\\r\\n\"\t"
    - item_type: preproc_def
      name: CHARS_SPACE
      pos:
        line_end: 1787
        line_start: 1786
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: "\" \\t\\r\\n\"\t"
    - item_type: preproc_def
      name: CHARS_BRACE
      pos:
        line_end: 1788
        line_start: 1787
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type_or_value: "\"{}\"\t\t"
    structs:
    - fields:
      - name: actime
        type: time_t
      - name: modtime
        type: time_t
      item_type: struct
      name: utimbuf
      pos:
        line_end: 1492
        line_start: 1489
        source_file: /src/postfix/postfix/src/util/sys_defs.h
    typedefs:
    - item_type: typedef
      name: mode_t
      pos:
        line_end: 1103
        line_start: 1103
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type: unsigned short
    - item_type: typedef
      name: mode_t
      pos:
        line_end: 1157
        line_start: 1157
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type: unsigned short
    - item_type: typedef
      name: WAIT_STATUS_T
      pos:
        line_end: 1459
        line_start: 1459
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type: int
    - item_type: typedef
      name: pid_t
      pos:
        line_end: 1543
        line_start: 1543
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type: int
    - item_type: typedef
      name: '*CONST_CHAR_STAR'
      pos:
        line_end: 1754
        line_start: 1754
        source_file: /src/postfix/postfix/src/util/sys_defs.h
      type: char
    union: []
- function_names:
  - printable
  - printable_except
  - PRINT_OR_EXCEPT
  - main
  source_file: /src/postfix/postfix/src/util/printable.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUM_TESTS
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/postfix/postfix/src/util/printable.c
      type_or_value: sizeof(testcases)/sizeof(testcases[0])
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*input'
        type: char
      - name: '*expected'
        type: char
      item_type: struct
      name: testcase
      pos:
        line_end: 130
        line_start: 126
        source_file: /src/postfix/postfix/src/util/printable.c
    typedefs: []
    union: []
- function_names:
  - readlline
  source_file: /src/postfix/postfix/src/util/readlline.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/scan_dir.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - argv_split_at
  - argv_split_at_count
  - argv_split_at_append
  source_file: /src/postfix/postfix/src/util/argv_split_at.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VSTRING_GET_RESULT
  - vstring_get_flags
  - vstring_get_flags_nonl
  - vstring_get_flags_null
  - vstring_get_flags_bound
  - vstring_get_flags_nonl_bound
  - vstring_get_flags_null_bound
  - main
  source_file: /src/postfix/postfix/src/util/vstring_vstream.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEXT_VSTREAM
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/postfix/postfix/src/util/vstring_vstream.c
      type_or_value: '"vstring_vstream.c"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/util/vbuf_print.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - translit
  - main
  source_file: /src/postfix/postfix/src/util/translit.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/postfix/postfix/src/util/translit.c
      type_or_value: vstring_str
    structs: []
    typedefs: []
    union: []
- function_names:
  - fsspace
  - main
  source_file: /src/postfix/postfix/src/util/fsspace.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CA_DICT_CACHE_CTL_FLAGS
  - CA_DICT_CACHE_CTL_INTERVAL
  - CA_DICT_CACHE_CTL_VALIDATOR
  - CA_DICT_CACHE_CTL_CONTEXT
  source_file: /src/postfix/postfix/src/util/dict_cache.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_CACHE_FLAG_VERBOSE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postfix/postfix/src/util/dict_cache.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: DICT_CACHE_FLAG_STATISTICS
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postfix/postfix/src/util/dict_cache.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: DICT_CACHE_CTL_END
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postfix/postfix/src/util/dict_cache.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: DICT_CACHE_CTL_FLAGS
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postfix/postfix/src/util/dict_cache.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: DICT_CACHE_CTL_INTERVAL
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postfix/postfix/src/util/dict_cache.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: DICT_CACHE_CTL_VALIDATOR
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postfix/postfix/src/util/dict_cache.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: DICT_CACHE_CTL_CONTEXT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postfix/postfix/src/util/dict_cache.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: CA_DICT_CACHE_CTL_END
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postfix/postfix/src/util/dict_cache.h
      type_or_value: DICT_CACHE_CTL_END
    structs: []
    typedefs:
    - item_type: typedef
      name: (*DICT_CACHE_VALIDATOR_FN) (const char *, const char *, void *)
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/postfix/postfix/src/util/dict_cache.h
      type: int
    union: []
- function_names:
  - STR
  - byte_mask_opt
  - str_byte_mask_opt
  - main
  source_file: /src/postfix/postfix/src/util/byte_mask.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stream_trigger_event
  - stream_trigger
  source_file: /src/postfix/postfix/src/util/stream_trigger.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: fd
        type: int
      - name: '*service'
        type: char
      item_type: struct
      name: stream_trigger
      pos:
        line_end: 64
        line_start: 61
        source_file: /src/postfix/postfix/src/util/stream_trigger.c
    typedefs: []
    union: []
- function_names:
  - dict_utf8_check_fold
  - dict_utf8_check
  - dict_utf8_lookup
  - dict_utf8_update
  - dict_utf8_delete
  - dict_utf8_activate
  source_file: /src/postfix/postfix/src/util/dict_utf8.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - msg_syslog_print
  - msg_syslog_init
  - msg_syslog_set_facility
  - msg_syslog_disable
  - main
  source_file: /src/postfix/postfix/src/util/msg_syslog.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MSG_SYSLOG_RECLEN
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/postfix/postfix/src/util/msg_syslog.c
      type_or_value: '2000'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: facility
        type: int
      item_type: struct
      name: facility_list
      pos:
        line_end: 85
        line_start: 82
        source_file: /src/postfix/postfix/src/util/msg_syslog.c
    typedefs: []
    union: []
- function_names:
  - SOCK_ADDR_PTR
  - SOCK_ADDR_FAMILY
  - SOCK_ADDR_LEN
  - SOCK_ADDR_IN_PTR
  - SOCK_ADDR_IN_FAMILY
  - SOCK_ADDR_IN_PORT
  - SOCK_ADDR_IN_ADDR
  - IN_ADDR
  - SOCK_ADDR_LEN
  - SOCK_ADDR_ADDRP
  - SOCK_ADDR_PORT
  - SOCK_ADDR_PORTP
  - SOCK_ADDR_IN6_PTR
  - SOCK_ADDR_IN6_FAMILY
  - SOCK_ADDR_IN6_PORT
  - SOCK_ADDR_IN6_ADDR
  - IN6_ADDR
  - SOCK_ADDR_EQ_ADDR
  - SOCK_ADDR_EQ_PORT
  - SOCK_ADDR_LEN
  - SOCK_ADDR_ADDRP
  - SOCK_ADDR_PORT
  - SOCK_ADDR_PORTP
  - SOCK_ADDR_EQ_ADDR
  - SOCK_ADDR_EQ_PORT
  source_file: /src/postfix/postfix/src/util/sock_addr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - killme_after
  source_file: /src/postfix/postfix/src/util/killme_after.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - qmqpd_state_alloc
  - qmqpd_state_free
  source_file: /src/postfix/postfix/src/qmqpd/qmqpd_state.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/qmqpd/qmqpd.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CLIENT_ATTR_UNKNOWN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/postfix/postfix/src/qmqpd/qmqpd.h
      type_or_value: '"unknown"'
    - item_type: preproc_def
      name: CLIENT_NAME_UNKNOWN
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/postfix/postfix/src/qmqpd/qmqpd.h
      type_or_value: CLIENT_ATTR_UNKNOWN
    - item_type: preproc_def
      name: CLIENT_ADDR_UNKNOWN
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/postfix/postfix/src/qmqpd/qmqpd.h
      type_or_value: CLIENT_ATTR_UNKNOWN
    - item_type: preproc_def
      name: CLIENT_PORT_UNKNOWN
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/postfix/postfix/src/qmqpd/qmqpd.h
      type_or_value: CLIENT_ATTR_UNKNOWN
    - item_type: preproc_def
      name: CLIENT_NAMADDR_UNKNOWN
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/postfix/postfix/src/qmqpd/qmqpd.h
      type_or_value: CLIENT_ATTR_UNKNOWN
    - item_type: preproc_def
      name: QMQPD_STAT_OK
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/postfix/postfix/src/qmqpd/qmqpd.h
      type_or_value: '''K'''
    - item_type: preproc_def
      name: QMQPD_STAT_RETRY
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/postfix/postfix/src/qmqpd/qmqpd.h
      type_or_value: '''Z'''
    - item_type: preproc_def
      name: QMQPD_STAT_HARD
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/postfix/postfix/src/qmqpd/qmqpd.h
      type_or_value: '''D'''
    structs:
    - fields:
      - name: err
        type: int
      - name: '*client'
        type: VSTREAM
      - name: '*message'
        type: VSTRING
      - name: '*buf'
        type: VSTRING
      - name: arrival_time
        type: struct timeval
      - name: '*name'
        type: char
      - name: '*addr'
        type: char
      - name: '*port'
        type: char
      - name: '*namaddr'
        type: char
      - name: '*rfc_addr'
        type: char
      - name: addr_family
        type: int
      - name: '*queue_id'
        type: char
      - name: '*cleanup'
        type: VSTREAM
      - name: '*dest'
        type: MAIL_STREAM
      - name: rcpt_count
        type: int
      - name: '*reason'
        type: char
      - name: '*sender'
        type: char
      - name: '*recipient'
        type: char
      - name: '*protocol'
        type: char
      - name: '*where'
        type: char
      - name: '*why_rejected'
        type: VSTRING
      item_type: struct
      name: QMQPD_STATE
      pos:
        line_end: 51
        line_start: 29
        source_file: /src/postfix/postfix/src/qmqpd/qmqpd.h
    typedefs: []
    union: []
- function_names:
  - qmqpd_peer_init
  - REJECT_PEER_NAME
  - qmqpd_peer_reset
  source_file: /src/postfix/postfix/src/qmqpd/qmqpd_peer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - qmqpd_open_file
  - qmqpd_read_content
  - qmqpd_copy_sender
  - qmqpd_write_attributes
  - qmqpd_copy_recipients
  - qmqpd_next_line
  - UCHARPTR
  - qmqpd_write_content
  - qmqpd_close_file
  - qmqpd_reply
  - qmqpd_send_status
  - qmqpd_receive
  - qmqpd_proto
  - qmqpd_service
  - pre_accept
  - pre_jail_init
  - post_jail_init
  - main
  source_file: /src/postfix/postfix/src/qmqpd/qmqpd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DO_LOG
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/postfix/postfix/src/qmqpd/qmqpd.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DONT_LOG
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/postfix/postfix/src/qmqpd/qmqpd.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - dnsblog_query
  - dnsblog_service
  - post_jail_init
  - main
  source_file: /src/postfix/postfix/src/dnsblog/dnsblog.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PUSH_BACK_PEEK
  - PUSH_BACK_GET
  - PUSH_BACK_SET
  - SMTP_FLUSH
  - STR
  - do_stats
  - hard_err_resp
  - soft_err_resp
  - exp_path_template
  - make_parent_dir
  - mail_file_open
  - mail_file_finish_header
  - mail_file_cleanup
  - mail_file_finish
  - mail_file_reset
  - mail_cmd_reset
  - ehlo_response
  - SKIP
  - helo_response
  - ok_response
  - rset_response
  - mail_response
  - rcpt_response
  - abort_event
  - delay_read_event
  - delay_read
  - data_response
  - dot_resp_hard
  - dot_resp_soft
  - dot_response
  - quit_response
  - conn_response
  - delay_event
  - data_read
  - reset_cmd_flags
  - set_cmd_flags
  - set_cmds_flags
  - set_cmd_delay
  - set_cmd_delay_arg
  - command_resp
  - command_read
  - NEXT_CHAR
  - read_timeout
  - read_event
  - disconnect
  - connect_event
  - usage
  - main
  source_file: /src/postfix/postfix/src/smtpstone/smtp-sink.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ST_ANY
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/postfix/postfix/src/smtpstone/smtp-sink.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ST_CR
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/postfix/postfix/src/smtpstone/smtp-sink.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ST_CR_LF
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/postfix/postfix/src/smtpstone/smtp-sink.c
      type_or_value: '2'
    - item_type: preproc_def
      name: ST_CR_LF_DOT
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/postfix/postfix/src/smtpstone/smtp-sink.c
      type_or_value: '3'
    - item_type: preproc_def
      name: ST_CR_LF_DOT_CR
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/postfix/postfix/src/smtpstone/smtp-sink.c
      type_or_value: '4'
    - item_type: preproc_def
      name: ST_CR_LF_DOT_CR_LF
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/postfix/postfix/src/smtpstone/smtp-sink.c
      type_or_value: '5'
    - item_type: preproc_def
      name: DEF_MAX_CLIENT_COUNT
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/postfix/postfix/src/smtpstone/smtp-sink.c
      type_or_value: '256'
    - item_type: preproc_def
      name: SOFT_ERROR_RESP
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/postfix/postfix/src/smtpstone/smtp-sink.c
      type_or_value: '"450 4.3.0 Error: command failed"'
    - item_type: preproc_def
      name: HARD_ERROR_RESP
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/postfix/postfix/src/smtpstone/smtp-sink.c
      type_or_value: '"500 5.3.0 Error: command failed"'
    - item_type: preproc_def
      name: ID_FORMAT
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/postfix/postfix/src/smtpstone/smtp-sink.c
      type_or_value: '"%08x"'
    - item_type: preproc_def
      name: OUT_OPEN_FLAGS
      pos:
        line_end: 565
        line_start: 564
        source_file: /src/postfix/postfix/src/smtpstone/smtp-sink.c
      type_or_value: (O_WRONLY | O_CREAT | O_APPEND)
    - item_type: preproc_def
      name: OUT_OPEN_MODE
      pos:
        line_end: 566
        line_start: 565
        source_file: /src/postfix/postfix/src/smtpstone/smtp-sink.c
      type_or_value: '0644'
    - item_type: preproc_def
      name: FLAG_ENABLE
      pos:
        line_end: 986
        line_start: 985
        source_file: /src/postfix/postfix/src/smtpstone/smtp-sink.c
      type_or_value: "(1<<0)\t\t"
    - item_type: preproc_def
      name: FLAG_SYSLOG
      pos:
        line_end: 987
        line_start: 986
        source_file: /src/postfix/postfix/src/smtpstone/smtp-sink.c
      type_or_value: "(1<<1)\t\t"
    - item_type: preproc_def
      name: FLAG_HARD_ERR
      pos:
        line_end: 988
        line_start: 987
        source_file: /src/postfix/postfix/src/smtpstone/smtp-sink.c
      type_or_value: "(1<<2)\t\t"
    - item_type: preproc_def
      name: FLAG_SOFT_ERR
      pos:
        line_end: 989
        line_start: 988
        source_file: /src/postfix/postfix/src/smtpstone/smtp-sink.c
      type_or_value: "(1<<3)\t\t"
    - item_type: preproc_def
      name: FLAG_DISCONNECT
      pos:
        line_end: 990
        line_start: 989
        source_file: /src/postfix/postfix/src/smtpstone/smtp-sink.c
      type_or_value: "(1<<4)\t\t"
    - item_type: preproc_def
      name: FLAG_CLOSE
      pos:
        line_end: 991
        line_start: 990
        source_file: /src/postfix/postfix/src/smtpstone/smtp-sink.c
      type_or_value: "(1<<5)\t\t"
    structs:
    - fields:
      - name: '*stream'
        type: VSTREAM
      - name: '*buffer'
        type: VSTRING
      - name: data_state
        type: int
      - name: (*read_fn) (struct SINK_STATE *)
        type: int
      - name: in_mail
        type: int
      - name: rcpts
        type: int
      - name: '*push_back_ptr'
        type: char
      - name: client_addr
        type: MAI_HOSTADDR_STR
      - name: '*addr_prefix'
        type: char
      - name: '*helo_args'
        type: char
      - name: '*client_proto'
        type: char
      - name: start_time
        type: time_t
      - name: id
        type: int
      - name: '*dump_file'
        type: VSTREAM
      - name: (*delayed_response) (struct SINK_STATE *state, const char *)
        type: void
      - name: '*delayed_args'
        type: char
      item_type: struct
      name: SINK_STATE
      pos:
        line_end: 329
        line_start: 311
        source_file: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    - fields:
      - name: state
        type: int
      - name: want
        type: int
      - name: next_state
        type: int
      item_type: struct
      name: data_trans
      pos:
        line_end: 906
        line_start: 902
        source_file: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    - fields:
      - name: '*name'
        type: char
      - name: (*response) (SINK_STATE *, const char *)
        type: void
      - name: (*hard_response) (SINK_STATE *)
        type: void
      - name: (*soft_response) (SINK_STATE *)
        type: void
      - name: flags
        type: int
      - name: delay
        type: int
      - name: delay_odds
        type: int
      item_type: struct
      name: SINK_COMMAND
      pos:
        line_end: 983
        line_start: 975
        source_file: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    - fields:
      - name: state
        type: int
      - name: want
        type: int
      - name: next_state
        type: int
      item_type: struct
      name: cmd_trans
      pos:
        line_end: 1149
        line_start: 1145
        source_file: /src/postfix/postfix/src/smtpstone/smtp-sink.c
    typedefs: []
    union: []
- function_names:
  - send_reply
  - read_data
  - read_length
  - disconnect
  - connect_event
  - terminate
  - usage
  - main
  source_file: /src/postfix/postfix/src/smtpstone/qmqp-sink.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*stream'
        type: VSTREAM
      - name: count
        type: int
      item_type: struct
      name: SINK_STATE
      pos:
        line_end: 93
        line_start: 90
        source_file: /src/postfix/postfix/src/smtpstone/qmqp-sink.c
    typedefs: []
    union: []
- function_names:
  - STR
  - LEN
  - random_interval
  - socket_error
  - exception_text
  - startup
  - start_event
  - start_another
  - enqueue_connect
  - dequeue_connect
  - fail_connect
  - start_connect
  - connect_done
  - send_data
  - receive_reply
  - usage
  - main
  source_file: /src/postfix/postfix/src/smtpstone/qmqp-source.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: xfer_count
        type: int
      - name: rcpt_done
        type: int
      - name: rcpt_count
        type: int
      - name: '*stream'
        type: VSTREAM
      - name: connect_count
        type: int
      - name: '*next'
        type: struct SESSION
      item_type: struct
      name: SESSION
      pos:
        line_end: 137
        line_start: 130
        source_file: /src/postfix/postfix/src/smtpstone/qmqp-source.c
    typedefs: []
    union: []
- function_names:
  - make_recipient
  - random_interval
  - command
  - socket_error
  - response
  - exception_text
  - startup
  - start_event
  - start_another
  - enqueue_connect
  - dequeue_connect
  - fail_connect
  - start_connect
  - connect_done
  - read_banner
  - send_helo
  - helo_done
  - send_mail
  - mail_done
  - send_rcpt
  - rcpt_done
  - send_data
  - data_done
  - dot_done
  - send_rset
  - rset_done
  - send_quit
  - quit_done
  - close_session
  - usage
  - main
  source_file: /src/postfix/postfix/src/smtpstone/smtp-source.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUF
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/postfix/postfix/src/smtpstone/smtp-source.c
      type_or_value: ((char *) vstring_str(buf))
    structs:
    - fields:
      - name: xfer_count
        type: int
      - name: rcpt_done
        type: int
      - name: rcpt_count
        type: int
      - name: rcpt_accepted
        type: int
      - name: rcpt_sample
        type: int
      - name: '*stream'
        type: VSTREAM
      - name: connect_count
        type: int
      - name: '*next'
        type: struct SESSION
      item_type: struct
      name: SESSION
      pos:
        line_end: 196
        line_start: 187
        source_file: /src/postfix/postfix/src/smtpstone/smtp-source.c
    - fields:
      - name: code
        type: int
      - name: '*str'
        type: char
      - name: '*buf'
        type: VSTRING
      item_type: struct
      name: RESPONSE
      pos:
        line_end: 207
        line_start: 203
        source_file: /src/postfix/postfix/src/smtpstone/smtp-source.c
    - fields:
      - name: '*local'
        type: char
      - name: '*at_domain'
        type: char
      item_type: struct
      name: RECIPIENT
      pos:
        line_end: 226
        line_start: 223
        source_file: /src/postfix/postfix/src/smtpstone/smtp-source.c
    typedefs: []
    union: []
- function_names:
  - file_read_error
  - cleanup_service_error_reason
  - cleanup_service_error
  - copy_segment
  - pickup_copy
  - MAIL_IS_REQUEUED
  - pickup_file
  - pickup_init
  - pickup_free
  - SAFE_FREE
  - pickup_service
  - post_jail_init
  - main
  source_file: /src/postfix/postfix/src/pickup/pickup.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: REMOVE_MESSAGE_FILE
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/postfix/postfix/src/pickup/pickup.c
      type_or_value: '1'
    - item_type: preproc_def
      name: KEEP_MESSAGE_FILE
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/postfix/postfix/src/pickup/pickup.c
      type_or_value: '2'
    - item_type: preproc_def
      name: DAY_SECONDS
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/postfix/postfix/src/pickup/pickup.c
      type_or_value: '86400'
    - item_type: preproc_def
      name: HOUR_SECONDS
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/postfix/postfix/src/pickup/pickup.c
      type_or_value: '3600'
    structs:
    - fields:
      - name: '*id'
        type: char
      - name: st
        type: struct stat
      - name: '*path'
        type: char
      - name: '*sender'
        type: char
      item_type: struct
      name: PICKUP_INFO
      pos:
        line_end: 177
        line_start: 172
        source_file: /src/postfix/postfix/src/pickup/pickup.c
    typedefs: []
    union: []
- function_names:
  - postcat
  - TEXT_RECORD
  - PRINT_MARKER
  - PRINT_RECORD
  - usage
  - main
  source_file: /src/postfix/postfix/src/postcat/postcat.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PC_FLAG_SEARCH_QUEUE
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/postfix/postfix/src/postcat/postcat.c
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: PC_FLAG_PRINT_OFFSET
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/postfix/postfix/src/postcat/postcat.c
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: PC_FLAG_PRINT_ENV
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/postfix/postfix/src/postcat/postcat.c
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: PC_FLAG_PRINT_HEADER
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/postfix/postfix/src/postcat/postcat.c
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: PC_FLAG_PRINT_BODY
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/postfix/postfix/src/postcat/postcat.c
      type_or_value: "(1<<4)\t"
    - item_type: preproc_def
      name: PC_FLAG_PRINT_RTYPE_DEC
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/postfix/postfix/src/postcat/postcat.c
      type_or_value: "(1<<5)\t"
    - item_type: preproc_def
      name: PC_FLAG_PRINT_RTYPE_SYM
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/postfix/postfix/src/postcat/postcat.c
      type_or_value: "(1<<6)\t"
    - item_type: preproc_def
      name: PC_FLAG_RAW
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/postfix/postfix/src/postcat/postcat.c
      type_or_value: "(1<<7)\t"
    - item_type: preproc_def
      name: PC_FLAG_PRINT_PATHNAME
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/postfix/postfix/src/postcat/postcat.c
      type_or_value: "(1<<8)\t"
    - item_type: preproc_def
      name: PC_MASK_PRINT_TEXT
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/postfix/postfix/src/postcat/postcat.c
      type_or_value: (PC_FLAG_PRINT_HEADER | PC_FLAG_PRINT_BODY)
    - item_type: preproc_def
      name: PC_MASK_PRINT_ALL
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/postfix/postfix/src/postcat/postcat.c
      type_or_value: (PC_FLAG_PRINT_ENV | PC_MASK_PRINT_TEXT)
    - item_type: preproc_def
      name: PC_STATE_ENV
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/postfix/postfix/src/postcat/postcat.c
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: PC_STATE_HEADER
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/postfix/postfix/src/postcat/postcat.c
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: PC_STATE_BODY
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/postfix/postfix/src/postcat/postcat.c
      type_or_value: "2\t\t"
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/postfix/postfix/src/postcat/postcat.c
      type_or_value: vstring_str
    - item_type: preproc_def
      name: LEN
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/postfix/postfix/src/postcat/postcat.c
      type_or_value: VSTRING_LEN
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_service_attr
  - spawn_service
  - pre_accept
  - drop_privileges
  - main
  source_file: /src/postfix/postfix/src/spawn/spawn.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '**argv'
        type: char
      - name: uid
        type: uid_t
      - name: gid
        type: gid_t
      - name: time_limit
        type: int
      item_type: struct
      name: SPAWN_ATTR
      pos:
        line_end: 196
        line_start: 191
        source_file: /src/postfix/postfix/src/spawn/spawn.c
    typedefs: []
    union: []
- function_names:
  - STR
  - VSTREQ
  - scache_save_endp_service
  - scache_find_endp_service
  - scache_save_dest_service
  - scache_find_dest_service
  - scache_service
  - scache_status_dump
  - scache_status_update
  - post_jail_init
  - scache_post_accept
  - main
  source_file: /src/postfix/postfix/src/scache/scache.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/smtp/smtp_sasl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtp_rewrite_generic_internal
  - smtp_quote_822_address_flags
  - smtp_quote_821_address
  source_file: /src/postfix/postfix/src/smtp/smtp_misc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtp_state_alloc
  - smtp_state_free
  source_file: /src/postfix/postfix/src/smtp/smtp_state.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtp_connect_unix
  - smtp_connect_addr
  - RETURN_EARLY
  - smtp_connect_sock
  - smtp_parse_destination
  - smtp_cleanup_session
  - POSSIBLE_NOTIFICATION
  - smtp_cache_policy
  - smtp_get_effective_tls_level
  - smtp_connect_local
  - smtp_scrub_addr_list
  - smtp_update_addr_list
  - smtp_reuse_session
  - smtp_connect_inet
  - IS_FALLBACK_RELAY
  - SMTP_RCPT_LEFT
  - smtp_connect
  source_file: /src/postfix/postfix/src/smtp/smtp_connect.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IPPORT_SMTP
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/postfix/postfix/src/smtp/smtp_connect.c
      type_or_value: '25'
    - item_type: preproc_def
      name: NO_PORT
      pos:
        line_end: 574
        line_start: 573
        source_file: /src/postfix/postfix/src/smtp/smtp_connect.c
      type_or_value: '0'
    - item_type: preproc_def
      name: NO_HOST
      pos:
        line_end: 950
        line_start: 949
        source_file: /src/postfix/postfix/src/smtp/smtp_connect.c
      type_or_value: "\"\"\t\t\t\t"
    - item_type: preproc_def
      name: NO_ADDR
      pos:
        line_end: 951
        line_start: 950
        source_file: /src/postfix/postfix/src/smtp/smtp_connect.c
      type_or_value: "\"\"\t\t\t\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_cli_attr
  - deliver_message
  - smtp_service
  - post_init
  - pre_init
  - pre_accept
  - main
  source_file: /src/postfix/postfix/src/smtp/smtp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/smtp/lmtp_params.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtp_save_session
  - smtp_reuse_common
  - smtp_reuse_nexthop
  - smtp_reuse_addr
  source_file: /src/postfix/postfix/src/smtp/smtp_reuse.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SMTP_REUSE_KEY_DELIM_NA
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/postfix/postfix/src/smtp/smtp_reuse.c
      type_or_value: '"\n*"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtp_map11_internal
  - smtp_map11_tree
  - smtp_map11_external
  - canon_addr_external
  - usage
  - main
  - UPDATE
  source_file: /src/postfix/postfix/src/smtp/smtp_map11.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/smtp/smtp_reuse.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtp_sasl_helo_auth
  - smtp_sasl_helo_login
  source_file: /src/postfix/postfix/src/smtp/smtp_sasl_proto.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtp_chat_init
  - smtp_chat_reset
  - smtp_chat_append
  - smtp_chat_cmd
  - smtp_chat_resp
  - print_line
  - smtp_chat_notify
  source_file: /src/postfix/postfix/src/smtp/smtp_chat.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NULL_TRACE_FLAGS
      pos:
        line_end: 465
        line_start: 464
        source_file: /src/postfix/postfix/src/smtp/smtp_chat.c
      type_or_value: '0'
    - item_type: preproc_def
      name: NO_QUEUE_ID
      pos:
        line_end: 466
        line_start: 465
        source_file: /src/postfix/postfix/src/smtp/smtp_chat.c
      type_or_value: ((VSTRING *) 0)
    - item_type: preproc_def
      name: LENGTH
      pos:
        line_end: 467
        line_start: 466
        source_file: /src/postfix/postfix/src/smtp/smtp_chat.c
      type_or_value: '78'
    - item_type: preproc_def
      name: INDENT
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/postfix/postfix/src/smtp/smtp_chat.c
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names:
  - SMTP_MIME_DOWNGRADE
  - smtp_vrfy_init
  - smtp_helo
  - smtp_start_tls
  - smtp_hbc_logger
  - smtp_text_out
  - smtp_format_out
  - smtp_header_out
  - smtp_header_rewrite
  - smtp_body_rewrite
  - smtp_mime_fail
  - smtp_out_raw_or_mime
  - smtp_out_add_header
  - smtp_out_add_headers
  - smtp_loop
  - RETURN
  - _ATTR_AVAIL_AND_KNOWN_
  - smtp_xfer
  - smtp_rset
  - smtp_quit
  source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SMTP_STATE_XFORWARD_NAME_ADDR
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SMTP_STATE_XFORWARD_PROTO_HELO
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SMTP_STATE_MAIL
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SMTP_STATE_RCPT
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: '3'
    - item_type: preproc_def
      name: SMTP_STATE_DATA
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: '4'
    - item_type: preproc_def
      name: SMTP_STATE_DOT
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: '5'
    - item_type: preproc_def
      name: SMTP_STATE_ABORT
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: '6'
    - item_type: preproc_def
      name: SMTP_STATE_RSET
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: '7'
    - item_type: preproc_def
      name: SMTP_STATE_QUIT
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: '8'
    - item_type: preproc_def
      name: SMTP_STATE_LAST
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: '9'
    - item_type: preproc_def
      name: DELIVERY_REQUIRES_SMTPUTF8
      pos:
        line_end: 654
        line_start: 651
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: "((request->sendopts & SMTPUTF8_FLAG_REQUESTED) \\\n\t&& (request->sendopts
        & SMTPUTF8_FLAG_DERIVED))"
    - item_type: preproc_def
      name: PIPELINING_BUFSIZE
      pos:
        line_end: 721
        line_start: 720
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: VSTREAM_BUFSIZE
    - item_type: preproc_def
      name: TLS_WORST_PAYLOAD
      pos:
        line_end: 723
        line_start: 722
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: '16384'
    - item_type: preproc_def
      name: TLS_WORST_COMP_OVERHD
      pos:
        line_end: 724
        line_start: 723
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: TLS_WORST_PROTO_OVERHD
      pos:
        line_end: 725
        line_start: 724
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: '128'
    - item_type: preproc_def
      name: TLS_WORST_SMTP_PAYLOAD
      pos:
        line_end: 726
        line_start: 725
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: (TLS_WORST_PAYLOAD - TLS_WORST_COMP_OVERHD)
    - item_type: preproc_def
      name: TLS_WORST_TOTAL_OVERHD
      pos:
        line_end: 727
        line_start: 726
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: (TLS_WORST_COMP_OVERHD + TLS_WORST_PROTO_OVERHD)
    - item_type: preproc_def
      name: PROXY_OPEN_FLAGS
      pos:
        line_end: 1005
        line_start: 1003
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: (TLS_PROXY_FLAG_ROLE_CLIENT | TLS_PROXY_FLAG_SEND_CONTEXT)
    - item_type: preproc_def
      name: SENDER_IS_AHEAD
      pos:
        line_end: 1583
        line_start: 1581
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: (recv_state < send_state || recv_rcpt != send_rcpt)
    - item_type: preproc_def
      name: SENDER_IN_WAIT_STATE
      pos:
        line_end: 1586
        line_start: 1584
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: (send_state == SMTP_STATE_DOT || send_state == SMTP_STATE_LAST)
    - item_type: preproc_def
      name: SENDING_MAIL
      pos:
        line_end: 1589
        line_start: 1587
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: (recv_state <= SMTP_STATE_DOT)
    - item_type: preproc_def
      name: CANT_RSET_THIS_SESSION
      pos:
        line_end: 1592
        line_start: 1590
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: (session->features |= SMTP_FEATURE_RSET_REJECTED)
    - item_type: preproc_def
      name: CAN_FORWARD_CLIENT_NAME
      pos:
        line_end: 1678
        line_start: 1677
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: _ATTR_AVAIL_AND_KNOWN_
    - item_type: preproc_def
      name: CAN_FORWARD_CLIENT_ADDR
      pos:
        line_end: 1679
        line_start: 1678
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: _ATTR_AVAIL_AND_KNOWN_
    - item_type: preproc_def
      name: CAN_FORWARD_CLIENT_PORT
      pos:
        line_end: 1680
        line_start: 1679
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: _ATTR_AVAIL_AND_KNOWN_
    - item_type: preproc_def
      name: CAN_FORWARD_PROTO_NAME
      pos:
        line_end: 1681
        line_start: 1680
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: _ATTR_AVAIL_AND_KNOWN_
    - item_type: preproc_def
      name: CAN_FORWARD_HELO_NAME
      pos:
        line_end: 1682
        line_start: 1681
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: DEL_REQ_ATTR_AVAIL
    - item_type: preproc_def
      name: CAN_FORWARD_IDENT_NAME
      pos:
        line_end: 1683
        line_start: 1682
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: DEL_REQ_ATTR_AVAIL
    - item_type: preproc_def
      name: CAN_FORWARD_RWR_CONTEXT
      pos:
        line_end: 1684
        line_start: 1683
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: DEL_REQ_ATTR_AVAIL
    - item_type: preproc_def
      name: CHECK_PIPELINING_BUFSIZE
      pos:
        line_end: 1984
        line_start: 1982
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: (recv_state != SMTP_STATE_DOT || send_state != SMTP_STATE_QUIT)
    - item_type: preproc_def
      name: LOST_CONNECTION_INSIDE_DATA
      pos:
        line_end: 2025
        line_start: 2024
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: (except == SMTP_ERR_EOF)
    - item_type: preproc_def
      name: SMTP_ANY_CHECKS
      pos:
        line_end: 2376
        line_start: 2375
        source_file: /src/postfix/postfix/src/smtp/smtp_proto.c
      type_or_value: (smtp_header_checks || smtp_body_checks)
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtp_sasl_passwd_lookup
  - smtp_sasl_initialize
  - smtp_sasl_connect
  - smtp_sasl_start
  - smtp_sasl_authenticate
  - smtp_sasl_cleanup
  - smtp_sasl_passivate
  - smtp_sasl_activate
  source_file: /src/postfix/postfix/src/smtp/smtp_sasl_glue.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SMTP_ITER_INIT
  - SMTP_ITER_SAVE_DEST
  - SMTP_ITER_RESTORE_DEST
  - smtp_tls_policy_dummy
  - smtp_tls_policy_init
  - STATE_TLS_NOT_REQUIRED
  - SET_SCACHE_REQUEST_NEXTHOP
  - CLEAR_SCACHE_REQUEST_NEXTHOP
  - HAVE_SCACHE_REQUEST_NEXTHOP
  - SMTP_HAS_DSN
  - SMTP_HAS_SOFT_DSN
  - SMTP_HAS_HARD_DSN
  - SMTP_HAS_LOOP_DSN
  - SMTP_SET_SOFT_DSN
  - SMTP_SET_HARD_DSN
  - SMTP_HNAME
  - CACHE_THIS_SESSION_UNTIL
  - SMTP_RESP_FAKE
  - SMTP_RESP_SET_DSN
  - SMTP_RCPT_INIT
  - SMTP_RCPT_DROP
  - SMTP_RCPT_KEEP
  - SMTP_RCPT_ISMARKED
  - SMTP_RCPT_LEFT
  - SMTP_RCPT_MARK_COUNT
  - smtp_site_fail
  - smtp_mesg_fail
  - STR
  - LEN
  - VAR_LMTP_SMTP
  - LMTP_SMTP_SUFFIX
  - WARN_COMPAT_BREAK_LMTP_SMTP
  source_file: /src/postfix/postfix/src/smtp/smtp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXT_POLICY_TTL
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: '"policy_ttl"'
    - item_type: preproc_def
      name: EXT_POLICY_TTL_UNSET
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: EXT_POLICY_TYPE
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: '"policy_type"'
    - item_type: preproc_def
      name: EXT_POLICY_DOMAIN
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: '"policy_domain"'
    - item_type: preproc_def
      name: EXT_POLICY_STRING
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: '"policy_string"'
    - item_type: preproc_def
      name: EXT_MX_HOST_PATTERN
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: '"mx_host_pattern"'
    - item_type: preproc_def
      name: EXT_POLICY_FAILURE
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: '"policy_failure"'
    - item_type: preproc_def
      name: SMTP_FEATURE_ESMTP
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: SMTP_FEATURE_8BITMIME
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: SMTP_FEATURE_PIPELINING
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: SMTP_FEATURE_SIZE
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: SMTP_FEATURE_STARTTLS
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: SMTP_FEATURE_AUTH
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: SMTP_FEATURE_XFORWARD_NAME
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: SMTP_FEATURE_XFORWARD_ADDR
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<8)
    - item_type: preproc_def
      name: SMTP_FEATURE_XFORWARD_PROTO
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<9)
    - item_type: preproc_def
      name: SMTP_FEATURE_XFORWARD_HELO
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<10)
    - item_type: preproc_def
      name: SMTP_FEATURE_XFORWARD_DOMAIN
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<11)
    - item_type: preproc_def
      name: SMTP_FEATURE_BEST_MX
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(1<<12)\t"
    - item_type: preproc_def
      name: SMTP_FEATURE_RSET_REJECTED
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(1<<13)\t"
    - item_type: preproc_def
      name: SMTP_FEATURE_FROM_CACHE
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(1<<14)\t"
    - item_type: preproc_def
      name: SMTP_FEATURE_DSN
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(1<<15)\t"
    - item_type: preproc_def
      name: SMTP_FEATURE_PIX_NO_ESMTP
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(1<<16)\t"
    - item_type: preproc_def
      name: SMTP_FEATURE_PIX_DELAY_DOTCRLF
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(1<<17)\t"
    - item_type: preproc_def
      name: SMTP_FEATURE_XFORWARD_PORT
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<18)
    - item_type: preproc_def
      name: SMTP_FEATURE_EARLY_TLS_MAIL_REPLY
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(1<<19)\t"
    - item_type: preproc_def
      name: SMTP_FEATURE_XFORWARD_IDENT
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<20)
    - item_type: preproc_def
      name: SMTP_FEATURE_SMTPUTF8
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(1<<21)\t"
    - item_type: preproc_def
      name: SMTP_FEATURE_FROM_PROXY
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(1<<22)\t"
    - item_type: preproc_def
      name: SMTP_FEATURE_ENDPOINT_MASK
      pos:
        line_end: 302
        line_start: 299
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(~(SMTP_FEATURE_BEST_MX | SMTP_FEATURE_RSET_REJECTED \\\n\t|
        SMTP_FEATURE_FROM_CACHE))"
    - item_type: preproc_def
      name: SMTP_FEATURE_DESTINATION_MASK
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (SMTP_FEATURE_BEST_MX)
    - item_type: preproc_def
      name: SMTP_MISC_FLAG_LOOP_DETECT
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: SMTP_MISC_FLAG_IN_STARTTLS
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: SMTP_MISC_FLAG_FIRST_NEXTHOP
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: SMTP_MISC_FLAG_FINAL_NEXTHOP
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: SMTP_MISC_FLAG_FINAL_SERVER
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: SMTP_MISC_FLAG_CONN_LOAD
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: SMTP_MISC_FLAG_CONN_STORE
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: SMTP_MISC_FLAG_COMPLETE_SESSION
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: SMTP_MISC_FLAG_PREF_IPV6
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<8)
    - item_type: preproc_def
      name: SMTP_MISC_FLAG_PREF_IPV4
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<9)
    - item_type: preproc_def
      name: SMTP_MISC_FLAG_FALLBACK_SRV_TO_MX
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<10)
    - item_type: preproc_def
      name: SMTP_MISC_FLAG_CONN_CACHE_MASK
      pos:
        line_end: 325
        line_start: 323
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (SMTP_MISC_FLAG_CONN_LOAD | SMTP_MISC_FLAG_CONN_STORE)
    - item_type: preproc_def
      name: SMTP_HOST_FLAG_DNS
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: SMTP_HOST_FLAG_NATIVE
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: SMTP_DNS_INVALID
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(-1)\t"
    - item_type: preproc_def
      name: SMTP_DNS_DISABLED
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: SMTP_DNS_ENABLED
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: SMTP_DNS_DNSSEC
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: THIS_SESSION_IS_CACHED
      pos:
        line_end: 495
        line_start: 493
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (!THIS_SESSION_IS_FORBIDDEN && session->expire_time > 0)
    - item_type: preproc_def
      name: THIS_SESSION_IS_EXPIRED
      pos:
        line_end: 501
        line_start: 496
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(THIS_SESSION_IS_CACHED \\\n\t    && (session->expire_time <
        vstream_ftime(session->stream) \\\n\t\t|| (var_smtp_reuse_count > 0 \\\n\t\t
        \   && session->reuse_count >= var_smtp_reuse_count)))"
    - item_type: preproc_def
      name: THIS_SESSION_IS_THROTTLED
      pos:
        line_end: 504
        line_start: 502
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (!THIS_SESSION_IS_FORBIDDEN && session->expire_time < 0)
    - item_type: preproc_def
      name: THIS_SESSION_IS_FORBIDDEN
      pos:
        line_end: 507
        line_start: 505
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (session->forbidden != 0)
    - item_type: preproc_def
      name: DONT_CACHE_THIS_SESSION
      pos:
        line_end: 512
        line_start: 510
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (session->expire_time = 0)
    - item_type: preproc_def
      name: DONT_CACHE_THROTTLED_SESSION
      pos:
        line_end: 515
        line_start: 513
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (session->expire_time = -1)
    - item_type: preproc_def
      name: DONT_USE_FORBIDDEN_SESSION
      pos:
        line_end: 518
        line_start: 516
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (session->forbidden = 1)
    - item_type: preproc_def
      name: USE_NEWBORN_SESSION
      pos:
        line_end: 523
        line_start: 521
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (session->forbidden = 0)
    - item_type: preproc_def
      name: HAVE_SASL_CREDENTIALS
      pos:
        line_end: 536
        line_start: 532
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(var_smtp_sasl_enable \\\n\t     && *var_smtp_sasl_passwd \\\n\t
        \    && smtp_sasl_passwd_lookup(session))"
    - item_type: preproc_def
      name: HAVE_SASL_CREDENTIALS
      pos:
        line_end: 538
        line_start: 537
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (0)
    - item_type: preproc_def
      name: PREACTIVE_DELAY
      pos:
        line_end: 543
        line_start: 540
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(session->state->request->msg_stats.active_arrival.tv_sec -
        \\\n\t session->state->request->msg_stats.incoming_arrival.tv_sec)"
    - item_type: preproc_def
      name: TRACE_REQ_ONLY
      pos:
        line_end: 545
        line_start: 544
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (DEL_REQ_TRACE_ONLY(state->request->flags))
    - item_type: preproc_def
      name: PLAINTEXT_FALLBACK_OK_AFTER_STARTTLS_FAILURE
      pos:
        line_end: 551
        line_start: 546
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(session->tls_context == 0 \\\n\t    && state->tls->level ==
        TLS_LEV_MAY \\\n\t    && (TRACE_REQ_ONLY || PREACTIVE_DELAY >= var_min_backoff_time)
        \\\n\t    && !HAVE_SASL_CREDENTIALS)"
    - item_type: preproc_def
      name: PLAINTEXT_FALLBACK_OK_AFTER_TLS_SESSION_FAILURE
      pos:
        line_end: 558
        line_start: 552
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(session->tls_context != 0 \\\n\t    && SMTP_RCPT_LEFT(state)
        > SMTP_RCPT_MARK_COUNT(state) \\\n\t    && state->tls->level == TLS_LEV_MAY
        \\\n\t    && (TRACE_REQ_ONLY || PREACTIVE_DELAY >= var_min_backoff_time) \\\n\t
        \   && !HAVE_SASL_CREDENTIALS)"
    - item_type: preproc_def
      name: RETRY_AS_PLAINTEXT
      pos:
        line_end: 568
        line_start: 564
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "do { \\\n\tsession->tls_retry_plain = 1; \\\n\tstate->misc_flags
        &= ~SMTP_MISC_FLAG_FINAL_SERVER; \\\n    } while (0)"
    - item_type: preproc_def
      name: DSN_BY_LOCAL_MTA
      pos:
        line_end: 594
        line_start: 593
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "((char *) 0)\t"
    - item_type: preproc_def
      name: SMTP_RCPT_STATE_KEEP
      pos:
        line_end: 620
        line_start: 619
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: SMTP_RCPT_STATE_DROP
      pos:
        line_end: 621
        line_start: 620
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: SMTP_THROTTLE
      pos:
        line_end: 647
        line_start: 646
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SMTP_NOTHROTTLE
      pos:
        line_end: 648
        line_start: 647
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SMTP_KEY_FLAG_SERVICE
      pos:
        line_end: 686
        line_start: 685
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: SMTP_KEY_FLAG_SENDER
      pos:
        line_end: 687
        line_start: 686
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: SMTP_KEY_FLAG_REQ_NEXTHOP
      pos:
        line_end: 688
        line_start: 687
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: SMTP_KEY_FLAG_CUR_NEXTHOP
      pos:
        line_end: 689
        line_start: 688
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: SMTP_KEY_FLAG_HOSTNAME
      pos:
        line_end: 690
        line_start: 689
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(1<<4)\t"
    - item_type: preproc_def
      name: SMTP_KEY_FLAG_ADDR
      pos:
        line_end: 691
        line_start: 690
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(1<<5)\t"
    - item_type: preproc_def
      name: SMTP_KEY_FLAG_PORT
      pos:
        line_end: 692
        line_start: 691
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(1<<6)\t"
    - item_type: preproc_def
      name: SMTP_KEY_FLAG_TLS_LEVEL
      pos:
        line_end: 693
        line_start: 692
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(1<<7)\t"
    - item_type: preproc_def
      name: SMTP_KEY_MASK_ALL
      pos:
        line_end: 699
        line_start: 694
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(SMTP_KEY_FLAG_SERVICE | SMTP_KEY_FLAG_SENDER | \\\n\tSMTP_KEY_FLAG_REQ_NEXTHOP
        | \\\n\tSMTP_KEY_FLAG_CUR_NEXTHOP | SMTP_KEY_FLAG_HOSTNAME | \\\n\tSMTP_KEY_FLAG_ADDR
        | SMTP_KEY_FLAG_PORT | SMTP_KEY_FLAG_TLS_LEVEL)"
    - item_type: preproc_def
      name: COND_SASL_SMTP_KEY_FLAG_SENDER
      pos:
        line_end: 710
        line_start: 707
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "((var_smtp_sender_auth && *var_smtp_sasl_passwd) ? \\\n\t    SMTP_KEY_FLAG_SENDER
        : 0)"
    - item_type: preproc_def
      name: COND_SASL_SMTP_KEY_FLAG_CUR_NEXTHOP
      pos:
        line_end: 713
        line_start: 711
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: '(*var_smtp_sasl_passwd ? SMTP_KEY_FLAG_CUR_NEXTHOP : 0)'
    - item_type: preproc_def
      name: COND_TLS_SMTP_KEY_FLAG_CUR_NEXTHOP
      pos:
        line_end: 717
        line_start: 715
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: '(TLS_MUST_MATCH(state->tls->level) ? SMTP_KEY_FLAG_CUR_NEXTHOP
        : 0)'
    - item_type: preproc_def
      name: COND_TLS_SMTP_KEY_FLAG_CUR_NEXTHOP
      pos:
        line_end: 720
        line_start: 718
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: (0)
    - item_type: preproc_def
      name: COND_SASL_SMTP_KEY_FLAG_HOSTNAME
      pos:
        line_end: 724
        line_start: 722
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: '(*var_smtp_sasl_passwd ? SMTP_KEY_FLAG_HOSTNAME : 0)'
    - item_type: preproc_def
      name: SMTP_KEY_MASK_SCACHE_DEST_LABEL
      pos:
        line_end: 738
        line_start: 735
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(SMTP_KEY_FLAG_SERVICE | COND_SASL_SMTP_KEY_FLAG_SENDER \\\n\t|
        SMTP_KEY_FLAG_REQ_NEXTHOP | SMTP_KEY_FLAG_TLS_LEVEL)"
    - item_type: preproc_def
      name: SMTP_KEY_MASK_SCACHE_ENDP_LABEL
      pos:
        line_end: 753
        line_start: 747
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(SMTP_KEY_FLAG_SERVICE | COND_SASL_SMTP_KEY_FLAG_SENDER \\\n\t|
        COND_SASL_SMTP_KEY_FLAG_CUR_NEXTHOP \\\n\t| COND_SASL_SMTP_KEY_FLAG_HOSTNAME
        \\\n\t| COND_TLS_SMTP_KEY_FLAG_CUR_NEXTHOP | SMTP_KEY_FLAG_ADDR | \\\n\tSMTP_KEY_FLAG_PORT
        | SMTP_KEY_FLAG_TLS_LEVEL)"
    - item_type: preproc_def
      name: SMTP_CLI_FLAG_DELIVERED_TO
      pos:
        line_end: 776
        line_start: 775
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: SMTP_CLI_FLAG_ORIG_RCPT
      pos:
        line_end: 777
        line_start: 776
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: SMTP_CLI_FLAG_RETURN_PATH
      pos:
        line_end: 778
        line_start: 777
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: SMTP_CLI_FLAG_FINAL_DELIVERY
      pos:
        line_end: 779
        line_start: 778
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(1<<3)\t"
    - item_type: preproc_def
      name: SMTP_CLI_MASK_ADD_HEADERS
      pos:
        line_end: 782
        line_start: 780
        source_file: /src/postfix/postfix/src/smtp/smtp.h
      type_or_value: "(SMTP_CLI_FLAG_DELIVERED_TO | \\\n\tSMTP_CLI_FLAG_ORIG_RCPT
        | SMTP_CLI_FLAG_RETURN_PATH)"
    structs:
    - fields:
      - name: '*request_nexthop'
        type: VSTRING
      - name: '*dest'
        type: VSTRING
      - name: '*host'
        type: VSTRING
      - name: '*addr'
        type: VSTRING
      - name: port
        type: unsigned
      - name: '*rr'
        type: struct DNS_RR
      - name: '*mx'
        type: struct DNS_RR
      - name: '*saved_dest'
        type: VSTRING
      - name: '*parent'
        type: struct SMTP_STATE
      item_type: struct
      name: SMTP_ITERATOR
      pos:
        line_end: 67
        line_start: 55
        source_file: /src/postfix/postfix/src/smtp/smtp.h
    - fields:
      - name: level
        type: int
      - name: '*protocols'
        type: char
      - name: '*grade'
        type: char
      - name: '*exclusions'
        type: VSTRING
      - name: '*matchargv'
        type: ARGV
      - name: '*why'
        type: DSN_BUF
      - name: '*dane'
        type: TLS_DANE
      - name: '*sni'
        type: char
      - name: conn_reuse
        type: int
      - name: enable_rpk
        type: int
      - name: ext_policy_ttl
        type: int
      - name: '*ext_policy_type'
        type: char
      - name: '*ext_policy_strings'
        type: ARGV
      - name: '*ext_policy_domain'
        type: char
      - name: '*ext_mx_host_patterns'
        type: ARGV
      - name: '*ext_policy_failure'
        type: char
      item_type: struct
      name: SMTP_TLS_POLICY
      pos:
        line_end: 118
        line_start: 100
        source_file: /src/postfix/postfix/src/smtp/smtp.h
    - fields:
      - name: misc_flags
        type: int
      - name: '*src'
        type: VSTREAM
      - name: '*service'
        type: char
      - name: '*request'
        type: DELIVER_REQUEST
      - name: '*session'
        type: struct SMTP_SESSION
      - name: status
        type: int
      - name: space_left
        type: ssize_t
      - name: iterator[1]
        type: SMTP_ITERATOR
      - name: '*cache_used'
        type: HTABLE
      - name: '*dest_label'
        type: VSTRING
      - name: '*dest_prop'
        type: VSTRING
      - name: '*endp_label'
        type: VSTRING
      - name: '*endp_prop'
        type: VSTRING
      - name: rcpt_left
        type: int
      - name: rcpt_drop
        type: int
      - name: rcpt_keep
        type: int
      - name: '*why'
        type: DSN_BUF
      - name: debug_peer_per_nexthop
        type: int
      - name: logged_line_length_limit
        type: unsigned
      item_type: struct
      name: SMTP_STATE
      pos:
        line_end: 239
        line_start: 181
        source_file: /src/postfix/postfix/src/smtp/smtp.h
    - fields:
      - name: '*stream'
        type: VSTREAM
      - name: '*iterator'
        type: SMTP_ITERATOR
      - name: '*namaddr'
        type: char
      - name: '*helo'
        type: char
      - name: port
        type: unsigned
      - name: '*namaddrport'
        type: char
      - name: '*buffer'
        type: VSTRING
      - name: '*scratch'
        type: VSTRING
      - name: '*scratch2'
        type: VSTRING
      - name: features
        type: int
      - name: size_limit
        type: off_t
      - name: '*history'
        type: ARGV
      - name: error_mask
        type: int
      - name: '*mime_state'
        type: struct MIME_STATE
      - name: send_proto_helo
        type: int
      - name: expire_time
        type: time_t
      - name: reuse_count
        type: int
      - name: forbidden
        type: int
      - name: '*state'
        type: SMTP_STATE
      item_type: struct
      name: SMTP_SESSION
      pos:
        line_end: 420
        line_start: 377
        source_file: /src/postfix/postfix/src/smtp/smtp.h
    - fields:
      - name: code
        type: int
      - name: '*dsn'
        type: char
      - name: '*str'
        type: char
      - name: '*dsn_buf'
        type: VSTRING
      - name: '*str_buf'
        type: VSTRING
      item_type: struct
      name: SMTP_RESP
      pos:
        line_end: 578
        line_start: 572
        source_file: /src/postfix/postfix/src/smtp/smtp.h
    - fields:
      - name: flags
        type: int
      item_type: struct
      name: SMTP_CLI_ATTR
      pos:
        line_end: 773
        line_start: 771
        source_file: /src/postfix/postfix/src/smtp/smtp.h
    typedefs: []
    union: []
- function_names:
  - smtp_tls_list_init
  - policy_name
  - MARK_INVALID
  - tls_site_lookup
  - tls_policy_lookup_one
  - INVALID_RETURN
  - tls_policy_lookup
  - load_tas
  - set_cipher_grade
  - ADD_EXCLUDE
  - policy_create
  - policy_delete
  - smtp_tls_policy_cache_query
  - smtp_tls_policy_cache_flush
  - global_tls_level
  - dane_incompat
  - dane_init
  source_file: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CACHE_SIZE
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
      type_or_value: '20'
    - item_type: preproc_def
      name: FREE_RETURN
      pos:
        line_end: 243
        line_start: 236
        source_file: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
      type_or_value: "do { \\\n\tif (saved_policy) \\\n\t    myfree(saved_policy);
        \\\n\tif (free_me) \\\n\t    myfree(free_me); \\\n\treturn; \\\n    } while
        (0)"
    - item_type: preproc_def
      name: WHERE
      pos:
        line_end: 250
        line_start: 247
        source_file: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
      type_or_value: "STR(vstring_sprintf(cbuf, \"%s, %s \\\"%s\\\"\", \\\n\t\ttls_policy->title,
        site_class, site_name))"
    - item_type: preproc_def
      name: EXTPAR_OPT
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
      type_or_value: (EXTPAR_FLAG_STRIP | EXTPAR_FLAG_NORMAL_WS)
    - item_type: preproc_def
      name: DONT_SUPPRESS_CERT_MATCH
      pos:
        line_end: 746
        line_start: 745
        source_file: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
      type_or_value: '0'
    - item_type: preproc_def
      name: NONDANE_CONFIG
      pos:
        line_end: 928
        line_start: 927
        source_file: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: NONDANE_DEST
      pos:
        line_end: 929
        line_start: 928
        source_file: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: DANE_CANTAUTH
      pos:
        line_end: 930
        line_start: 929
        source_file: /src/postfix/postfix/src/smtp/smtp_tls_policy.c
      type_or_value: "2\t\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtp_unalias_name
  - smtp_unalias_addr
  - main
  source_file: /src/postfix/postfix/src/smtp/smtp_unalias.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtp_check_code
  - smtp_bulk_fail
  - smtp_sess_fail
  - vsmtp_fill_dsn
  - smtp_misc_fail
  - smtp_rcpt_fail
  - smtp_stream_except
  source_file: /src/postfix/postfix/src/smtp/smtp_trouble.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtp_rcpt_done
  - smtp_rcpt_cleanup_callback
  - smtp_rcpt_cleanup
  source_file: /src/postfix/postfix/src/smtp/smtp_rcpt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtp_print_addr
  - smtp_addr_one
  - RETRY_AI_ERROR
  - DSN_NOHOST
  - DSN_NOHOST
  - smtp_addr_list
  - smtp_find_self
  - smtp_truncate_self
  - smtp_balance_inet_proto
  - smtp_domain_addr
  - SMTP_COMPARE_ADDR
  - smtp_host_addr
  - smtp_service_addr
  source_file: /src/postfix/postfix/src/smtp/smtp_addr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IMPOSSIBLE_PREFERENCE
      pos:
        line_end: 547
        line_start: 546
        source_file: /src/postfix/postfix/src/smtp/smtp_addr.c
      type_or_value: (~0)
    - item_type: preproc_def
      name: PREF0
      pos:
        line_end: 722
        line_start: 721
        source_file: /src/postfix/postfix/src/smtp/smtp_addr.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtp_sasl_auth_cache_init
  - HAS_MULTIPLE_VALUES
  - smtp_sasl_auth_cache_make_key
  - smtp_sasl_auth_cache_make_pass
  - smtp_sasl_auth_cache_make_value
  - smtp_sasl_auth_cache_valid_value
  - smtp_sasl_auth_cache_find
  - smtp_sasl_auth_cache_store
  source_file: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CACHE_DICT_OPEN_FLAGS
      pos:
        line_end: 134
        line_start: 132
        source_file: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c
      type_or_value: (DICT_FLAG_DUP_REPLACE | DICT_FLAG_SYNC_UPDATE | DICT_FLAG_UTF8_REQUEST)
    - item_type: preproc_def
      name: PROXY_COLON
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c
      type_or_value: DICT_TYPE_PROXY ":"
    - item_type: preproc_def
      name: PROXY_COLON_LEN
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.c
      type_or_value: (sizeof(PROXY_COLON) - 1)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/smtp/smtp_addr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtp_tlsrpt_post_jail
  - smtp_tlsrpt_find_policy
  - smtp_tlsrpt_create_wrapper
  - smtp_tlsrpt_set_no_policy
  - smtp_tlsrpt_set_dane_policy
  - smtp_tlsrpt_set_ext_policy
  - smtp_tlsrpt_set_tls_policy
  - smtp_tlsrpt_set_tcp_connection
  - smtp_tlsrpt_set_ehlo_resp
  source_file: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TLSRPTv1_MAGIC
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c
      type_or_value: '"v=TLSRPTv1"'
    - item_type: preproc_def
      name: TLSRPTv1_MAGIC_LEN
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c
      type_or_value: (sizeof(TLSRPTv1_MAGIC) - 1)
    - item_type: preproc_def
      name: RFC5234_WSP
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/postfix/postfix/src/smtp/smtp_tlsrpt.c
      type_or_value: '" \t"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtp_session_alloc
  - smtp_session_free
  - smtp_session_passivate
  - smtp_session_activate
  - TLS_PROXY_CONTEXT_FREE
  - SMTP_SESSION_ACTIVATE_ERR_RETURN
  source_file: /src/postfix/postfix/src/smtp/smtp_session.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SESS_ATTR_DEST
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/postfix/postfix/src/smtp/smtp_session.c
      type_or_value: '"destination"'
    - item_type: preproc_def
      name: SESS_ATTR_HOST
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/postfix/postfix/src/smtp/smtp_session.c
      type_or_value: '"host_name"'
    - item_type: preproc_def
      name: SESS_ATTR_ADDR
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/postfix/postfix/src/smtp/smtp_session.c
      type_or_value: '"host_addr"'
    - item_type: preproc_def
      name: SESS_ATTR_PORT
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/postfix/postfix/src/smtp/smtp_session.c
      type_or_value: '"host_port"'
    - item_type: preproc_def
      name: SESS_ATTR_DEST_FEATURES
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/postfix/postfix/src/smtp/smtp_session.c
      type_or_value: '"destination_features"'
    - item_type: preproc_def
      name: SESS_ATTR_TLS_LEVEL
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/postfix/postfix/src/smtp/smtp_session.c
      type_or_value: '"tls_level"'
    - item_type: preproc_def
      name: SESS_ATTR_REUSE_COUNT
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/postfix/postfix/src/smtp/smtp_session.c
      type_or_value: '"reuse_count"'
    - item_type: preproc_def
      name: SESS_ATTR_ENDP_FEATURES
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/postfix/postfix/src/smtp/smtp_session.c
      type_or_value: '"endpoint_features"'
    - item_type: preproc_def
      name: SESS_ATTR_EXPIRE_TIME
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/postfix/postfix/src/smtp/smtp_session.c
      type_or_value: '"expire_time"'
    - item_type: preproc_def
      name: NO_FLAGS
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/postfix/postfix/src/smtp/smtp_session.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtp_sasl_auth_cache_dsn
  - smtp_sasl_auth_cache_text
  source_file: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*dict'
        type: DICT
      - name: ttl
        type: int
      - name: '*dsn'
        type: char
      - name: '*text'
        type: char
      item_type: struct
      name: SMTP_SASL_AUTH_CACHE
      pos:
        line_end: 33
        line_start: 28
        source_file: /src/postfix/postfix/src/smtp/smtp_sasl_auth_cache.h
    typedefs: []
    union: []
- function_names:
  - smtp_key_append_na
  - smtp_key_append_str
  - smtp_key_append_uint
  - smtp_key_prefix
  source_file: /src/postfix/postfix/src/smtp/smtp_key.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postfix/postfix/src/smtp/smtp_params.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
